cc-devflow 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (277) hide show
  1. package/.claude/CLAUDE.md +83 -0
  2. package/.claude/agents/architecture-designer.md +443 -0
  3. package/.claude/agents/bug-analyzer.md +382 -0
  4. package/.claude/agents/checklist-agent.md +175 -0
  5. package/.claude/agents/clarify-analyst.md +50 -0
  6. package/.claude/agents/code-reviewer.md +71 -0
  7. package/.claude/agents/codex-analyzer.md +39 -0
  8. package/.claude/agents/compatibility-checker.md +580 -0
  9. package/.claude/agents/consistency-checker.md +532 -0
  10. package/.claude/agents/impact-analyzer.md +441 -0
  11. package/.claude/agents/planner.md +230 -0
  12. package/.claude/agents/prd-writer.md +320 -0
  13. package/.claude/agents/project-guidelines-generator.md +1329 -0
  14. package/.claude/agents/qa-tester.md +313 -0
  15. package/.claude/agents/release-manager.md +295 -0
  16. package/.claude/agents/security-reviewer.md +314 -0
  17. package/.claude/agents/style-guide-generator.md +458 -0
  18. package/.claude/agents/tech-architect.md +516 -0
  19. package/.claude/agents/ui-designer.md +485 -0
  20. package/.claude/commands/code-review-high.md +58 -0
  21. package/.claude/commands/core-architecture.md +429 -0
  22. package/.claude/commands/core-guidelines.md +486 -0
  23. package/.claude/commands/core-roadmap.md +439 -0
  24. package/.claude/commands/core-style.md +293 -0
  25. package/.claude/commands/flow-archive.md +245 -0
  26. package/.claude/commands/flow-checklist.md +260 -0
  27. package/.claude/commands/flow-clarify.md +136 -0
  28. package/.claude/commands/flow-constitution.md +82 -0
  29. package/.claude/commands/flow-dev.md +134 -0
  30. package/.claude/commands/flow-epic.md +150 -0
  31. package/.claude/commands/flow-fix.md +104 -0
  32. package/.claude/commands/flow-ideate.md +214 -0
  33. package/.claude/commands/flow-init.md +313 -0
  34. package/.claude/commands/flow-new.md +394 -0
  35. package/.claude/commands/flow-prd.md +131 -0
  36. package/.claude/commands/flow-qa.md +93 -0
  37. package/.claude/commands/flow-release.md +92 -0
  38. package/.claude/commands/flow-restart.md +98 -0
  39. package/.claude/commands/flow-status.md +64 -0
  40. package/.claude/commands/flow-tech.md +142 -0
  41. package/.claude/commands/flow-ui.md +189 -0
  42. package/.claude/commands/flow-update.md +111 -0
  43. package/.claude/commands/flow-upgrade.md +115 -0
  44. package/.claude/commands/flow-verify.md +96 -0
  45. package/.claude/commands/problem-analyzer.md +60 -0
  46. package/.claude/config/quality-rules.yml +161 -0
  47. package/.claude/docs/SPEC_KIT_CONSTITUTION_ANALYSIS.md +426 -0
  48. package/.claude/docs/design/consistency-conflict-detection-algorithms.md +658 -0
  49. package/.claude/docs/design/intent-driven-input-design.md +380 -0
  50. package/.claude/docs/design/prd-version-management-design.md +437 -0
  51. package/.claude/docs/guides/INIT_TROUBLESHOOTING.md +117 -0
  52. package/.claude/docs/guides/NEW_TROUBLESHOOTING.md +151 -0
  53. package/.claude/docs/guides/ROADMAP_TROUBLESHOOTING.md +188 -0
  54. package/.claude/docs/guides/TASK_COMPLETION_MARKING.md +338 -0
  55. package/.claude/docs/templates/ARCHITECTURE_TEMPLATE.md +633 -0
  56. package/.claude/docs/templates/BACKLOG_TEMPLATE.md +261 -0
  57. package/.claude/docs/templates/CHECKLIST_TEMPLATE.md +52 -0
  58. package/.claude/docs/templates/CLARIFICATION_REPORT_TEMPLATE.md +206 -0
  59. package/.claude/docs/templates/CODE_REVIEW_TEMPLATE.md +71 -0
  60. package/.claude/docs/templates/EPIC_TEMPLATE.md +805 -0
  61. package/.claude/docs/templates/INIT_FLOW_TEMPLATE.md +213 -0
  62. package/.claude/docs/templates/INTENT_CLARIFICATION_TEMPLATE.md +57 -0
  63. package/.claude/docs/templates/NEW_ORCHESTRATION_TEMPLATE.md +148 -0
  64. package/.claude/docs/templates/PRD_TEMPLATE.md +562 -0
  65. package/.claude/docs/templates/RESEARCH_TEMPLATE.md +276 -0
  66. package/.claude/docs/templates/REVIEW-HIGH.md +57 -0
  67. package/.claude/docs/templates/ROADMAP_DIALOGUE_TEMPLATE.md +198 -0
  68. package/.claude/docs/templates/ROADMAP_TEMPLATE.md +310 -0
  69. package/.claude/docs/templates/STYLE_TEMPLATE.md +1266 -0
  70. package/.claude/docs/templates/TASKS_TEMPLATE.md +523 -0
  71. package/.claude/docs/templates/TECH_DESIGN_TEMPLATE.md +1019 -0
  72. package/.claude/docs/templates/UI_PROTOTYPE_TEMPLATE.md +1436 -0
  73. package/.claude/guides/agent-guides/agent-coordination-guide.md +459 -0
  74. package/.claude/guides/project-guidelines-system.md +463 -0
  75. package/.claude/guides/technical-guides/datetime-handling-guide.md +563 -0
  76. package/.claude/guides/technical-guides/git-github-guide.md +642 -0
  77. package/.claude/guides/technical-guides/test-execution-guide.md +618 -0
  78. package/.claude/guides/workflow-guides/bug-fix-orchestrator.md +217 -0
  79. package/.claude/guides/workflow-guides/flow-orchestrator.md +282 -0
  80. package/.claude/hooks/checklist-gate.js +397 -0
  81. package/.claude/hooks/error-handling-reminder.sh +12 -0
  82. package/.claude/hooks/error-handling-reminder.ts +459 -0
  83. package/.claude/hooks/post-tool-use-tracker.sh +280 -0
  84. package/.claude/hooks/pre-tool-use-guardrail.sh +36 -0
  85. package/.claude/hooks/pre-tool-use-guardrail.ts +342 -0
  86. package/.claude/hooks/skill-activation-prompt.sh +36 -0
  87. package/.claude/hooks/skill-activation-prompt.ts +214 -0
  88. package/.claude/hooks/state/skills-used-test-guard.json +3 -0
  89. package/.claude/rules/devflow-conventions.md +305 -0
  90. package/.claude/rules/project-constitution.md +748 -0
  91. package/.claude/schemas/constitution.schema.json +43 -0
  92. package/.claude/scripts/analyze-upgrade-impact.sh +200 -0
  93. package/.claude/scripts/archive-requirement.sh +351 -0
  94. package/.claude/scripts/calculate-checklist-completion.sh +243 -0
  95. package/.claude/scripts/calculate-quarter.sh +206 -0
  96. package/.claude/scripts/check-dependencies.sh +409 -0
  97. package/.claude/scripts/check-prerequisites.sh +232 -0
  98. package/.claude/scripts/check-task-status.sh +264 -0
  99. package/.claude/scripts/checklist-errors.sh +131 -0
  100. package/.claude/scripts/common.sh +570 -0
  101. package/.claude/scripts/consolidate-research.sh +182 -0
  102. package/.claude/scripts/create-requirement.sh +426 -0
  103. package/.claude/scripts/export-contracts.sh +117 -0
  104. package/.claude/scripts/extract-data-model.sh +78 -0
  105. package/.claude/scripts/generate-clarification-questions.sh +377 -0
  106. package/.claude/scripts/generate-clarification-report.sh +463 -0
  107. package/.claude/scripts/generate-quickstart.sh +146 -0
  108. package/.claude/scripts/generate-research-tasks.sh +157 -0
  109. package/.claude/scripts/generate-status-report.sh +523 -0
  110. package/.claude/scripts/generate-tech-analysis.sh +46 -0
  111. package/.claude/scripts/locate-requirement-in-roadmap.sh +233 -0
  112. package/.claude/scripts/manage-constitution.sh +602 -0
  113. package/.claude/scripts/mark-task-complete.sh +198 -0
  114. package/.claude/scripts/populate-research-tasks.sh +259 -0
  115. package/.claude/scripts/recover-workflow.sh +460 -0
  116. package/.claude/scripts/run-clarify-scan.sh +601 -0
  117. package/.claude/scripts/run-high-review.sh +62 -0
  118. package/.claude/scripts/run-problem-analysis.sh +68 -0
  119. package/.claude/scripts/setup-epic.sh +173 -0
  120. package/.claude/scripts/sync-roadmap-progress.sh +300 -0
  121. package/.claude/scripts/sync-task-marks.sh +199 -0
  122. package/.claude/scripts/test-clarify-scan.sh +515 -0
  123. package/.claude/scripts/update-agent-context.sh +806 -0
  124. package/.claude/scripts/validate-constitution.sh +567 -0
  125. package/.claude/scripts/validate-hooks.sh +487 -0
  126. package/.claude/scripts/validate-research.sh +332 -0
  127. package/.claude/scripts/validate-scope-boundary.sh +493 -0
  128. package/.claude/scripts/verify-setup.sh +37 -0
  129. package/.claude/settings.json +76 -0
  130. package/.claude/skills/_reference-implementations/README.md +96 -0
  131. package/.claude/skills/_reference-implementations/backend-express-prisma/SKILL.md +302 -0
  132. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/architecture-overview.md +451 -0
  133. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/async-and-errors.md +307 -0
  134. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/complete-examples.md +638 -0
  135. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/configuration.md +275 -0
  136. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/database-patterns.md +224 -0
  137. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/middleware-guide.md +213 -0
  138. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/routing-and-controllers.md +756 -0
  139. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/sentry-and-monitoring.md +336 -0
  140. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/services-and-repositories.md +789 -0
  141. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/testing-guide.md +235 -0
  142. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/validation-patterns.md +754 -0
  143. package/.claude/skills/_reference-implementations/frontend-react-mui/SKILL.md +399 -0
  144. package/.claude/skills/_reference-implementations/frontend-react-mui/resources/common-patterns.md +331 -0
  145. package/.claude/skills/_reference-implementations/frontend-react-mui/resources/complete-examples.md +872 -0
  146. package/.claude/skills/_reference-implementations/frontend-react-mui/resources/component-patterns.md +502 -0
  147. package/.claude/skills/_reference-implementations/frontend-react-mui/resources/data-fetching.md +767 -0
  148. package/.claude/skills/_reference-implementations/frontend-react-mui/resources/file-organization.md +502 -0
  149. package/.claude/skills/_reference-implementations/frontend-react-mui/resources/loading-and-error-states.md +501 -0
  150. package/.claude/skills/_reference-implementations/frontend-react-mui/resources/performance.md +406 -0
  151. package/.claude/skills/_reference-implementations/frontend-react-mui/resources/routing-guide.md +364 -0
  152. package/.claude/skills/_reference-implementations/frontend-react-mui/resources/styling-guide.md +428 -0
  153. package/.claude/skills/_reference-implementations/frontend-react-mui/resources/typescript-standards.md +418 -0
  154. package/.claude/skills/cc-devflow-orchestrator/SKILL.md +229 -0
  155. package/.claude/skills/constitution-guardian/SKILL.md +306 -0
  156. package/.claude/skills/devflow-constitution-quick-ref/SKILL.md +374 -0
  157. package/.claude/skills/devflow-file-standards/SKILL.md +353 -0
  158. package/.claude/skills/devflow-tdd-enforcer/SKILL.md +192 -0
  159. package/.claude/skills/skill-developer/ADVANCED.md +197 -0
  160. package/.claude/skills/skill-developer/HOOK_MECHANISMS.md +306 -0
  161. package/.claude/skills/skill-developer/PATTERNS_LIBRARY.md +152 -0
  162. package/.claude/skills/skill-developer/SKILL.md +426 -0
  163. package/.claude/skills/skill-developer/SKILL_RULES_REFERENCE.md +315 -0
  164. package/.claude/skills/skill-developer/TRIGGER_TYPES.md +305 -0
  165. package/.claude/skills/skill-developer/TROUBLESHOOTING.md +514 -0
  166. package/.claude/skills/skill-rules.json +213 -0
  167. package/.claude/tests/README.md +300 -0
  168. package/.claude/tests/TODO.md +69 -0
  169. package/.claude/tests/__pycache__/test_analyze_upgrade_impact.cpython-311-pytest-7.2.2.pyc +0 -0
  170. package/.claude/tests/__pycache__/test_consolidate_research.cpython-311-pytest-7.2.2.pyc +0 -0
  171. package/.claude/tests/__pycache__/test_export_contracts.cpython-311-pytest-7.2.2.pyc +0 -0
  172. package/.claude/tests/__pycache__/test_extract_data_model.cpython-311-pytest-7.2.2.pyc +0 -0
  173. package/.claude/tests/__pycache__/test_generate_quickstart.cpython-311-pytest-7.2.2.pyc +0 -0
  174. package/.claude/tests/__pycache__/test_generate_research_tasks.cpython-311-pytest-7.2.2.pyc +0 -0
  175. package/.claude/tests/constitution/run_all_constitution_tests.sh +111 -0
  176. package/.claude/tests/constitution/test_agent_assignment.sh +207 -0
  177. package/.claude/tests/constitution/test_article_coverage.sh +201 -0
  178. package/.claude/tests/constitution/test_template_completeness.sh +150 -0
  179. package/.claude/tests/constitution/test_version_consistency.sh +120 -0
  180. package/.claude/tests/fixtures/spec_delta_full.md +16 -0
  181. package/.claude/tests/fixtures/tasks_progress_sample.md +5 -0
  182. package/.claude/tests/run-all-tests.sh +229 -0
  183. package/.claude/tests/scripts/run.sh +30 -0
  184. package/.claude/tests/scripts/test-framework.sh +128 -0
  185. package/.claude/tests/scripts/test_check_prerequisites.sh +511 -0
  186. package/.claude/tests/scripts/test_check_prerequisites.sh.bak +504 -0
  187. package/.claude/tests/scripts/test_check_prerequisites.sh.bak2 +505 -0
  188. package/.claude/tests/scripts/test_check_prerequisites.sh.bak3 +506 -0
  189. package/.claude/tests/scripts/test_check_prerequisites.sh.bak4 +507 -0
  190. package/.claude/tests/scripts/test_check_prerequisites.sh.bak5 +508 -0
  191. package/.claude/tests/scripts/test_check_task_status.sh +499 -0
  192. package/.claude/tests/scripts/test_common.sh +244 -0
  193. package/.claude/tests/scripts/test_generate_status_report.sh +71 -0
  194. package/.claude/tests/scripts/test_mark_task_complete.sh +441 -0
  195. package/.claude/tests/scripts/test_mark_task_complete.sh.backup +410 -0
  196. package/.claude/tests/scripts/test_recover_workflow.sh +304 -0
  197. package/.claude/tests/scripts/test_setup_epic.sh +437 -0
  198. package/.claude/tests/scripts/test_sync_task_marks.sh +196 -0
  199. package/.claude/tests/scripts/test_validate_constitution.sh +74 -0
  200. package/.claude/tests/scripts/test_validate_research.sh +462 -0
  201. package/.claude/tests/slugify.bats +82 -0
  202. package/.claude/tests/test-framework.sh +732 -0
  203. package/.claude/tests/test_analyze_upgrade_impact.py +34 -0
  204. package/.claude/tests/test_consolidate_research.py +48 -0
  205. package/.claude/tests/test_export_contracts.py +43 -0
  206. package/.claude/tests/test_extract_data_model.py +33 -0
  207. package/.claude/tests/test_generate_quickstart.py +50 -0
  208. package/.claude/tests/test_generate_research_tasks.py +52 -0
  209. package/.claude/tsc-cache/6e64f818-6398-49ca-8623-581a9af85c44/edited-files.log +1 -0
  210. package/.claude/tsc-cache/795ba6e3-b98a-423b-bab2-51aa62812569/affected-repos.txt +1 -0
  211. package/.claude/tsc-cache/795ba6e3-b98a-423b-bab2-51aa62812569/edited-files.log +1 -0
  212. package/.claude/tsc-cache/ae335694-be5a-4ba4-a1a0-b676c09a7906/affected-repos.txt +1 -0
  213. package/.claude/tsc-cache/ae335694-be5a-4ba4-a1a0-b676c09a7906/edited-files.log +1 -0
  214. package/CHANGELOG.md +507 -0
  215. package/LICENSE +21 -0
  216. package/README.md +534 -0
  217. package/README.zh-CN.md +530 -0
  218. package/bin/adapt.js +240 -0
  219. package/bin/cc-devflow-cli.js +185 -0
  220. package/bin/cc-devflow.js +78 -0
  221. package/config/adapters.yml +5 -0
  222. package/config/schema/adapters.schema.json +44 -0
  223. package/docs/CLAUDE.md +26 -0
  224. package/docs/commands/README.md +61 -0
  225. package/docs/commands/README.zh-CN.md +55 -0
  226. package/docs/commands/core-roadmap.md +106 -0
  227. package/docs/commands/core-roadmap.zh-CN.md +102 -0
  228. package/docs/commands/core-style.md +405 -0
  229. package/docs/commands/core-style.zh-CN.md +405 -0
  230. package/docs/commands/flow-init.md +134 -0
  231. package/docs/commands/flow-init.zh-CN.md +163 -0
  232. package/docs/commands/flow-new.md +274 -0
  233. package/docs/commands/flow-new.zh-CN.md +270 -0
  234. package/docs/guides/getting-started.md +204 -0
  235. package/docs/guides/getting-started.zh-CN.md +152 -0
  236. package/lib/adapters/adapter-interface.js +57 -0
  237. package/lib/adapters/claude-adapter.js +74 -0
  238. package/lib/adapters/codex-adapter.js +40 -0
  239. package/lib/adapters/config-validator.js +68 -0
  240. package/lib/adapters/logger.js +42 -0
  241. package/lib/adapters/registry.js +153 -0
  242. package/lib/compiler/CLAUDE.md +92 -0
  243. package/lib/compiler/__tests__/drift.test.js +215 -0
  244. package/lib/compiler/__tests__/errors.test.js +184 -0
  245. package/lib/compiler/__tests__/incremental.test.js +174 -0
  246. package/lib/compiler/__tests__/integration.test.js +174 -0
  247. package/lib/compiler/__tests__/manifest.test.js +233 -0
  248. package/lib/compiler/__tests__/parser.test.js +456 -0
  249. package/lib/compiler/__tests__/schemas.test.js +301 -0
  250. package/lib/compiler/__tests__/skills-registry.test.js +125 -0
  251. package/lib/compiler/__tests__/transformer.test.js +286 -0
  252. package/lib/compiler/emitters/antigravity-emitter.js +171 -0
  253. package/lib/compiler/emitters/base-emitter.js +73 -0
  254. package/lib/compiler/emitters/codex-emitter.js +52 -0
  255. package/lib/compiler/emitters/cursor-emitter.js +31 -0
  256. package/lib/compiler/emitters/index.js +50 -0
  257. package/lib/compiler/emitters/qwen-emitter.js +39 -0
  258. package/lib/compiler/errors.js +119 -0
  259. package/lib/compiler/index.js +256 -0
  260. package/lib/compiler/manifest.js +242 -0
  261. package/lib/compiler/parser.js +258 -0
  262. package/lib/compiler/platforms.js +113 -0
  263. package/lib/compiler/resource-copier.js +320 -0
  264. package/lib/compiler/rules-emitters/__tests__/antigravity-rules-emitter.test.js +191 -0
  265. package/lib/compiler/rules-emitters/__tests__/codex-rules-emitter.test.js +109 -0
  266. package/lib/compiler/rules-emitters/__tests__/cursor-rules-emitter.test.js +123 -0
  267. package/lib/compiler/rules-emitters/__tests__/qwen-rules-emitter.test.js +123 -0
  268. package/lib/compiler/rules-emitters/antigravity-rules-emitter.js +253 -0
  269. package/lib/compiler/rules-emitters/base-rules-emitter.js +83 -0
  270. package/lib/compiler/rules-emitters/codex-rules-emitter.js +116 -0
  271. package/lib/compiler/rules-emitters/cursor-rules-emitter.js +98 -0
  272. package/lib/compiler/rules-emitters/index.js +71 -0
  273. package/lib/compiler/rules-emitters/qwen-rules-emitter.js +70 -0
  274. package/lib/compiler/schemas.js +144 -0
  275. package/lib/compiler/skills-registry.js +225 -0
  276. package/lib/compiler/transformer.js +236 -0
  277. package/package.json +50 -0
