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,310 @@
1
+ # Product Roadmap: {{PROJECT_NAME}}
2
+
3
+ **Version**: {{VERSION}}
4
+ **Created**: {{CREATED_DATE}} 北京时间
5
+ **Updated**: {{UPDATED_DATE}} 北京时间
6
+ **Planning Horizon**: {{PLANNING_HORIZON}}
7
+ **Status**: {{STATUS}}
8
+
9
+ **Input**:
10
+ - 6 阶段对话的结果(candidates, dependencies, timeline, velocity, quarter_info)
11
+ - devflow/requirements/ 已有需求分析
12
+ - 用户愿景声明
13
+
14
+ **Prerequisites**: core-roadmap 命令已完成 6 阶段对话,收集完整上下文
15
+
16
+ ## Execution Flow (Roadmap 生成流程)
17
+ ```
18
+ 1. Load context from command
19
+ → Parse JSON context (candidates, dependencies, timeline, velocity, quarter_info)
20
+ → Validate all required fields present
21
+ → If missing fields: ERROR "Incomplete context from command"
22
+
23
+ 2. Load ROADMAP_TEMPLATE.md
24
+ → Read template from .claude/docs/templates/ROADMAP_TEMPLATE.md
25
+ → Prepare to fill all sections
26
+
27
+ 3. Fill header metadata
28
+ → Extract project name from devflow/project.md or command context
29
+ → Set version (1.0.0 for new, increment for updates)
30
+ → Set created/updated timestamps (Beijing time, ISO 8601)
31
+ → Calculate planning horizon from quarter_info
32
+ → Set status = "Active"
33
+
34
+ 4. Fill Vision Statement
35
+ → Use vision_statement from context
36
+ → Format as clear, concise statement (1-2 paragraphs)
37
+ → Include problem statement, target users, core value propositions
38
+
39
+ 5. Generate Milestone Overview
40
+ → Group candidates by quarter from timeline
41
+ → For each quarter: generate milestone name, theme, success criteria
42
+ → Format as markdown table
43
+ → Status = "Planned" for all
44
+
45
+ 6. Generate Quarterly Details
46
+ → For each quarter in timeline:
47
+ • Create WBS section
48
+ • List all RM-IDs assigned to this quarter
49
+ • Extract descriptions from candidates
50
+ • Identify dependencies from dependencies list
51
+ • Calculate estimated effort (sum of effort_weeks)
52
+ • Generate success criteria based on candidate titles
53
+
54
+ 7. Generate Dependency Graph
55
+ → Convert dependencies array to Mermaid graph syntax
56
+ → Include both REQ-to-RM and RM-to-RM dependencies
57
+ → Color-code nodes:
58
+ • Completed REQs: #90EE90 (light green)
59
+ • In-progress REQs: #FFD700 (gold)
60
+ • Planned RMs: #D3D3D3 (light gray)
61
+ → Validate Mermaid syntax
62
+
63
+ 8. Fill Velocity Tracking
64
+ → Extract metrics from velocity object
65
+ → Format as markdown table
66
+ → Include: completed_reqs, avg_days_per_req, quarterly_capacity
67
+
68
+ 9. Generate Implementation Tracking
69
+ → For each candidate:
70
+ • RM-ID
71
+ • Feature title
72
+ • Derived From (from candidate.derived_from)
73
+ • Status = "Planned"
74
+ • Mapped REQ = "-" (empty initially)
75
+ • Progress = "0%"
76
+ → Format as markdown table
77
+
78
+ 10. Constitution Check (Article VII, VIII, IX)
79
+ → Simplicity Gate: Check if any milestone has >3 major projects
80
+ → Anti-Abstraction Gate: Verify no premature infrastructure items
81
+ → Integration-First Gate: Check if contract-first design mentioned in candidates
82
+ → Document any violations with justification
83
+
84
+ 11. Validate completeness
85
+ → All sections filled (no {{PLACEHOLDER}} remaining)
86
+ → All RM-IDs from context included
87
+ → Dependencies correctly mapped
88
+ → Mermaid syntax valid
89
+ → If incomplete: ERROR "Complete missing sections"
90
+
91
+ 12. Write devflow/ROADMAP.md
92
+ → Write complete ROADMAP.md file
93
+ → Use UTF-8 encoding
94
+ → Ensure markdown formatting correct
95
+
96
+ 13. Return: SUCCESS (ROADMAP.md generated)
97
+ ```
98
+
99
+ **重要**: 这是一个自执行模板。roadmap-planner agent 应该按照 Execution Flow 生成完整的 ROADMAP.md 文件。
100
+
101
+ ---
102
+
103
+ ## Vision Statement
104
+
105
+ {{VISION_STATEMENT}}
106
+
107
+ _示例:_
108
+ > 我们正在打造最好用的 AI 助手桌面应用。在接下来的 3 个月,我们将专注于提升用户体验和性能,通过增强输入框功能和优化系统性能,为用户提供更流畅、更高效的交互体验。同时,我们将扩展核心功能,支持多账号管理和数据分析能力,满足专业用户的需求。
109
+
110
+ ---
111
+
112
+ ## Milestone Overview
113
+
114
+ | Milestone | Quarter | Theme | Success Criteria | Status |
115
+ |-----------|---------|-------|------------------|--------|
116
+ | {{MILESTONE_ID_1}} | {{QUARTER_1}} | {{THEME_1}} | {{SUCCESS_CRITERIA_1}} | {{STATUS_1}} |
117
+ | {{MILESTONE_ID_2}} | {{QUARTER_2}} | {{THEME_2}} | {{SUCCESS_CRITERIA_2}} | {{STATUS_2}} |
118
+ | {{MILESTONE_ID_3}} | {{QUARTER_3}} | {{THEME_3}} | {{SUCCESS_CRITERIA_3}} | {{STATUS_3}} |
119
+
120
+ _填充规则:_
121
+ - Milestone ID 格式: `M{序号}-Q{季度}-{年份}` (例如: M1-Q1-2025)
122
+ - Theme: 该季度的核心主题(1-5 个字,如"用户体验增强")
123
+ - Success Criteria: 具体的成功标准(完成哪些 RM-IDs)
124
+ - Status: Planned | In Progress | Completed | Cancelled
125
+
126
+ ---
127
+
128
+ ## Q{{QUARTER_NUMBER}} {{YEAR}} Milestones
129
+
130
+ ### {{MILESTONE_ID}}: {{MILESTONE_NAME}}
131
+
132
+ **Timeline**: {{START_DATE}} ~ {{END_DATE}}
133
+ **Theme**: {{THEME}}
134
+
135
+ **Success Criteria**:
136
+ - [ ] {{CRITERION_1}}
137
+ - [ ] {{CRITERION_2}}
138
+ - [ ] {{CRITERION_3}}
139
+
140
+ **Feature Cluster 1: {{CLUSTER_NAME_1}}**
141
+ - **{{RM_ID_1}}**: {{TITLE_1}} ({{DERIVED_FROM_1}})
142
+ - 描述: {{DESCRIPTION_1}}
143
+ - 优先级: {{PRIORITY_1}}
144
+ - 预计工作量: {{EFFORT_1}}
145
+
146
+ - **{{RM_ID_2}}**: {{TITLE_2}} ({{DERIVED_FROM_2}})
147
+ - 描述: {{DESCRIPTION_2}}
148
+ - 优先级: {{PRIORITY_2}}
149
+ - 预计工作量: {{EFFORT_2}}
150
+
151
+ **Feature Cluster 2: {{CLUSTER_NAME_2}}**
152
+ - **{{RM_ID_3}}**: {{TITLE_3}} ({{DERIVED_FROM_3}})
153
+ - 描述: {{DESCRIPTION_3}}
154
+ - 优先级: {{PRIORITY_3}}
155
+ - 预计工作量: {{EFFORT_3}}
156
+
157
+ **Dependencies**:
158
+ - **Blocks**: {{BLOCKED_RM_IDS}} (此里程碑完成后可以解锁的需求)
159
+ - **Depends on**: {{PREREQUISITE_REQ_IDS}} (此里程碑依赖的已完成需求)
160
+
161
+ **Risks**:
162
+ - **Risk 1**: {{RISK_DESCRIPTION_1}}
163
+ - **Mitigation**: {{MITIGATION_PLAN_1}}
164
+
165
+ - **Risk 2**: {{RISK_DESCRIPTION_2}}
166
+ - **Mitigation**: {{MITIGATION_PLAN_2}}
167
+
168
+ **Estimated Effort**: {{TOTAL_EFFORT}} ({{BREAKDOWN}})
169
+
170
+ _填充规则:_
171
+ - Feature Cluster: 将相关功能分组(例如: "用户管理升级", "数据处理模块")
172
+ - Derived From: 标注来源(例如: "REQ-009", "Tech Stack", "User Feedback")
173
+ - Risks: 基于依赖关系和技术复杂度识别风险
174
+
175
+ _重复此章节为每个季度创建详细规划_
176
+
177
+ ---
178
+
179
+ ## Dependency Graph
180
+
181
+ ```mermaid
182
+ graph TD
183
+ {{REQ_NODE_1}}[{{REQ_LABEL_1}}] --> {{RM_NODE_1}}[{{RM_LABEL_1}}]
184
+ {{REQ_NODE_2}}[{{REQ_LABEL_2}}] --> {{RM_NODE_2}}[{{RM_LABEL_2}}]
185
+ {{RM_NODE_1}} --> {{RM_NODE_3}}[{{RM_LABEL_3}}]
186
+
187
+ style {{REQ_NODE_1}} fill:#90EE90
188
+ style {{REQ_NODE_2}} fill:#FFD700
189
+ style {{RM_NODE_1}} fill:#D3D3D3
190
+ style {{RM_NODE_2}} fill:#D3D3D3
191
+ style {{RM_NODE_3}} fill:#D3D3D3
192
+ ```
193
+
194
+ _填充规则:_
195
+ - Node ID 格式: REQ001, REQ010, RM001, RM002 (无破折号,用于 Mermaid 节点 ID)
196
+ - Node Label 格式: `REQ-001: 功能名称`, `RM-001: 功能名称`
197
+ - 颜色编码:
198
+ - #90EE90 (浅绿): 已完成的 REQ
199
+ - #FFD700 (金色): 进行中的 REQ
200
+ - #D3D3D3 (浅灰): 计划中的 RM
201
+ - 箭头方向: 依赖项 → 被依赖项 (例如: REQ-009 → RM-001 表示 RM-001 依赖 REQ-009)
202
+
203
+ ---
204
+
205
+ ## Velocity Tracking
206
+
207
+ | Metric | Value | Source |
208
+ |--------|-------|--------|
209
+ | Completed REQs | {{COMPLETED_COUNT}} | devflow/requirements/ |
210
+ | Avg Time per REQ | {{AVG_DAYS}} days | EXECUTION_LOG.md analysis |
211
+ | Quarterly Capacity | {{CAPACITY}} REQs | Calculated (90 days / avg days) |
212
+ | Estimated REQs/Quarter | {{ESTIMATED_CAPACITY}} | Based on remaining days |
213
+
214
+ _填充规则:_
215
+ - Completed Count: 从 requirements/ 目录统计
216
+ - Avg Time: 从 EXECUTION_LOG.md 中提取 phase complete 时间戳计算
217
+ - Quarterly Capacity: 90 天 / 平均天数(标准季度容量)
218
+ - Estimated Capacity: 当前季度剩余天数 / 平均天数(当前季度预估容量)
219
+
220
+ _说明: 此表用于追踪项目速度,帮助评估时间线的合理性_
221
+
222
+ ---
223
+
224
+ ## Implementation Tracking
225
+
226
+ | RM-ID | Feature | Derived From | Status | Mapped REQ | Progress |
227
+ |-------|---------|--------------|--------|------------|----------|
228
+ | {{RM_ID_1}} | {{FEATURE_1}} | {{SOURCE_1}} | {{STATUS_1}} | {{REQ_ID_1}} | {{PROGRESS_1}} |
229
+ | {{RM_ID_2}} | {{FEATURE_2}} | {{SOURCE_2}} | {{STATUS_2}} | {{REQ_ID_2}} | {{PROGRESS_2}} |
230
+ | {{RM_ID_3}} | {{FEATURE_3}} | {{SOURCE_3}} | {{STATUS_3}} | {{REQ_ID_3}} | {{PROGRESS_3}} |
231
+
232
+ _填充规则:_
233
+ - RM-ID: 路线图项目标识符 (RM-001, RM-002, ...)
234
+ - Feature: 功能简短标题
235
+ - Derived From: 来源需求 ID (REQ-001) 或其他来源 (Tech Stack, User Feedback)
236
+ - Status: Planned | In Progress | Completed | Blocked | Cancelled
237
+ - Mapped REQ: 关联的正式需求 ID(初始为 "-",运行 /flow-init 后填充)
238
+ - Progress: 完成百分比 (0%, 20%, 80%, 100%)
239
+
240
+ _说明: 此表用于追踪路线图项到正式需求的映射,以及进度同步_
241
+
242
+ ---
243
+
244
+ ## Constitution Check (Phase -1 Gates)
245
+
246
+ ### Simplicity Gate (Article VII)
247
+ - [ ] 每个里程碑 ≤3 个主要项目
248
+ - **检查结果**: {{GATE_RESULT_SIMPLICITY}}
249
+
250
+ ### Anti-Abstraction Gate (Article VIII)
251
+ - [ ] 无过早基础设施建设
252
+ - **检查结果**: {{GATE_RESULT_ANTI_ABSTRACTION}}
253
+
254
+ ### Integration-First Gate (Article IX)
255
+ - [ ] 采用契约优先设计方法
256
+ - **检查结果**: {{GATE_RESULT_INTEGRATION_FIRST}}
257
+
258
+ ### Complexity Tracking
259
+ | Potential Violation | Justification | Approved? |
260
+ |---------------------|---------------|-----------|
261
+ | {{VIOLATION_1}} | {{JUSTIFICATION_1}} | {{APPROVED_1}} |
262
+ | {{VIOLATION_2}} | {{JUSTIFICATION_2}} | {{APPROVED_2}} |
263
+
264
+ _填充规则:_
265
+ - Gate Result: ✅ PASS | ⚠️ WARNING | ❌ FAIL
266
+ - Violations: 记录任何宪法违规及其理由
267
+ - Approved: YES (经用户批准) | NO (需要调整)
268
+
269
+ ---
270
+
271
+ ## Validation Checklist
272
+
273
+ 验证此路线图是否完整:
274
+
275
+ - [ ] 愿景声明清晰且可操作
276
+ - [ ] 所有里程碑有明确的成功标准
277
+ - [ ] 所有意向需求已分配优先级 (P1/P2/P3)
278
+ - [ ] 依赖关系已映射并可视化
279
+ - [ ] 基于历史速度的现实时间线
280
+ - [ ] Constitution Check 通过
281
+ - [ ] 无循环依赖
282
+ - [ ] 风险缓解计划已制定
283
+
284
+ **Ready for Stakeholder Review**: {{READY_STATUS}}
285
+
286
+ _填充规则:_
287
+ - 每个 checkbox 应被标记为 `[x]` 或 `[ ]`
288
+ - Ready Status: YES | NO (with reasons)
289
+ - 如果任何 critical item 未完成,Status 应为 NO
290
+
291
+ ---
292
+
293
+ ## Appendix: Terminology
294
+
295
+ - **RM-ID**: Roadmap Item ID,路线图意向项标识符(如 RM-001)
296
+ - **REQ-ID**: Requirement ID,正式需求标识符(如 REQ-010)
297
+ - **Derived From**: 来源,标注该意向项从哪个已有需求或来源延伸而来
298
+ - **Mapped REQ**: 映射需求,当意向项通过 /flow-init 正式创建为需求后,记录其 REQ-ID
299
+ - **Feature Cluster**: 功能集群,将相关的意向项分组便于理解和管理
300
+ - **Milestone**: 里程碑,一个季度内要完成的一组功能集群
301
+ - **Velocity**: 速度,团队完成需求的平均速率(天数/需求)
302
+
303
+ ---
304
+
305
+ **生成说明**:
306
+ 1. 所有 `{{PLACEHOLDER}}` 必须被实际内容替换
307
+ 2. Mermaid 代码必须语法正确
308
+ 3. 所有日期使用北京时间 + ISO 8601 格式
309
+ 4. 进度百分比应准确反映实际状态
310
+ 5. 依赖关系应与 BACKLOG.md 保持一致