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,131 @@
1
+ ---
2
+ name: flow-prd
3
+ description: 'Generate Product Requirements Document. Usage: /flow-prd "REQ-123" or /flow-prd'
4
+ scripts:
5
+ prereq: .claude/scripts/check-prerequisites.sh
6
+ validate_research: .claude/scripts/validate-research.sh
7
+ validate_constitution: .claude/scripts/validate-constitution.sh
8
+ ---
9
+
10
+ # Flow-PRD - PRD 生成命令
11
+
12
+ ## User Input
13
+ ```text
14
+ $ARGUMENTS = "REQ_ID?"
15
+ ```
16
+ 若未提供则根据当前分支或 `DEVFLOW_REQ_ID` 自动解析。
17
+
18
+ ## 命令格式
19
+ ```text
20
+ /flow-prd "REQ_ID"
21
+ /flow-prd # Auto-detect from current branch
22
+ ```
23
+
24
+ ## 执行流程
25
+
26
+ ### 阶段 1: Entry Gate
27
+ ```
28
+ 1. 解析 REQ_ID
29
+ → If argument provided: use it
30
+ → Else: run {SCRIPT:prereq} --json --paths-only
31
+ → If仍为空: ERROR "No requirement ID found."
32
+
33
+ 2. 校验目录
34
+ → 使用 {SCRIPT:prereq} --json 获取路径
35
+ → 必须存在:
36
+ • devflow/requirements/${REQ_ID}/
37
+ • EXECUTION_LOG.md
38
+ • orchestration_status.json (phase0_complete == true)
39
+ • research/research.md
40
+ • research/tasks.json
41
+ → 缺少任何研究产物 → ERROR "Research artifacts missing. Run /flow-init consolidation."
42
+
43
+ **研究材料质量验证** (新增 - 2025-01-26):
44
+ → Run: {SCRIPT:validate_research} "${REQ_DIR}" --strict
45
+ → 验证 research.md 质量(5-Level 检查):
46
+ • LEVEL 1: research.md 文件存在
47
+ • LEVEL 2: 必需章节完整 (Research Summary, Decisions)
48
+ • LEVEL 3: 无 TODO/PLACEHOLDER 占位符
49
+ • LEVEL 4: tasks.json 格式有效
50
+ • LEVEL 5: Constitution 合规
51
+ → 验证失败 → ERROR "research.md quality check failed. Fix issues before /flow-prd."
52
+
53
+ **CRITICAL**: 如果 research.md 包含 "TODO - fill decision outcome",
54
+ 说明 /flow-init 的研究任务未完成。prd-writer 无法使用不完整的研究材料。
55
+
56
+ **Fix Options**:
57
+ 1. 手动填充 research/tasks.json 的 decision/rationale/alternatives 字段
58
+ 2. 重新运行 consolidate-research.sh
59
+ 3. 直接编辑 research/research.md 补充决策内容
60
+ 4. 参考 .claude/docs/templates/RESEARCH_TEMPLATE.md 模板
61
+
62
+ 3. PRD 覆盖提示
63
+ → 若 PRD.md 已存在 → WARN 并确认是否覆盖
64
+
65
+ 4. 状态校验
66
+ → orchestration_status.status ∈ {"initialized", "prd_generation_failed"}
67
+ → 否则提示按流程顺序执行
68
+ ```
69
+
70
+ ### 阶段 2: 生成准备
71
+ ```
72
+ 1. Load PRD 模板 (.claude/docs/templates/PRD_TEMPLATE.md)
73
+ 2. 汇总上下文:
74
+ → research/research.md(Decision/Rationale/Alternatives)
75
+ → research/internal/codebase-overview.md
76
+ → research/mcp/*.md(如有)
77
+ 3. 更新 orchestration_status:
78
+ → status = "prd_generation_in_progress"
79
+ → phase = "planning"
80
+ 4. EXECUTION_LOG.md 记录启动条目
81
+ ```
82
+
83
+ ### 阶段 3: 调用 prd-writer Agent
84
+ ```
85
+ Prompt 关键要点:
86
+ - 输入: REQ_ID, Title, research 集合, PRD 模板
87
+ - 要求:
88
+ • 按模板 Execution Flow 输出背景、目标、用户故事 (GWT)、NFR、技术约束、成功指标
89
+ • 记录 Constitution Check,确保无硬编码密钥、无部分实现
90
+ • 验证清单必须填写
91
+ - 输出: 完整 PRD.md
92
+ - 日志: log_event "${REQ_ID}" "PRD generation completed"
93
+ ```
94
+
95
+ ### 阶段 4: Exit Gate
96
+ ```
97
+ 1. 文件存在
98
+ → PRD.md 必须生成
99
+
100
+ 2. 结构检查
101
+ → 无 {{PLACEHOLDER}}
102
+ → 包含: 背景/目标、用户故事+GWT、NFR、技术约束、成功指标、Constitution Check、验证清单
103
+
104
+ 3. 宪法校验
105
+ → Run: {SCRIPT:validate_constitution} --type prd --severity warning
106
+ → 出现 ERROR 级违规时终止
107
+
108
+ 4. 状态更新
109
+ → orchestration_status:
110
+ status = "prd_complete"
111
+ phase = "epic_planning"
112
+ completedSteps append "prd"
113
+ → EXECUTION_LOG.md 记录完成
114
+ ```
115
+
116
+ ## 输出
117
+ ```
118
+ ✅ PRD.md (≥100 行、完整模板)
119
+ ✅ orchestration_status.json 更新 (prd_complete)
120
+ ✅ EXECUTION_LOG.md 记录
121
+ ```
122
+
123
+ ## 错误处理
124
+ - 缺少研究产物 → 返回指令让用户重复 `/flow-init` consolidation。
125
+ - PRD 生成失败 → 将 status 设为 `prd_generation_failed`,方便重试。
126
+ - 宪法检查失败 → 显示违规列表并终止,待修复后重跑。
127
+
128
+ ## 下一步
129
+ 1. 审阅 PRD.md,确认需求准确。
130
+ 2. 运行 `/flow-tech` 生成技术方案及 data-model/contracts/quickstart。
131
+ 3. 使用 `/flow-epic` 做 Epic/TASKS 规划。
@@ -0,0 +1,93 @@
1
+ ---
2
+ name: flow-qa
3
+ description: 'Execute quality assurance and security review. Usage: /flow-qa "REQ-123" or /flow-qa'
4
+ scripts:
5
+ prereq: .claude/scripts/check-prerequisites.sh
6
+ check_tasks: .claude/scripts/check-task-status.sh
7
+ validate_constitution: .claude/scripts/validate-constitution.sh
8
+ ---
9
+
10
+ # Flow-QA - 质量保证命令
11
+
12
+ ## User Input
13
+ ```text
14
+ $ARGUMENTS = "REQ_ID?"
15
+ ```
16
+ 未提供则根据当前分支或 `DEVFLOW_REQ_ID` 自动解析。
17
+
18
+ ## 执行流程
19
+
20
+ ### 阶段 1: Entry Gate
21
+ ```
22
+ 1. 解析 REQ_ID
23
+ 2. {SCRIPT:prereq} --json 验证:
24
+ → 存在 PRD.md、TECH_DESIGN.md、data-model.md、contracts/、quickstart.md、EPIC.md、TASKS.md
25
+ → orchestration_status.status ∈ {"development_complete", "qa_failed"}
26
+ → phase1_complete == true
27
+ 3. {SCRIPT:check_tasks} --json 确认 remaining == 0
28
+ 4. quickstart.md 中的测试命令必须全部通过(先 dry-run)
29
+ 5. TEST_REPORT.md / SECURITY_REPORT.md 已存在时提示是否覆盖
30
+ ```
31
+
32
+ ### 阶段 2: QA 准备
33
+ ```
34
+ 1. 执行 quickstart 中的覆盖率命令(如有)
35
+ 2. 收集上下文:
36
+ → PRD 用户故事、验收标准
37
+ → TECH_DESIGN 决策(安全、性能)
38
+ → data-model / contracts
39
+ → TASKS DoD、提交记录
40
+ 3. 更新 orchestration_status:
41
+ → status = "qa_in_progress"
42
+ → phase = "quality_assurance"
43
+ 4. EXECUTION_LOG.md 记录 QA 启动(含测试覆盖率)
44
+ ```
45
+
46
+ ### 阶段 3: Agents
47
+ ```
48
+ 1. qa-tester
49
+ → 输入: PRD, TECH_DESIGN, TASKS, test results, coverage
50
+ → 产出: TEST_PLAN.md (如缺失) / TEST_REPORT.md
51
+ → 覆盖内容: 覆盖率、TDD 合规、AC 覆盖、DoD 复核、缺失测试建议
52
+
53
+ 2. security-reviewer
54
+ → 输入: TECH_DESIGN 安全节、contracts、实现 diff、ENV/secret 配置
55
+ → 产出: SECURITY_PLAN.md (如缺失) / SECURITY_REPORT.md
56
+ → 检查: 认证/授权、输入验证、敏感信息、依赖风险、基础设施配置
57
+
58
+ 3. 可选: performance-reviewer(若 TECH_DESIGN 有性能方案)
59
+ ```
60
+
61
+ ### 阶段 4: Exit Gate
62
+ ```
63
+ 1. 验证报告存在:
64
+ → TEST_REPORT.md、SECURITY_REPORT.md
65
+ 2. 质量结论:
66
+ → 所有 gate (Coverage、TDD、Security) 均为 PASS;否则状态设为 qa_failed
67
+ 3. 宪法检查:
68
+ → {SCRIPT:validate_constitution} --type qa --severity warning
69
+ 4. 状态更新:
70
+ → orchestration_status.status = "qa_complete"
71
+ → completedSteps append "qa"
72
+ → lastQaAt = timestamp
73
+ 5. EXECUTION_LOG 记录完成
74
+ ```
75
+
76
+ ## 输出
77
+ ```
78
+ ✅ TEST_REPORT.md
79
+ ✅ SECURITY_REPORT.md
80
+ ✅ (可选)PERFORMANCE_REPORT.md
81
+ ✅ orchestration_status.json 更新 (qa_complete)
82
+ ✅ EXECUTION_LOG.md QA 记录
83
+ ```
84
+
85
+ ## 错误处理
86
+ - quickstart 测试失败 → 返回错误并保持 qa_failed。
87
+ - 报告中存在 BLOCKER → 阶段终止,需返回 `/flow-dev` 修复。
88
+ - Constitution 违规 → 将问题标记为阻断项。
89
+
90
+ ## 下一步
91
+ 1. 处理 QA 报告中的问题(若有)。
92
+ 2. 确认验证通过后运行 `/flow-release`。
93
+ 3. 将报告随 PR 一并提交,供代码审阅与发布审批使用。
@@ -0,0 +1,92 @@
1
+ ---
2
+ name: flow-release
3
+ description: 'Create PR and manage release. Usage: /flow-release "REQ-123" or /flow-release'
4
+ scripts:
5
+ prereq: .claude/scripts/check-prerequisites.sh
6
+ check_tasks: .claude/scripts/check-task-status.sh
7
+ validate_constitution: .claude/scripts/validate-constitution.sh
8
+ generate_status: .claude/scripts/generate-status-report.sh
9
+ ---
10
+
11
+ # Flow-Release - 发布管理命令
12
+
13
+ ## User Input
14
+ ```text
15
+ $ARGUMENTS = "REQ_ID?"
16
+ ```
17
+ 未提供则根据当前分支或 `DEVFLOW_REQ_ID` 自动解析。
18
+
19
+ ## 执行流程
20
+
21
+ ### 阶段 1: Entry Gate
22
+ ```
23
+ 1. 解析 REQ_ID
24
+ 2. {SCRIPT:prereq} --json 校验:
25
+ → 存在 PRD.md、TECH_DESIGN.md、data-model.md、contracts/、quickstart.md、EPIC.md、TASKS.md、TEST_REPORT.md、SECURITY_REPORT.md
26
+ → orchestration_status.status ∈ {"qa_complete", "release_failed"}
27
+ 3. {SCRIPT:check_tasks} --json 确认 remaining == 0
28
+ 4. 验证 QA gate:
29
+ → TEST_REPORT.md / SECURITY_REPORT.md 中的 Gate 均为 PASS
30
+ 5. Git 环境:
31
+ → 工作区干净、当前在 feature/bugfix 分支
32
+ → 分支已推送,若无 upstream 提示 push
33
+ ```
34
+
35
+ ### 阶段 2: 发布上下文准备
36
+ ```
37
+ 1. 收集元数据:
38
+ → TITLE, branch, commits, changed files, coverage, security 状态
39
+ 2. 汇总文档:
40
+ → PRD 成功指标、EPIC 范围、TASKS DoD、quickstart 验证命令
41
+ 3. 更新 orchestration_status:
42
+ → status = "release_in_progress"
43
+ → phase = "release"
44
+ 4. EXECUTION_LOG.md 记录发布启动
45
+ ```
46
+
47
+ ### 阶段 3: release-manager Agent
48
+ ```
49
+ Prompt 核心要求:
50
+ - 确认 Constitution 校验无 ERROR:
51
+ {SCRIPT:validate_constitution} --type all --severity error
52
+ - 生成 RELEASE_PLAN.md:
53
+ • 范围概览、风险评估、回滚策略、监控计划、依赖项
54
+ • 列出 data-model / contracts / quickstart 的变更摘要
55
+ - 生成 PR 描述草稿:
56
+ • 摘要、实现亮点、测试结果(引用 quickstart 命令)、安全结论、验证报告链接
57
+ - 建议标签、检查清单
58
+ ```
59
+
60
+ ### 阶段 4: PR 创建与完结
61
+ ```
62
+ 1. 使用 gh CLI 创建或更新 PR
63
+ → 标题: "${REQ_ID}: ${TITLE}"
64
+ → 正文采用 agent 输出
65
+ 2. 检查 CLAUDE.md:
66
+ → 若 TECH_DESIGN 引入新基础设施/重大变更,更新 "## Technical Architecture"(≤15 行)
67
+ 3. 状态更新:
68
+ → orchestration_status.status = "release_complete"
69
+ → completedSteps append "release"
70
+ → prUrl 记录到状态文件
71
+ 4. EXECUTION_LOG 记录 PR 链接与发布时间
72
+ 5. 可选: {SCRIPT:generate_status} 生成状态报告
73
+ ```
74
+
75
+ ## 输出
76
+ ```
77
+ ✅ RELEASE_PLAN.md
78
+ ✅ CLAUDE.md(如需更新)
79
+ ✅ GitHub PR (gh)
80
+ ✅ orchestration_status.json 更新 (release_complete)
81
+ ✅ EXECUTION_LOG.md 发布记录
82
+ ```
83
+
84
+ ## 错误处理
85
+ - QA Gate 失败或 Constitution ERROR → 立即终止,标记 status="release_failed"。
86
+ - Git push/PR 创建失败 → 输出命令和日志,保持可重试状态。
87
+ - CLAUDE.md 更新遗漏 → 阻断发布并提示补写。
88
+
89
+ ## 下一步
90
+ 1. 等待代码评审与 CI 通过。
91
+ 2. 合并后更新主分支标签或发布记录。
92
+ 3. 反馈验证结果,必要时触发 `/flow-verify` 复检。
@@ -0,0 +1,98 @@
1
+ ---
2
+ name: flow-restart
3
+ description: 'Restart interrupted cc-devflow requirement development. Usage: /flow-restart "REQ-123" [--from=stage]'
4
+ scripts:
5
+ prereq: .claude/scripts/check-prerequisites.sh
6
+ recover: .claude/scripts/recover-workflow.sh
7
+ generate_status: .claude/scripts/generate-status-report.sh
8
+ ---
9
+
10
+ # Flow-Restart - 中断恢复命令
11
+
12
+ ## User Input
13
+ ```text
14
+ $ARGUMENTS = "REQ_ID [--from=stage] [--force] [--backup]"
15
+ ```
16
+
17
+ ## 支持阶段
18
+ ```
19
+ research | prd | planning | development | qa | release
20
+ ```
21
+
22
+ ## 执行流程
23
+
24
+ ### 阶段 1: Entry Gate
25
+ ```
26
+ 1. 参数解析
27
+ → 校验 REQ_ID(REQ-\d+)、阶段枚举。
28
+
29
+ 2. 状态自检
30
+ → Run: {SCRIPT:prereq} --json --paths-only
31
+ → 确认 devflow/requirements/${REQ_ID}/ 存在
32
+ → orchestration_status.json.status ∈ {failed, paused, *_failed}
33
+ → 若 status 已完成且未使用 --force → 拒绝重启。
34
+
35
+ 3. 中断点检测
36
+ → 调用 {SCRIPT:recover} --detect "${REQ_ID}"
37
+ → 解析中断原因、推荐恢复阶段、待恢复的产物。
38
+
39
+ 4. 备份(可选)
40
+ → 如果 --backup,则创建 `${REQ_DIR}/backup/${timestamp}` 目录复制关键文件。
41
+ ```
42
+
43
+ ### 阶段 2: 清理与重置
44
+ ```
45
+ 1. 根据阶段执行清理动作:
46
+ • research: 清理临时 research/mcp 缓存、保留 summary
47
+ • prd: 备份 PRD.md,重置 status=initialized
48
+ • planning: 备份 EPIC.md/TASKS.md,清理规划中间状态
49
+ • development: 检查未完成任务、生成 git stash 建议
50
+ • qa: 删除过期 TEST_REPORT/SECURITY_REPORT
51
+ • release: 关闭未完成 PR 草稿、重置 release 状态
52
+
53
+ 2. 更新 orchestration_status:
54
+ → status = "${stage}_restart_in_progress"
55
+ → restartStage = stage
56
+ → restartAt = timestamp
57
+
58
+ 3. EXECUTION_LOG.md 记录恢复动作和备份路径。
59
+ ```
60
+
61
+ ### 阶段 3: 恢复执行
62
+ ```
63
+ 1. 根据 stage 自动触发后续命令提示:
64
+ → research → 建议运行 /flow-init --resume
65
+ → prd → /flow-prd
66
+ → planning → /flow-epic
67
+ → development → /flow-dev
68
+ → qa → /flow-qa
69
+ → release → /flow-release
70
+
71
+ 2. 若 {SCRIPT:recover} 支持自动修复(如重建 TASKS),执行对应脚本。
72
+ ```
73
+
74
+ ### 阶段 4: Exit Gate
75
+ ```
76
+ 1. 验证关键产物是否存在(与阶段相符)。
77
+ 2. orchestration_status:
78
+ → status = "${stage}_restart_ready"
79
+ → completedSteps 不剥夺已完成阶段
80
+ 3. 输出下一步指引。
81
+ ```
82
+
83
+ ## 错误处理
84
+ - 检测不到中断 → 提示使用 `/flow-status` 查看当前状态,或需 --force。
85
+ - 备份失败 → 终止并保留原样。
86
+ - 清理动作报错 → 输出日志路径,允许用户手动处理后重试。
87
+
88
+ ## 输出
89
+ ```
90
+ ✅ backup/ 时间戳目录(若启用备份)
91
+ ✅ orchestration_status.json 更新(restartStage, restartAt, status)
92
+ ✅ EXECUTION_LOG.md 恢复条目
93
+ ```
94
+
95
+ ## 下一步
96
+ 1. 按提示执行下一阶段命令。
97
+ 2. 使用 `/flow-status REQ_ID --detailed` 确认状态恢复正确。
98
+ 3. 如多次失败,考虑跑 `/flow-verify` 或手动 review 产物。
@@ -0,0 +1,64 @@
1
+ ---
2
+ name: flow-status
3
+ description: 'Query development progress status for cc-devflow requirements. Usage: /flow-status [REQ-ID]'
4
+ scripts:
5
+ prereq: .claude/scripts/check-prerequisites.sh
6
+ generate_status: .claude/scripts/generate-status-report.sh
7
+ ---
8
+
9
+ # Flow-Status - 开发进度查询命令
10
+
11
+ ## User Input
12
+ ```text
13
+ $ARGUMENTS = "[REQ_ID?] [--all] [--bugs] [--detailed] [--summary]"
14
+ ```
15
+ 默认显示所有活跃需求的概览;指定 REQ_ID 时输出单一详情。
16
+
17
+ ## 执行流程
18
+
19
+ ### 1. 参数解析
20
+ - 验证 ID 格式 (`REQ-\d+` / `BUG-\d+`)。
21
+ - 识别 `--all`、`--bugs`、`--detailed`、`--summary`、`--branches` 等标志。
22
+
23
+ ### 2. 数据收集
24
+ ```
25
+ 1. 运行 {SCRIPT:prereq} --json --paths-only
26
+ 2. 扫描:
27
+ → devflow/requirements/*/orchestration_status.json
28
+ → devflow/bugs/*/orchestration_status.json
29
+ 3. 读取每个状态文件及 EXECUTION_LOG.md 头部,提取:
30
+ → status, phase, completedSteps, phase0/phase1 flag, lastUpdated
31
+ → 是否存在 PRD/TECH_DESIGN/data-model/contracts/quickstart/EPIC/TASKS/QA 报告
32
+ 4. 若 `--branches`: 读取 git 分支与 upstream 状态
33
+ 5. 若 `--detailed`: 关联 PRD/EPIC/TASKS 进度、QA/Release 结论
34
+ ```
35
+
36
+ ### 3. 输出格式
37
+ - **默认概览**: 表格显示 ID、标题、当前阶段、关键产物完成度、最近更新时间。
38
+ - **详细模式**: 列出各阶段产物路径、phase0/phase1 标志、剩余步骤与下一命令建议。
39
+ - **Summary/All**: 使用 {SCRIPT:generate_status} 生成聚合报告。
40
+
41
+ ### 4. 建议动作
42
+ - 根据状态字段提示下一命令:
43
+ - `status=initialized` → `/flow-prd`
44
+ - `phase0_complete=false` → `/flow-init` consolidate
45
+ - `phase1_complete=false` → `/flow-tech`
46
+ - `status=epic_complete` → `/flow-dev`
47
+ - `status=qa_complete` → `/flow-release`
48
+
49
+ ## 输出样例
50
+ ```
51
+ 📊 CC-DevFlow 状态总览 (更新: 2025-02-10T09:12Z)
52
+ ┌─────────┬──────────────┬───────────────┬────────────┬──────────┐
53
+ │ ID │ Title │ Status │ Phase │ Next │
54
+ ├─────────┼──────────────┼───────────────┼────────────┼──────────┤
55
+ │ REQ-123 │ 下单流程优化 │ epic_complete │ planning │ /flow-dev │
56
+ │ REQ-124 │ 权限矩阵 │ qa_complete │ release │ /flow-release │
57
+ │ REQ-125 │ 账单导出 │ prd_complete │ technical │ /flow-tech │
58
+ └─────────┴──────────────┴───────────────┴────────────┴──────────┘
59
+ ```
60
+
61
+ ## 错误处理
62
+ - 找不到 ID → 提示有效目录。
63
+ - 状态文件损坏 → 标记“unknown”,提示用户修复。
64
+ - `--branches` 请求但 Git 不可用 → 输出提示并继续其他数据。
@@ -0,0 +1,142 @@
1
+ ---
2
+ name: flow-tech
3
+ description: 'Generate Technical Design package. Usage: /flow-tech "REQ-123" or /flow-tech'
4
+ scripts:
5
+ prereq: .claude/scripts/check-prerequisites.sh
6
+ tech_analysis: .claude/scripts/generate-tech-analysis.sh
7
+ extract_data_model: .claude/scripts/extract-data-model.sh
8
+ export_contracts: .claude/scripts/export-contracts.sh
9
+ quickstart: .claude/scripts/generate-quickstart.sh
10
+ agent_scripts:
11
+ sh: .claude/scripts/update-agent-context.sh __AGENT__
12
+ ps: scripts/powershell/update-agent-context.ps1 -AgentType __AGENT__
13
+ ---
14
+
15
+ # Flow-Tech - 技术方案生成命令
16
+
17
+ ## User Input
18
+ ```text
19
+ $ARGUMENTS = "REQ_ID"
20
+ ```
21
+ 若缺省则从当前分支或 `DEVFLOW_REQ_ID` 推断;进入流程前必须解析成功。
22
+
23
+ ## 命令格式
24
+ ```text
25
+ /flow-tech "REQ_ID"
26
+ /flow-tech # Auto-detect from current branch
27
+ ```
28
+
29
+ ### 参数说明
30
+ - **REQ_ID**: 需求编号 (可选,默认从当前 Git 分支或环境变量获取)
31
+
32
+ ## 执行流程
33
+
34
+ ### 阶段 0: Anti-Tech-Creep Gate
35
+ - 读取 `CLAUDE.md` 的技术架构章节并对照 `research/internal/codebase-overview.md`。
36
+ - 若缺失或与现状不符:重写 ≤15 行的架构摘要并记录核心原则。
37
+ - 触发约束:除非在技术方案中明确说明,禁止引入新技术或任意替换既有栈。
38
+
39
+ ### 阶段 1: 前置条件检查 (Entry Gate)
40
+ ```
41
+ 1. 解析 REQ_ID
42
+ → If $ARGUMENTS provided: use split("|") first token
43
+ → Else: run {SCRIPT:prereq} --json --paths-only
44
+ → If仍为空: ERROR "No requirement ID found."
45
+
46
+ 2. 验证目录与产物
47
+ → 检查: devflow/requirements/${REQ_ID}/
48
+ → 必须存在: PRD.md, research/research.md, research/tasks.json, research/internal/codebase-overview.md
49
+ → orchestration_status.json.phase0_complete 必须为 true
50
+
51
+ 3. 状态门
52
+ → status ∈ {prd_complete, ui_complete, tech_design_failed}
53
+ → 未满足则拒绝进入。
54
+ ```
55
+
56
+ ### 阶段 2: 技术细化分析
57
+ ```
58
+ 1. 执行 {SCRIPT:tech_analysis} "${REQ_ID}"
59
+ → 输出: research/codebase-tech-analysis.md
60
+ → 内容: 数据模型模式、API 模式、认证、安全、数据库、可复用组件、测试、示例代码。
61
+
62
+ 2. 同步 EXECUTION_LOG.md
63
+ → 记录分析完成时间、重点洞察、待确认风险。
64
+ ```
65
+
66
+ ### 阶段 3: 资产生成与 Agent 调用
67
+ ```
68
+ 1. 准备 TECH_DESIGN 上下文
69
+ → 读取: PRD.md, research/research.md, research/codebase-tech-analysis.md
70
+ → 可选: UI_PROTOTYPE.html (存在时加载结构摘要)
71
+ → 更新 orchestration_status: status=tech_design_in_progress, phase=technical_design.
72
+
73
+ 2. 调用 tech-architect agent
74
+ → 加载模板: .claude/docs/templates/TECH_DESIGN_TEMPLATE.md
75
+ → 执行模板 Execution Flow,输出 TECH_DESIGN.md(无 {{PLACEHOLDER}})
76
+ → 记录 log_event "${REQ_ID}" "Technical design completed"
77
+
78
+ 3. 派生资产
79
+ → Run: {SCRIPT:extract_data_model} "${REQ_ID}" → 生成 data-model.md
80
+ → Run: {SCRIPT:export_contracts} "${REQ_ID}" → 生成 contracts/openapi.yaml (或其他格式)
81
+ → Run: {SCRIPT:quickstart} "${REQ_ID}" → 生成 quickstart.md(包含环境、测试命令、验证步骤)
82
+
83
+ 4. 更新代理上下文
84
+ → Run: {AGENT_SCRIPT} # 仅新增技术条目,保持 markers 内手动内容
85
+ → 在 EXECUTION_LOG.md 记录新增技术。
86
+ ```
87
+
88
+ ### 阶段 4: 完成校验 (Exit Gate)
89
+ ```
90
+ 1. 文件存在性
91
+ → TECH_DESIGN.md, research/codebase-tech-analysis.md
92
+ → data-model.md, contracts/, quickstart.md
93
+
94
+ 2. 质量检查
95
+ → TECH_DESIGN.md: 包含系统架构/技术栈/数据模型/API/安全/性能/Constitution Gate
96
+ → data-model.md: 实体、字段、关系、校验、状态机
97
+ → contracts/: 所有端点请求/响应 schema
98
+ → quickstart.md: 环境准备、测试矩阵、验证指令
99
+
100
+ 3. 宪法校验
101
+ → Run: validate-constitution.sh --type tech_design --severity warning
102
+ → 若有 ERROR 级别违规:终止并修复
103
+
104
+ 4. 状态更新
105
+ → orchestration_status.json:
106
+ • status = "tech_design_complete"
107
+ • phase = "epic_planning"
108
+ • phase1_complete = true
109
+ • completedSteps append "tech_design"
110
+ → EXECUTION_LOG.md 记录出口验收。
111
+ ```
112
+
113
+ ### 阶段 5: 输出与下一步
114
+ - 汇总结果:
115
+ ```
116
+ ✅ TECH_DESIGN.md
117
+ ✅ research/codebase-tech-analysis.md
118
+ ✅ data-model.md
119
+ ✅ contracts/openapi.yaml
120
+ ✅ quickstart.md
121
+ ```
122
+ - 建议操作:
123
+ 1. 审阅技术方案关键决策。
124
+ 2. 使用 `/flow-epic` 进入任务规划(会 gate 检查上述资产)。
125
+ 3. 如需补充研究,回到 `/flow-init` 生成的 research/tasks.json 更新状态。
126
+
127
+ ## 错误处理提示
128
+ - 缺少 PRD 或 research.md → 直接 ERROR,让用户先补 Phase 0。
129
+ - agent 输出不完整 → 保留临时文件并记录 `tech_design_failed`,用户可修正后重试。
130
+ - 派生资产脚本失败 → 标记 `phase1_complete = false`,提示对应脚本名与日志路径。
131
+
132
+ ## 宪法遵循
133
+ - Simplicity Gate:设计 ≤3 栈层、禁止为未来功能做预设。
134
+ - Anti-Abstraction Gate:直接使用框架,不新增自定义抽象层。
135
+ - Integration-First Gate:所有 contracts 在 Phase 2 先定义,Phase 3 任务只需按合同落地。
136
+
137
+ ## 产物摘要
138
+ - `TECH_DESIGN.md`: 技术总纲,引用子文档链接。
139
+ - `research/codebase-tech-analysis.md`: 深度分析,支撑方案假设。
140
+ - `data-model.md`: 供 planner 和 DB 工具使用的实体清单。
141
+ - `contracts/`: OpenAPI/GraphQL 等契约基线。
142
+ - `quickstart.md`: QA、Dev、CI 共享的执行脚本。