@@ -0,0 +1,429 @@
1
+ ---
2
+ name: core-architecture
3
+ description: 'Generate or update ARCHITECTURE.md with 4 architecture diagrams. Usage: /core-architecture'
4
+ scripts:
5
+ sync_progress: .claude/scripts/sync-roadmap-progress.sh
6
+ ---
7
+
8
+ # Flow-Architecture - 架构文档生成命令
9
+
10
+ ## 命令格式
11
+ ```text
12
+ /core-architecture # Generate or update architecture documentation
13
+ /core-architecture --force # Force regenerate even if ARCHITECTURE.md exists
14
+ ```
15
+
16
+ ## 核心原则
17
+
18
+ **这是一个简化的命令,专注于架构文档生成。**
19
+ **适用场景**: ROADMAP.md 已存在,需要生成或更新架构图。
20
+
21
+ ### 架构模式
22
+ ```
23
+ 用户
24
+
25
+ core-architecture (minimal interaction)
26
+
27
+ architecture-designer (research, no dialogue)
28
+
29
+ ARCHITECTURE.md (4 diagrams)
30
+ ```
31
+
32
+ ## 执行流程
33
+
34
+ ### Phase 1: Prerequisites Check
35
+
36
+ **目标**: 确保有足够的上下文生成架构文档
37
+
38
+ ```
39
+ 1. 检查 devflow/ROADMAP.md 是否存在
40
+ → 不存在:
41
+ ERROR: "ROADMAP.md not found at: devflow/ROADMAP.md"
42
+ ""
43
+ "Architecture generation requires a roadmap first."
44
+ "Please run /core-roadmap to create a roadmap."
45
+ ""
46
+ EXIT
47
+
48
+ → 存在:
49
+ ✓ 继续
50
+
51
+ 2. 检查 devflow/ARCHITECTURE.md 是否存在
52
+ → 存在且未使用 --force:
53
+ PROMPT: "ARCHITECTURE.md already exists."
54
+ "Do you want to regenerate it? (yes/no)"
55
+ "This will overwrite the existing file."
56
+ ""
57
+ 用户输入 'no' → EXIT
58
+ 用户输入 'yes' → 继续
59
+
60
+ → 不存在或使用 --force:
61
+ ✓ 继续
62
+
63
+ 3. 扫描项目结构
64
+ → 检查 devflow/requirements/ 目录
65
+ → 至少有 1 个需求目录推荐(不强制)
66
+ → 如果没有: WARN "No requirements found. Architecture will be basic."
67
+
68
+ 4. 检查 devflow/project.md
69
+ → 存在: ✓ 将用于提取项目信息
70
+ → 不存在: WARN "project.md not found. Will infer from requirements."
71
+ ```
72
+
73
+ ### Phase 2: Context Summary
74
+
75
+ **目标**: 向用户展示将要使用的上下文
76
+
77
+ ```
78
+ 展示上下文摘要:
79
+
80
+ "==================================================================="
81
+ "Architecture Documentation Generation"
82
+ "==================================================================="
83
+ ""
84
+ "📊 Context Analysis:"
85
+ ""
86
+ "✓ ROADMAP.md found"
87
+ " - Roadmap Items: {rm_count} (RM-IDs)"
88
+ " - Milestones: {milestone_count}"
89
+ " - Dependencies: {dependency_count}"
90
+ ""
91
+ If project.md exists:
92
+ "✓ project.md found"
93
+ " - Project: {project_name}"
94
+ " - Tech Stack: {tech_stack_summary}"
95
+ Else:
96
+ "⚠ project.md not found (will infer from requirements)"
97
+ ""
98
+ If requirements exist:
99
+ "✓ Requirements found: {req_count}"
100
+ " - Completed: {completed_count}"
101
+ " - In Progress: {in_progress_count}"
102
+ " - Planned: {planned_count}"
103
+ Else:
104
+ "⚠ No requirements found"
105
+ ""
106
+ "📐 Diagrams to Generate:"
107
+ " 1. Feature Architecture (功能架构图)"
108
+ " 2. Technical Architecture (技术架构图)"
109
+ " 3. Module Structure (模块划分图)"
110
+ " 4. Requirement Dependency (需求依赖图)"
111
+ ""
112
+ "Ready to generate? (yes/no)"
113
+
114
+ 用户输入 'yes' → Phase 3
115
+ 用户输入 'no' → EXIT
116
+ ```
117
+
118
+ ### Phase 3: Call architecture-designer Agent
119
+
120
+ **目标**: 调用 Agent 生成架构文档
121
+
122
+ ```
123
+ 🤖 Agent 调用:
124
+
125
+ 1. 提示:
126
+ "Generating architecture documentation..."
127
+ ""
128
+ "This may take a moment as we analyze:"
129
+ " - ROADMAP.md content"
130
+ " - Requirements and tech designs"
131
+ " - Codebase structure"
132
+ ""
133
+
134
+ 2. 使用 Task tool 调用 architecture-designer:
135
+ description: "Generate ARCHITECTURE.md with 4 diagrams"
136
+ subagent_type: "architecture-designer"
137
+ model: "sonnet" (或 inherit)
138
+ prompt: "生成完整的项目架构文档。
139
+
140
+ 数据源:
141
+ - devflow/ROADMAP.md (必须)
142
+ - devflow/requirements/REQ-*/TECH_DESIGN.md (如果存在)
143
+ - devflow/project.md (如果存在)
144
+ - src/, .claude/, devflow/ 目录结构
145
+
146
+ 请按照 .claude/docs/templates/ARCHITECTURE_TEMPLATE.md 的 Execution Flow 执行。
147
+
148
+ 生成完整的 devflow/ARCHITECTURE.md 文件,包含:
149
+ 1. Feature Architecture (功能架构图) - 基于 ROADMAP.md 的 RM-IDs
150
+ 2. Technical Architecture (技术架构图) - 基于技术栈分析
151
+ 3. Module Structure (模块划分图) - 基于实际目录结构
152
+ 4. Requirement Dependency (需求依赖图) - 基于依赖关系
153
+
154
+ 所有 Mermaid 图表必须语法正确,node IDs 不能包含空格或破折号。
155
+
156
+ 至少提供 1 条 Architecture Decision Record (ADR)。"
157
+
158
+ 3. 等待 Agent 完成
159
+ → 显示进度提示 (可选):
160
+ "Analyzing project structure..."
161
+ "Extracting tech stack..."
162
+ "Generating diagrams..."
163
+ "Validating Mermaid syntax..."
164
+
165
+ 4. Agent 返回后,检查结果
166
+ ```
167
+
168
+ ### Phase 4: Validation
169
+
170
+ **目标**: 验证生成的架构文档质量
171
+
172
+ ```
173
+ 📋 文件验证:
174
+
175
+ 1. 检查文件存在
176
+ → devflow/ARCHITECTURE.md 必须存在
177
+ → 否则: ERROR "Architecture file was not generated"
178
+
179
+ 2. 检查文件大小
180
+ → 文件大小 > 1000 bytes (合理的最小值)
181
+ → 否则: WARN "Generated file seems too small, may be incomplete"
182
+
183
+ 3. 检查占位符
184
+ → 搜索 {{PLACEHOLDER}} 或 {{...}}
185
+ → 如果找到: ERROR "Generated file contains placeholders: {list}"
186
+
187
+ 4. 检查 Mermaid 图表
188
+ → 搜索 ```mermaid 代码块
189
+ → 应该有 4 个 Mermaid 代码块
190
+ → 如果少于 4: WARN "Expected 4 diagrams, found {count}"
191
+
192
+ 5. 基本语法检查 (可选,简单验证)
193
+ → 检查每个 Mermaid 块:
194
+ • 是否包含 graph 或 flowchart 声明
195
+ • 是否有明显的语法错误 (未闭合括号等)
196
+ → 如果发现问题: WARN "Potential syntax issues in diagrams"
197
+
198
+ 验证通过 → Phase 5
199
+ 验证失败 → 显示错误并建议手动检查
200
+ ```
201
+
202
+ ### Phase 5: Success Report
203
+
204
+ **目标**: 向用户报告成功并提供后续步骤
205
+
206
+ ```
207
+ 🎉 成功报告:
208
+
209
+ "==================================================================="
210
+ "Architecture Documentation Generated Successfully!"
211
+ "==================================================================="
212
+ ""
213
+ "📁 Output File:"
214
+ " ✓ devflow/ARCHITECTURE.md ({file_size} bytes)"
215
+ ""
216
+ "📐 Diagrams Generated:"
217
+ " ✓ 1. Feature Architecture (功能架构图)"
218
+ " - Core modules: {core_count}"
219
+ " - Business modules: {business_count}"
220
+ " - Support modules: {support_count}"
221
+ ""
222
+ " ✓ 2. Technical Architecture (技术架构图)"
223
+ " - Layers: {layer_count}"
224
+ " - Technologies: {tech_count}"
225
+ ""
226
+ " ✓ 3. Module Structure (模块划分图)"
227
+ " - Directories: {dir_count}"
228
+ " - Key modules: {module_list}"
229
+ ""
230
+ " ✓ 4. Requirement Dependency (需求依赖图)"
231
+ " - Total nodes: {node_count}"
232
+ " - Completed REQs: {completed_count}"
233
+ " - Planned RMs: {planned_count}"
234
+ ""
235
+ "📊 Additional Content:"
236
+ " ✓ Architecture Decision Records: {adr_count}"
237
+ " ✓ Non-Functional Requirements: {nfr_sections}"
238
+ " ✓ Architecture Evolution Path: {evolution_phases}"
239
+ ""
240
+ "🎯 Next Steps:"
241
+ " 1. Open devflow/ARCHITECTURE.md in your editor"
242
+ " 2. Verify all Mermaid diagrams render correctly"
243
+ " 3. Review Architecture Decision Records (ADRs)"
244
+ " 4. Update ADRs when making architectural changes"
245
+ ""
246
+ "💡 Tips:"
247
+ " - Use a Markdown viewer with Mermaid support to preview diagrams"
248
+ " - Regenerate architecture when:"
249
+ " • New requirements are added to roadmap"
250
+ " • Major tech stack changes occur"
251
+ " • Module structure changes significantly"
252
+ " - Keep ADRs up-to-date for team alignment"
253
+ ""
254
+ "To regenerate: /core-architecture --force"
255
+ ""
256
+ "==================================================================="
257
+ ```
258
+
259
+ ## 错误处理
260
+
261
+ ### 常见错误及处理
262
+
263
+ 1. **ROADMAP.md 不存在**:
264
+ ```
265
+ ERROR: "ROADMAP.md not found at: devflow/ROADMAP.md"
266
+ ""
267
+ "Architecture generation requires a roadmap first."
268
+ "Please run /core-roadmap to create a roadmap."
269
+ ""
270
+ "If you want to create a basic architecture without a roadmap,"
271
+ "consider creating a minimal ROADMAP.md manually or using /core-roadmap."
272
+ ```
273
+
274
+ 2. **Agent 调用失败**:
275
+ ```
276
+ ERROR: "Architecture generation failed: {error_message}"
277
+ ""
278
+ "Possible causes:"
279
+ " - Insufficient context (no requirements or tech designs)"
280
+ " - Invalid ROADMAP.md format"
281
+ " - File system permissions"
282
+ ""
283
+ "Please check the error message above and:"
284
+ " 1. Verify ROADMAP.md is valid"
285
+ " 2. Ensure at least 1 requirement exists (recommended)"
286
+ " 3. Check file permissions"
287
+ ""
288
+ "Retry with: /core-architecture --force"
289
+ ```
290
+
291
+ 3. **生成文件包含占位符**:
292
+ ```
293
+ ERROR: "Generated ARCHITECTURE.md contains placeholders"
294
+ ""
295
+ "Found: {list_of_placeholders}"
296
+ ""
297
+ "This indicates incomplete generation. Possible causes:"
298
+ " - Missing required context"
299
+ " - Agent execution error"
300
+ ""
301
+ "Please report this issue and include:"
302
+ " - Contents of devflow/ROADMAP.md"
303
+ " - Number of requirements in devflow/requirements/"
304
+ " - Whether project.md exists"
305
+ ```
306
+
307
+ 4. **Mermaid 语法错误** (如果能检测到):
308
+ ```
309
+ WARN: "Potential Mermaid syntax errors detected"
310
+ ""
311
+ "Diagram: {diagram_name}"
312
+ "Issue: {description}"
313
+ ""
314
+ "The file has been generated, but please manually review:"
315
+ " {line_number}: {problematic_line}"
316
+ ""
317
+ "Common fixes:"
318
+ " - Ensure node IDs have no spaces (use camelCase)"
319
+ " - Check all brackets are closed"
320
+ " - Verify arrow syntax (use --> not ->)"
321
+ ```
322
+
323
+ ## 与其他命令的集成
324
+
325
+ ### 在 /core-roadmap 中的调用
326
+ ```
327
+ /core-roadmap 在 Stage 7 会自动调用 architecture-designer
328
+ 无需单独运行 /core-architecture
329
+ ```
330
+
331
+ ### 在 /flow-init 中的使用
332
+ ```
333
+ /flow-init 可以读取 ARCHITECTURE.md 获取上下文:
334
+ - 查看需求在架构中的位置
335
+ - 了解相关模块和依赖
336
+ - 参考 ADR 做技术决策
337
+ ```
338
+
339
+ ### 手动更新架构
340
+ ```
341
+ When to run /core-architecture manually:
342
+ - ROADMAP.md 更新后
343
+ - 新增重要需求后
344
+ - 技术栈变化后
345
+ - 模块结构调整后
346
+ ```
347
+
348
+ ## 输出
349
+
350
+ ### 文件输出
351
+ - `devflow/ARCHITECTURE.md`: 完整架构文档(含 4 种架构图和 ADRs)
352
+
353
+ ### 不更新的文件
354
+ - `devflow/ROADMAP.md`: 不变
355
+ - `devflow/BACKLOG.md`: 不变
356
+ - 需求目录: 不变
357
+
358
+ ## 性能考虑
359
+
360
+ - **执行时间**: 通常 30-60 秒(取决于项目规模)
361
+ - **Agent 使用**: architecture-designer(研究型,sonnet 模型)
362
+ - **文件读取**: ROADMAP.md, project.md, TECH_DESIGN.md 文件, 目录结构
363
+ - **文件写入**: 仅 ARCHITECTURE.md
364
+
365
+ ## 高级功能
366
+
367
+ ### --force 模式
368
+ ```
369
+ /core-architecture --force
370
+
371
+ 行为:
372
+ - 跳过 "文件已存在" 确认
373
+ - 直接覆盖现有 ARCHITECTURE.md
374
+ - 适用于 CI/CD 或自动化场景
375
+ ```
376
+
377
+ ### 可能的未来扩展
378
+ ```
379
+ 1. --diagrams-only: 只更新图表部分,保留 ADRs
380
+ 2. --validate-only: 只验证现有 ARCHITECTURE.md,不生成
381
+ 3. --export-diagrams: 导出 Mermaid 图表为独立文件
382
+ ```
383
+
384
+ ## 使用场景
385
+
386
+ ### 场景 1: 首次生成架构文档
387
+ ```
388
+ 前提: 已完成 /core-roadmap
389
+ 操作: /core-architecture
390
+ 结果: 生成包含 4 种架构图的完整文档
391
+ ```
392
+
393
+ ### 场景 2: 更新现有架构文档
394
+ ```
395
+ 前提: ARCHITECTURE.md 已存在,ROADMAP 有更新
396
+ 操作: /core-architecture
397
+ 提示: 确认覆盖
398
+ 结果: 重新生成架构文档,反映最新状态
399
+ ```
400
+
401
+ ### 场景 3: 自动化/CI 场景
402
+ ```
403
+ 前提: 在 CI pipeline 中
404
+ 操作: /core-architecture --force
405
+ 结果: 无交互,直接生成/覆盖
406
+ ```
407
+
408
+ ## 最佳实践
409
+
410
+ 1. **何时生成架构文档**:
411
+ - 创建路线图后立即生成(/core-roadmap 会自动调用)
412
+ - 每个季度开始时更新
413
+ - 重大架构决策后更新
414
+
415
+ 2. **如何维护架构文档**:
416
+ - 保持 ADRs 更新
417
+ - 新增重要技术决策时补充 ADR
418
+ - 定期验证图表与实际代码一致性
419
+
420
+ 3. **如何审查架构文档**:
421
+ - 用 Markdown 预览器查看
422
+ - 确认 4 种图表都能正确渲染
423
+ - 检查依赖关系是否准确
424
+ - 验证技术栈描述与实际一致
425
+
426
+ 4. **团队协作**:
427
+ - 架构文档入版本库
428
+ - 架构变更需要团队 review
429
+ - ADRs 作为技术决策的记录和沟通工具