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,188 @@
1
+ # Core-Roadmap Troubleshooting Guide
2
+
3
+ > Quick reference for `/core-roadmap` dialogue errors and recovery
4
+
5
+ ---
6
+
7
+ ## Core Errors
8
+
9
+ ### E1: User Cancel During Dialogue
10
+ ```bash
11
+ 用户输入: cancel
12
+ → 对话取消
13
+ ```
14
+ **Fix**: `/core-roadmap --resume` → 从草稿恢复,选择继续的 Stage
15
+
16
+ ---
17
+
18
+ ### E2: Circular Dependency Detected
19
+ ```bash
20
+ ❌ ERROR: 检测到循环依赖: RM-001 → RM-003 → RM-005 → RM-001
21
+ ```
22
+ **Fix**: 用户输入 `modify` → 移除循环中的一条依赖边(如 `remove RM-005 → RM-001`)
23
+
24
+ ---
25
+
26
+ ### E3: Over-Capacity Warning
27
+ ```bash
28
+ ⚠️ WARNING: 总工作量 150% (计划 18 项 vs 容量 12 项)
29
+ ```
30
+ **Fix**:
31
+ - 降低优先级: 将部分 P2 改为 P3
32
+ - 缩减工作量: 重新评估项目估算
33
+ - 延长规划周期: 从 3 个月延长到 6 个月
34
+
35
+ ---
36
+
37
+ ### E4: Roadmap Not Found (Update Mode)
38
+ ```bash
39
+ ❌ ERROR: devflow/ROADMAP.md 不存在
40
+ ```
41
+ **Fix**: `find . -name "ROADMAP.md"` → 检查路径 → 移动到正确位置或重新创建
42
+
43
+ ---
44
+
45
+ ### E5: Hanging Dependency (未完成的依赖)
46
+ ```bash
47
+ ⚠️ WARNING: RM-005 依赖 REQ-008 但该需求未完成
48
+ ```
49
+ **Fix**: `/flow-status REQ-008` → 确认状态 → 继续但标记风险 或 移除该依赖
50
+
51
+ ---
52
+
53
+ ### E6: Quarter Assignment Conflict
54
+ ```bash
55
+ ❌ ERROR: RM-005 分配到 Q1 但其依赖 RM-001 分配到 Q2
56
+ ```
57
+ **Fix**: 调整 RM-005 到 Q2 或提前 RM-001 到 Q1
58
+
59
+ ---
60
+
61
+ ### E7: Agent Invocation Failed
62
+ ```bash
63
+ ❌ ERROR: roadmap-planner execution failed (Cannot read property 'candidates')
64
+ ```
65
+ **Diagnose**: `cat .roadmap-context.json | jq .` → 检查 context 完整性
66
+ **Fix**: `cp .roadmap-draft.json .roadmap-context.json` → `/core-roadmap --regenerate`
67
+
68
+ ---
69
+
70
+ ### E8: Mermaid Syntax Error
71
+ ```bash
72
+ ⚠️ WARNING: Mermaid syntax error (Node ID: REQ-001 包含非法字符)
73
+ ```
74
+ **Fix**: 编辑 ROADMAP.md → 将 `REQ-001[...]` 改为 `REQ001[REQ-001: ...]` (移除 Node ID 中的 hyphen)
75
+
76
+ ---
77
+
78
+ ### E9: Architecture Generation Failed
79
+ ```bash
80
+ ❌ ERROR: Cannot generate ARCHITECTURE.md (No requirements found)
81
+ ```
82
+ **Fix**: 跳过 ARCHITECTURE.md 生成,完成第一个需求后运行 `/core-architecture`
83
+
84
+ ---
85
+
86
+ ## Recovery Scenarios
87
+
88
+ ### 对话中断恢复
89
+ ```bash
90
+ # 检查草稿文件
91
+ cat .roadmap-draft.json | jq '.candidates | length'
92
+
93
+ # 恢复对话
94
+ /core-roadmap --resume
95
+
96
+ # 选择从哪个阶段继续 (2: 头脑风暴, 3: 依赖分析, ...)
97
+ ```
98
+
99
+ ### 生成文档损坏
100
+ ```bash
101
+ # 备份损坏文件
102
+ cp devflow/ROADMAP.md devflow/ROADMAP.md.bak
103
+
104
+ # 重新生成 (使用保存的 context)
105
+ /core-roadmap --regenerate
106
+
107
+ # 对比新旧文件
108
+ diff devflow/ROADMAP.md.bak devflow/ROADMAP.md
109
+ ```
110
+
111
+ ### Velocity 数据错误
112
+ ```bash
113
+ # 验证完成需求数量
114
+ ls devflow/requirements/REQ-*/orchestration_status.json | \
115
+ xargs -I {} jq -r 'select(.status=="merged") | .reqId' {} | \
116
+ wc -l
117
+
118
+ # 在对话中手动修正容量估算
119
+ ```
120
+
121
+ ---
122
+
123
+ ## Advanced Features
124
+
125
+ ### --regenerate 模式
126
+ ```bash
127
+ /core-roadmap --regenerate
128
+
129
+ # 执行步骤:
130
+ # 1. 读取现有 ROADMAP.md
131
+ # 2. 运行 sync-roadmap-progress.sh
132
+ # 3. 更新 Velocity 指标
133
+ # 4. 重新生成文档
134
+
135
+ # 适用场景:
136
+ # - 定期更新路线图进度 (每周)
137
+ # - 需求完成后同步状态
138
+ ```
139
+
140
+ ### --resume 模式
141
+ ```bash
142
+ /core-roadmap --resume
143
+
144
+ # 执行步骤:
145
+ # 1. 读取 .roadmap-draft.json
146
+ # 2. 恢复 context 状态
147
+ # 3. 询问从哪个 Stage 继续
148
+ # 4. 跳转到对应 Stage
149
+
150
+ # 适用场景:
151
+ # - 对话被意外中断
152
+ # - 需要暂停并稍后继续
153
+ # - 需要修改之前阶段的输入
154
+ ```
155
+
156
+ ---
157
+
158
+ ## Configuration
159
+
160
+ ### Environment Variables
161
+ | Variable | Default | Purpose |
162
+ |----------|---------|---------|
163
+ | `ROADMAP_DRAFT_FILE` | `.roadmap-draft.json` | 草稿文件路径 |
164
+ | `DEFAULT_PLANNING_HORIZON` | `3 months` | 默认规划周期 |
165
+ | `FLOW_DEBUG` | `false` | 启用调试日志 |
166
+
167
+ ### Scripts
168
+ | Script | Purpose |
169
+ |--------|---------|
170
+ | `calculate-quarter.sh` | 计算当前季度信息 |
171
+ | `sync-roadmap-progress.sh` | 同步路线图进度 |
172
+
173
+ ---
174
+
175
+ ## FAQ
176
+
177
+ **Q: 如何修改已生成的路线图?**
178
+ A: 手动编辑 `vim devflow/ROADMAP.md` 或重新运行 `/core-roadmap`
179
+
180
+ **Q: 如何添加新的 RM 项目?**
181
+ A: 编辑 ROADMAP.md 或重新运行对话并在 Stage 3 添加
182
+
183
+ **Q: Velocity 计算不准确怎么办?**
184
+ A: 在对话 Stage 0 中会显示预估容量,如不准确可在后续阶段调整工作量和时间线
185
+
186
+ ---
187
+
188
+ **Last Updated**: 2025-12-19
@@ -0,0 +1,338 @@
1
+ # 任务完成标记指南
2
+
3
+ ## 问题描述
4
+
5
+ 在执行 `/flow-dev` 时,主代理完成了代码实现,但没有同步更新 TASKS.md 中的待办事项复选框。这导致:
6
+
7
+ - ❌ TASKS.md 显示任务未完成 `[ ]`,但代码已经实现
8
+ - ❌ 进度追踪不准确,无法知道真实进度
9
+ - ❌ 可能重复执行已完成的任务
10
+ - ❌ 无法正确生成状态报告
11
+
12
+ ## 解决方案
13
+
14
+ ### 1. 强制执行标记流程
15
+
16
+ 在 `/flow-dev` 命令文档中,已经强化了任务完成标记的要求:
17
+
18
+ ```bash
19
+ # 每完成一个任务后,必须立即执行
20
+ bash .claude/scripts/mark-task-complete.sh T001
21
+ ```
22
+
23
+ **关键点**:
24
+ - ⚠️ **MANDATORY** - 不是可选的
25
+ - 每个任务完成后立即执行
26
+ - 不要手动编辑 TASKS.md
27
+ - 验证输出显示 "✅ Task T001 marked as complete"
28
+
29
+ ### 2. 使用诊断工具
30
+
31
+ 新增的 `sync-task-marks.sh` 脚本可以帮助检测和修复未标记的任务:
32
+
33
+ ```bash
34
+ # 检查哪些任务已执行但未标记
35
+ bash .claude/scripts/sync-task-marks.sh --dry-run
36
+
37
+ # 交互式修复(推荐)
38
+ bash .claude/scripts/sync-task-marks.sh
39
+
40
+ # 批量自动标记(谨慎使用)
41
+ bash .claude/scripts/sync-task-marks.sh --auto-mark
42
+ ```
43
+
44
+ ### 3. 工作流集成
45
+
46
+ #### 阶段 1: 任务执行循环
47
+
48
+ ```text
49
+ For each task in TASKS.md:
50
+ 1. Load task details
51
+ 2. Display task information
52
+ 3. Execute task implementation (写代码)
53
+ 4. Verify task completion (DoD check)
54
+ 5. ⚠️ MANDATORY: Mark task as complete
55
+ → bash .claude/scripts/mark-task-complete.sh ${task_id}
56
+ 6. Continue to next task
57
+ ```
58
+
59
+ #### 阶段 2: Exit Gate 验证
60
+
61
+ ```bash
62
+ # 验证所有任务都已标记完成
63
+ bash .claude/scripts/check-task-status.sh --json
64
+
65
+ # 如果发现任务未标记
66
+ bash .claude/scripts/sync-task-marks.sh --dry-run
67
+ # 手动执行每个任务的标记命令
68
+ ```
69
+
70
+ ## 完整示例
71
+
72
+ ### 场景 1: 正常工作流
73
+
74
+ ```bash
75
+ # 1. 开始开发
76
+ /flow-dev "REQ-123"
77
+
78
+ # 2. Claude 完成任务 T001
79
+ # (写代码、运行测试等)
80
+
81
+ # 3. ⚠️ 立即标记任务完成
82
+ bash .claude/scripts/mark-task-complete.sh T001
83
+ # 输出: ✅ Task T001 marked as complete
84
+ # Progress: 1 completed, 9 remaining
85
+ # Overall: 10% complete
86
+
87
+ # 4. 继续下一个任务 T002
88
+ # ...重复步骤 2-3
89
+ ```
90
+
91
+ ### 场景 2: 发现任务未标记
92
+
93
+ ```bash
94
+ # 1. 发现问题:代码已实现,但 TASKS.md 显示 [ ]
95
+ $ cat devflow/requirements/REQ-123/TASKS.md
96
+ ## Phase 2: Tests First
97
+ - [ ] **T003** Write user creation test # ← 代码已经写了,但未标记
98
+
99
+ # 2. 运行诊断脚本
100
+ $ bash .claude/scripts/sync-task-marks.sh --dry-run
101
+
102
+ 🔍 Checking task completion status for REQ-123...
103
+
104
+ Task Summary:
105
+ Total tasks: 10
106
+ Completed: 2
107
+ Remaining: 8
108
+
109
+ ⚠️ Uncompleted tasks (still marked as [ ]):
110
+ [ ] T003: - [ ] **T003** Write user creation test
111
+ [ ] T004: - [ ] **T004** Write login test
112
+ ...
113
+
114
+ 🔍 DRY RUN - No changes will be made
115
+
116
+ To mark these tasks as complete, run:
117
+ bash .claude/scripts/mark-task-complete.sh T003
118
+ bash .claude/scripts/mark-task-complete.sh T004
119
+ ...
120
+
121
+ # 3. 手动执行标记命令
122
+ bash .claude/scripts/mark-task-complete.sh T003
123
+ bash .claude/scripts/mark-task-complete.sh T004
124
+
125
+ # 或使用交互式模式
126
+ $ bash .claude/scripts/sync-task-marks.sh
127
+ What would you like to do?
128
+
129
+ 1. Show commands to manually mark each task
130
+ 2. Mark all tasks as complete now (auto-mark)
131
+ 3. Exit without changes
132
+
133
+ Choose [1-3]: 1
134
+ ```
135
+
136
+ ### 场景 3: 批量修复(谨慎使用)
137
+
138
+ ```bash
139
+ # 仅在确定所有任务都已完成时使用
140
+ bash .claude/scripts/sync-task-marks.sh --auto-mark
141
+
142
+ ⚠️ AUTO-MARK mode enabled - marking all tasks as complete...
143
+
144
+ Marking T003...
145
+ ✅ Task T003 marked as complete
146
+ Marking T004...
147
+ ✅ Task T004 marked as complete
148
+ ...
149
+
150
+ ✅ All tasks marked as complete
151
+ ```
152
+
153
+ ## 脚本 API
154
+
155
+ ### mark-task-complete.sh
156
+
157
+ 标记单个任务为完成状态。
158
+
159
+ **用法**:
160
+ ```bash
161
+ bash .claude/scripts/mark-task-complete.sh TASK_ID [OPTIONS]
162
+ ```
163
+
164
+ **参数**:
165
+ - `TASK_ID`: 任务ID (如 T001, T002)
166
+
167
+ **选项**:
168
+ - `--json`: JSON 格式输出
169
+ - `--no-log`: 不记录到 EXECUTION_LOG.md
170
+ - `--help`: 显示帮助
171
+
172
+ **返回值**:
173
+ - `0`: 成功标记
174
+ - `1`: 错误(任务不存在、已完成等)
175
+
176
+ **示例**:
177
+ ```bash
178
+ # 标记 T001 为完成
179
+ bash .claude/scripts/mark-task-complete.sh T001
180
+
181
+ # JSON 输出
182
+ bash .claude/scripts/mark-task-complete.sh T005 --json
183
+
184
+ # 不记录日志
185
+ bash .claude/scripts/mark-task-complete.sh T010 --no-log
186
+ ```
187
+
188
+ ### sync-task-marks.sh
189
+
190
+ 诊断和修复未标记的任务。
191
+
192
+ **用法**:
193
+ ```bash
194
+ bash .claude/scripts/sync-task-marks.sh [OPTIONS]
195
+ ```
196
+
197
+ **选项**:
198
+ - `--dry-run`: 只显示要做什么,不实际修改
199
+ - `--auto-mark`: 自动标记所有任务(危险)
200
+ - `--help`: 显示帮助
201
+
202
+ **返回值**:
203
+ - `0`: 成功或所有任务已完成
204
+ - `1`: 错误(无需求ID、目录不存在等)
205
+
206
+ **示例**:
207
+ ```bash
208
+ # 检查状态(推荐先运行)
209
+ bash .claude/scripts/sync-task-marks.sh --dry-run
210
+
211
+ # 交互式修复
212
+ bash .claude/scripts/sync-task-marks.sh
213
+
214
+ # 批量自动标记
215
+ bash .claude/scripts/sync-task-marks.sh --auto-mark
216
+ ```
217
+
218
+ ## 最佳实践
219
+
220
+ ### DO ✅
221
+
222
+ 1. **立即标记**: 完成任务后立即执行 `mark-task-complete.sh`
223
+ 2. **使用脚本**: 始终用脚本,不要手动编辑 TASKS.md
224
+ 3. **验证输出**: 检查脚本输出确认标记成功
225
+ 4. **定期检查**: 在开发过程中定期运行 `sync-task-marks.sh --dry-run`
226
+ 5. **Exit Gate**: 在 `/flow-dev` 结束前验证所有任务已标记
227
+
228
+ ### DON'T ❌
229
+
230
+ 1. **手动编辑**: 不要直接修改 TASKS.md 的复选框
231
+ 2. **批量操作**: 不要等到所有任务完成后再批量标记
232
+ 3. **跳过验证**: 不要忽略脚本输出或进度信息
233
+ 4. **盲目 auto-mark**: 不要在未确认任务完成时使用 `--auto-mark`
234
+ 5. **忽略错误**: 如果标记失败,必须立即调查原因
235
+
236
+ ## 常见问题
237
+
238
+ ### Q: 为什么要使用脚本而不是手动编辑?
239
+
240
+ **A**: 脚本提供:
241
+ - ✅ 标准化的格式(避免手动编辑错误)
242
+ - ✅ 自动记录到 EXECUTION_LOG.md
243
+ - ✅ 更新 orchestration_status.json
244
+ - ✅ 实时进度反馈
245
+ - ✅ 错误检查和验证
246
+
247
+ ### Q: 如果任务已经标记为完成,再次运行会怎样?
248
+
249
+ **A**: 脚本会检测到并提示:
250
+ ```bash
251
+ $ bash .claude/scripts/mark-task-complete.sh T001
252
+ Task T001 is already marked as complete
253
+ ```
254
+
255
+ ### Q: sync-task-marks.sh 如何知道任务是否真的完成了?
256
+
257
+ **A**: 它只检查 TASKS.md 中的复选框状态。实际验证任务是否完成需要:
258
+ - 检查代码文件是否存在
259
+ - 运行测试验证功能
260
+ - 人工 review
261
+
262
+ 使用 `--dry-run` 先检查,然后手动确认每个任务再标记。
263
+
264
+ ### Q: 什么时候使用 --auto-mark?
265
+
266
+ **A**: 只在以下情况:
267
+ - 100% 确定所有显示为 `[ ]` 的任务都已完成
268
+ - 需要快速修复遗留的标记问题
269
+ - 有完整的 Git 历史可以回滚
270
+
271
+ **推荐**: 使用交互式模式,逐个确认每个任务。
272
+
273
+ ## 技术实现
274
+
275
+ ### mark-task-complete.sh 工作原理
276
+
277
+ ```bash
278
+ # 1. 解析任务ID (T001 → T001)
279
+ TASK_ID=$(echo "$TASK_ID" | tr '[:lower:]' '[:upper:]')
280
+
281
+ # 2. 验证格式 (T\d+)
282
+ [[ "$TASK_ID" =~ ^T[0-9]+$ ]]
283
+
284
+ # 3. 查找任务行
285
+ grep -q "\\[ \\] .*$TASK_ID" "$TASKS_FILE"
286
+
287
+ # 4. 替换复选框 ([ ] → [x])
288
+ sed "s/- \[ \] \(\*\*\)\{0,1\}$TASK_ID\(\*\*\)\{0,1\}/- [x] \1$TASK_ID\2/" "$TASKS_FILE"
289
+
290
+ # 5. 记录事件
291
+ log_event "$REQ_ID" "✅ Task $TASK_ID marked as complete"
292
+ ```
293
+
294
+ ### sync-task-marks.sh 工作原理
295
+
296
+ ```bash
297
+ # 1. 统计任务
298
+ TOTAL_TASKS=$(grep -c "^- \[ \]" "$TASKS_FILE")
299
+ COMPLETED_TASKS=$(grep -c "^- \[x\]" "$TASKS_FILE")
300
+
301
+ # 2. 提取未完成任务ID
302
+ while IFS= read -r line; do
303
+ if [[ "$line" =~ \*\*T([0-9]+)\*\* ]]; then
304
+ task_id="T${BASH_REMATCH[1]}"
305
+ UNCOMPLETED+=("$task_id")
306
+ fi
307
+ done < <(grep "^- \[ \]" "$TASKS_FILE")
308
+
309
+ # 3. 显示或执行标记
310
+ for task_id in "${UNCOMPLETED[@]}"; do
311
+ bash mark-task-complete.sh "$task_id"
312
+ done
313
+ ```
314
+
315
+ ## 集成测试
316
+
317
+ 新增的测试套件 `test_sync_task_marks.sh` 验证:
318
+
319
+ - ✅ Help 消息显示
320
+ - ✅ 无需求ID时的错误处理
321
+ - ✅ 需求目录不存在的错误处理
322
+ - ✅ TASKS.md 不存在的错误处理
323
+ - ✅ 所有任务已完成的场景
324
+ - ✅ 列出未完成任务
325
+ - ✅ Dry-run 模式显示命令
326
+
327
+ 运行测试:
328
+ ```bash
329
+ bash .claude/tests/scripts/test_sync_task_marks.sh
330
+ ```
331
+
332
+ ## 相关文档
333
+
334
+ - [mark-task-complete.sh 源码](.claude/scripts/mark-task-complete.sh)
335
+ - [sync-task-marks.sh 源码](.claude/scripts/sync-task-marks.sh)
336
+ - [/flow-dev 命令文档](.claude/commands/flow-dev.md)
337
+ - [TASKS_TEMPLATE.md 模板](.claude/docs/templates/TASKS_TEMPLATE.md)
338
+ - [测试框架](.claude/tests/test-framework.sh)