cc-devflow 4.2.0 → 4.4.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 (559) hide show
  1. package/.claude/skills/cc-act/CHANGELOG.md +64 -0
  2. package/.claude/skills/cc-act/PLAYBOOK.md +212 -0
  3. package/.claude/skills/cc-act/SKILL.md +322 -0
  4. package/.claude/skills/cc-act/assets/PR_BRIEF_TEMPLATE.md +64 -0
  5. package/.claude/skills/cc-act/assets/RELEASE_NOTE_TEMPLATE.md +25 -0
  6. package/.claude/skills/cc-act/references/closure-contract.md +49 -0
  7. package/.claude/skills/cc-act/references/git-commit-guidelines.md +83 -0
  8. package/.claude/skills/cc-act/scripts/archive-requirement.sh +49 -0
  9. package/.claude/skills/cc-act/scripts/cc-act-common.sh +240 -0
  10. package/.claude/skills/cc-act/scripts/detect-ship-target.sh +82 -0
  11. package/.claude/skills/cc-act/scripts/generate-status-report.sh +83 -0
  12. package/.claude/skills/cc-act/scripts/render-pr-brief.sh +195 -0
  13. package/.claude/skills/cc-act/scripts/sync-act-docs.sh +315 -0
  14. package/.claude/skills/cc-act/scripts/verify-act-gate.sh +63 -0
  15. package/.claude/skills/cc-check/CHANGELOG.md +73 -0
  16. package/.claude/skills/cc-check/PLAYBOOK.md +153 -0
  17. package/.claude/skills/cc-check/SKILL.md +345 -0
  18. package/.claude/skills/cc-check/assets/REPORT_CARD_TEMPLATE.json +50 -0
  19. package/.claude/skills/cc-check/references/gate-contract.md +29 -0
  20. package/.claude/skills/cc-check/references/review-contract.md +45 -0
  21. package/.claude/skills/cc-check/scripts/render-report-card.js +229 -0
  22. package/.claude/skills/cc-check/scripts/run-quality-gates.sh +86 -0
  23. package/.claude/skills/cc-check/scripts/verify-gate.sh +57 -0
  24. package/.claude/skills/cc-do/CHANGELOG.md +49 -0
  25. package/.claude/skills/cc-do/PLAYBOOK.md +119 -0
  26. package/.claude/skills/cc-do/SKILL.md +216 -0
  27. package/.claude/skills/cc-do/references/execution-recovery.md +86 -0
  28. package/.claude/skills/cc-do/references/parallel-dispatch.md +80 -0
  29. package/.claude/skills/cc-do/scripts/build-task-context.sh +184 -0
  30. package/.claude/skills/cc-do/scripts/cc-do-common.sh +79 -0
  31. package/.claude/skills/cc-do/scripts/check-task-status.sh +92 -0
  32. package/.claude/skills/cc-do/scripts/detect-file-conflicts.sh +87 -0
  33. package/.claude/skills/cc-do/scripts/mark-task-complete.sh +119 -0
  34. package/.claude/skills/cc-do/scripts/record-review-decision.sh +89 -0
  35. package/.claude/skills/cc-do/scripts/recover-workflow.sh +84 -0
  36. package/.claude/skills/cc-do/scripts/run-problem-analysis.sh +70 -0
  37. package/.claude/skills/cc-do/scripts/select-ready-tasks.sh +135 -0
  38. package/.claude/skills/cc-do/scripts/verify-task-gates.sh +94 -0
  39. package/.claude/skills/cc-do/scripts/write-task-checkpoint.sh +102 -0
  40. package/.claude/skills/cc-investigate/CHANGELOG.md +26 -0
  41. package/.claude/skills/cc-investigate/PLAYBOOK.md +49 -0
  42. package/.claude/skills/cc-investigate/SKILL.md +221 -0
  43. package/.claude/skills/cc-investigate/assets/ANALYSIS_TEMPLATE.md +55 -0
  44. package/.claude/skills/cc-investigate/assets/TASKS_TEMPLATE.md +52 -0
  45. package/.claude/skills/cc-investigate/assets/TASK_MANIFEST_TEMPLATE.json +103 -0
  46. package/.claude/skills/cc-investigate/references/investigation-contract.md +28 -0
  47. package/.claude/skills/cc-investigate/scripts/bootstrap-analysis.sh +38 -0
  48. package/.claude/skills/cc-plan/CHANGELOG.md +99 -0
  49. package/.claude/skills/cc-plan/PLAYBOOK.md +106 -0
  50. package/.claude/skills/cc-plan/SKILL.md +325 -0
  51. package/.claude/skills/cc-plan/assets/DESIGN_TEMPLATE.md +155 -0
  52. package/.claude/skills/cc-plan/assets/TASKS_TEMPLATE.md +98 -0
  53. package/.claude/skills/cc-plan/assets/TASK_MANIFEST_TEMPLATE.json +108 -0
  54. package/.claude/skills/cc-plan/assets/TINY_DESIGN_TEMPLATE.md +79 -0
  55. package/.claude/skills/cc-plan/references/planning-contract.md +82 -0
  56. package/.claude/skills/cc-plan/scripts/bump-skill-version.sh +103 -0
  57. package/.claude/skills/cc-plan/scripts/parse-task-dependencies.js +75 -0
  58. package/.claude/skills/cc-plan/scripts/validate-scope.sh +78 -0
  59. package/.claude/skills/cc-roadmap/CHANGELOG.md +114 -0
  60. package/.claude/skills/cc-roadmap/PLAYBOOK.md +136 -0
  61. package/.claude/skills/cc-roadmap/SKILL.md +259 -0
  62. package/.claude/skills/cc-roadmap/assets/BACKLOG_TEMPLATE.md +45 -0
  63. package/.claude/skills/cc-roadmap/assets/ROADMAP_TEMPLATE.md +153 -0
  64. package/.claude/skills/cc-roadmap/assets/TRACKING_TEMPLATE.json +48 -0
  65. package/.claude/skills/cc-roadmap/references/roadmap-dialogue.md +37 -0
  66. package/.claude/skills/cc-roadmap/scripts/bump-skill-version.sh +103 -0
  67. package/.claude/skills/cc-roadmap/scripts/lib/roadmap-tracking/markdown.js +604 -0
  68. package/.claude/skills/cc-roadmap/scripts/lib/roadmap-tracking/query.js +63 -0
  69. package/.claude/skills/cc-roadmap/scripts/lib/roadmap-tracking/schema.js +245 -0
  70. package/.claude/skills/cc-roadmap/scripts/lib/roadmap-tracking/store.js +139 -0
  71. package/.claude/skills/cc-roadmap/scripts/locate-roadmap-item.sh +109 -0
  72. package/.claude/skills/cc-roadmap/scripts/roadmap-tracking.js +153 -0
  73. package/.claude/skills/cc-roadmap/scripts/sync-roadmap-progress.sh +100 -0
  74. package/.claude/skills/cc-simplify/CHANGELOG.md +10 -0
  75. package/.claude/skills/cc-simplify/SKILL.md +55 -0
  76. package/.claude/skills/cc-spec-init/CHANGELOG.md +7 -0
  77. package/.claude/skills/cc-spec-init/PLAYBOOK.md +55 -0
  78. package/.claude/skills/cc-spec-init/SKILL.md +127 -0
  79. package/.claude/skills/cc-spec-init/assets/CAPABILITY_TEMPLATE.md +63 -0
  80. package/.claude/skills/cc-spec-init/assets/CHANGE_META_TEMPLATE.json +25 -0
  81. package/.claude/skills/cc-spec-init/assets/INDEX_TEMPLATE.md +34 -0
  82. package/.claude/skills/cc-spec-init/references/spec-contract.md +22 -0
  83. package/.claude/skills/cc-spec-init/scripts/bootstrap-specs.sh +31 -0
  84. package/.claude/skills/cc-spec-init/scripts/validate-spec-links.sh +45 -0
  85. package/CHANGELOG.md +101 -4
  86. package/README.md +120 -755
  87. package/README.zh-CN.md +119 -755
  88. package/bin/adapt.js +2 -6
  89. package/bin/cc-devflow-cli.js +72 -177
  90. package/config/distributable-skills.json +24 -0
  91. package/docs/CLAUDE.md +10 -6
  92. package/docs/commands/README.md +19 -46
  93. package/docs/commands/README.zh-CN.md +25 -48
  94. package/docs/examples/BY-ARTIFACT.md +7 -0
  95. package/docs/examples/README.md +38 -0
  96. package/docs/examples/START-HERE.md +149 -0
  97. package/docs/examples/example-bindings.json +38 -0
  98. package/docs/examples/full-design-blocked/BACKLOG.md +45 -0
  99. package/docs/examples/full-design-blocked/README.md +55 -0
  100. package/docs/examples/full-design-blocked/ROADMAP.md +53 -0
  101. package/docs/examples/full-design-blocked/changes/REQ-002-bulk-invite-import/planning/design.md +154 -0
  102. package/docs/examples/full-design-blocked/changes/REQ-002-bulk-invite-import/planning/task-manifest.json +146 -0
  103. package/docs/examples/full-design-blocked/changes/REQ-002-bulk-invite-import/planning/tasks.md +78 -0
  104. package/docs/examples/full-design-blocked/changes/REQ-002-bulk-invite-import/review/report-card.json +52 -0
  105. package/docs/examples/full-design-blocked/roadmap-tracking.json +50 -0
  106. package/docs/examples/local-handoff/BACKLOG.md +45 -0
  107. package/docs/examples/local-handoff/README.md +56 -0
  108. package/docs/examples/local-handoff/ROADMAP.md +45 -0
  109. package/docs/examples/local-handoff/changes/REQ-003-audit-log-export/handoff/resume-index.md +39 -0
  110. package/docs/examples/local-handoff/changes/REQ-003-audit-log-export/handoff/status.md +29 -0
  111. package/docs/examples/local-handoff/changes/REQ-003-audit-log-export/planning/design.md +71 -0
  112. package/docs/examples/local-handoff/changes/REQ-003-audit-log-export/planning/task-manifest.json +98 -0
  113. package/docs/examples/local-handoff/changes/REQ-003-audit-log-export/planning/tasks.md +59 -0
  114. package/docs/examples/local-handoff/changes/REQ-003-audit-log-export/review/report-card.json +44 -0
  115. package/docs/examples/local-handoff/roadmap-tracking.json +48 -0
  116. package/docs/examples/pdca-loop/BACKLOG.md +46 -0
  117. package/docs/examples/pdca-loop/README.md +58 -0
  118. package/docs/examples/pdca-loop/ROADMAP.md +133 -0
  119. package/docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/handoff/pr-brief.md +72 -0
  120. package/docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/handoff/status.md +29 -0
  121. package/docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/planning/design.md +72 -0
  122. package/docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/planning/task-manifest.json +201 -0
  123. package/docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/planning/tasks.md +73 -0
  124. package/docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/review/report-card.json +44 -0
  125. package/docs/examples/pdca-loop/roadmap-tracking.json +114 -0
  126. package/docs/examples/scripts/check-example-bindings.sh +116 -0
  127. package/docs/guides/getting-started.md +94 -129
  128. package/docs/guides/getting-started.zh-CN.md +103 -84
  129. package/docs/skill-runtime-migration.md +46 -0
  130. package/docs/v4.3.0-migration-guide.md +111 -0
  131. package/lib/compiler/CLAUDE.md +55 -84
  132. package/lib/compiler/__tests__/drift.test.js +1 -1
  133. package/lib/compiler/__tests__/errors.test.js +0 -1
  134. package/lib/compiler/__tests__/integration.test.js +49 -3
  135. package/lib/compiler/__tests__/manifest.test.js +0 -156
  136. package/lib/compiler/__tests__/parser.test.js +33 -104
  137. package/lib/compiler/__tests__/schemas.test.js +30 -34
  138. package/lib/compiler/__tests__/skills-registry.test.js +114 -0
  139. package/lib/compiler/__tests__/transformer.test.js +5 -9
  140. package/lib/compiler/emitters/antigravity-emitter.js +5 -213
  141. package/lib/compiler/emitters/base-emitter.js +3 -298
  142. package/lib/compiler/emitters/codex-emitter.js +4 -202
  143. package/lib/compiler/emitters/cursor-emitter.js +3 -287
  144. package/lib/compiler/emitters/qwen-emitter.js +4 -176
  145. package/lib/compiler/index.js +65 -345
  146. package/lib/compiler/manifest.js +6 -68
  147. package/lib/compiler/parser.js +31 -63
  148. package/lib/compiler/platforms.js +32 -277
  149. package/lib/compiler/resource-copier.js +176 -6
  150. package/lib/compiler/rules-emitters/__tests__/antigravity-rules-emitter.test.js +3 -3
  151. package/lib/compiler/rules-emitters/__tests__/cursor-rules-emitter.test.js +14 -4
  152. package/lib/compiler/rules-emitters/__tests__/qwen-rules-emitter.test.js +16 -7
  153. package/lib/compiler/rules-emitters/antigravity-rules-emitter.js +10 -15
  154. package/lib/compiler/rules-emitters/base-rules-emitter.js +5 -5
  155. package/lib/compiler/rules-emitters/cursor-rules-emitter.js +7 -12
  156. package/lib/compiler/rules-emitters/index.js +6 -3
  157. package/lib/compiler/rules-emitters/qwen-rules-emitter.js +7 -7
  158. package/lib/compiler/schemas.js +8 -4
  159. package/lib/compiler/skills-registry.js +213 -15
  160. package/lib/compiler/transformer.js +1 -1
  161. package/lib/skill-runtime/CLAUDE.md +19 -0
  162. package/lib/skill-runtime/__tests__/autopilot.test.js +210 -0
  163. package/lib/skill-runtime/__tests__/cli-bootstrap.integration.test.js +181 -0
  164. package/lib/skill-runtime/__tests__/delegation.test.js +97 -0
  165. package/lib/skill-runtime/__tests__/dispatch.test.js +267 -0
  166. package/lib/skill-runtime/__tests__/intent.test.js +219 -0
  167. package/lib/skill-runtime/__tests__/lifecycle.test.js +169 -0
  168. package/lib/skill-runtime/__tests__/paths.test.js +42 -0
  169. package/lib/skill-runtime/__tests__/planner.tdd.test.js +250 -0
  170. package/lib/skill-runtime/__tests__/prepare-pr.test.js +139 -0
  171. package/lib/skill-runtime/__tests__/query.test.js +284 -0
  172. package/lib/skill-runtime/__tests__/runtime.integration.test.js +279 -0
  173. package/lib/skill-runtime/__tests__/schemas.test.js +207 -0
  174. package/lib/skill-runtime/__tests__/team-state.test.js +51 -0
  175. package/lib/skill-runtime/__tests__/worker-run.test.js +253 -0
  176. package/lib/skill-runtime/__tests__/worker.test.js +56 -0
  177. package/lib/skill-runtime/artifacts.js +93 -0
  178. package/lib/skill-runtime/delegation.js +533 -0
  179. package/lib/skill-runtime/index.js +34 -0
  180. package/lib/skill-runtime/intent.js +333 -0
  181. package/lib/skill-runtime/lifecycle.js +294 -0
  182. package/lib/skill-runtime/operations/CLAUDE.md +19 -0
  183. package/lib/skill-runtime/operations/approve.js +66 -0
  184. package/lib/skill-runtime/operations/autopilot-core.js +337 -0
  185. package/lib/skill-runtime/operations/autopilot-execution.js +307 -0
  186. package/lib/skill-runtime/operations/autopilot-shared.js +48 -0
  187. package/lib/skill-runtime/operations/autopilot.js +163 -0
  188. package/lib/skill-runtime/operations/dispatch.js +454 -0
  189. package/lib/skill-runtime/operations/init.js +64 -0
  190. package/lib/{harness → skill-runtime}/operations/janitor.js +9 -6
  191. package/lib/skill-runtime/operations/plan.js +59 -0
  192. package/lib/skill-runtime/operations/prepare-pr.js +25 -0
  193. package/lib/{harness → skill-runtime}/operations/release.js +18 -5
  194. package/lib/skill-runtime/operations/resume.js +143 -0
  195. package/lib/skill-runtime/operations/snapshot.js +45 -0
  196. package/lib/skill-runtime/operations/verify.js +170 -0
  197. package/lib/skill-runtime/operations/worker-run.js +529 -0
  198. package/lib/skill-runtime/operations/worker.js +33 -0
  199. package/lib/skill-runtime/paths.js +213 -0
  200. package/lib/skill-runtime/planner.js +519 -0
  201. package/lib/skill-runtime/query.js +157 -0
  202. package/lib/skill-runtime/review.js +557 -0
  203. package/lib/skill-runtime/schemas.js +400 -0
  204. package/lib/{harness → skill-runtime}/store.js +45 -30
  205. package/lib/skill-runtime/team-state.js +122 -0
  206. package/package.json +13 -11
  207. package/.claude/CLAUDE.md +0 -125
  208. package/.claude/agents/architecture-designer.md +0 -443
  209. package/.claude/agents/bug-analyzer.md +0 -381
  210. package/.claude/agents/checklist-agent.md +0 -175
  211. package/.claude/agents/clarify-analyst.md +0 -50
  212. package/.claude/agents/code-quality-reviewer.md +0 -205
  213. package/.claude/agents/code-reviewer.md +0 -71
  214. package/.claude/agents/codex-analyzer.md +0 -39
  215. package/.claude/agents/compatibility-checker.md +0 -579
  216. package/.claude/agents/consistency-checker.md +0 -532
  217. package/.claude/agents/dev-implementer.md +0 -195
  218. package/.claude/agents/flow-researcher.md +0 -132
  219. package/.claude/agents/impact-analyzer.md +0 -440
  220. package/.claude/agents/planner.md +0 -230
  221. package/.claude/agents/prd-writer.md +0 -320
  222. package/.claude/agents/project-guidelines-generator.md +0 -1329
  223. package/.claude/agents/qa-tester.md +0 -313
  224. package/.claude/agents/release-manager.md +0 -295
  225. package/.claude/agents/security-reviewer.md +0 -314
  226. package/.claude/agents/spec-reviewer.md +0 -221
  227. package/.claude/agents/style-guide-generator.md +0 -458
  228. package/.claude/agents/tech-architect.md +0 -516
  229. package/.claude/agents/ui-designer.md +0 -485
  230. package/.claude/commands/core/architecture.md +0 -459
  231. package/.claude/commands/core/guidelines.md +0 -511
  232. package/.claude/commands/core/roadmap.md +0 -468
  233. package/.claude/commands/core/style.md +0 -83
  234. package/.claude/commands/flow/CLAUDE.md +0 -28
  235. package/.claude/commands/flow/archive.md +0 -280
  236. package/.claude/commands/flow/checklist.md +0 -18
  237. package/.claude/commands/flow/clarify.md +0 -18
  238. package/.claude/commands/flow/constitution.md +0 -82
  239. package/.claude/commands/flow/context.md +0 -150
  240. package/.claude/commands/flow/delta.md +0 -245
  241. package/.claude/commands/flow/dev.md +0 -40
  242. package/.claude/commands/flow/fix.md +0 -217
  243. package/.claude/commands/flow/ideate.md +0 -214
  244. package/.claude/commands/flow/init.md +0 -38
  245. package/.claude/commands/flow/new.md +0 -23
  246. package/.claude/commands/flow/quality.md +0 -21
  247. package/.claude/commands/flow/release.md +0 -36
  248. package/.claude/commands/flow/restart.md +0 -97
  249. package/.claude/commands/flow/spec.md +0 -36
  250. package/.claude/commands/flow/status.md +0 -64
  251. package/.claude/commands/flow/update.md +0 -111
  252. package/.claude/commands/flow/upgrade.md +0 -115
  253. package/.claude/commands/flow/verify.md +0 -37
  254. package/.claude/commands/flow/workspace.md +0 -155
  255. package/.claude/commands/util/cancel-ralph.md +0 -60
  256. package/.claude/commands/util/code-review.md +0 -58
  257. package/.claude/commands/util/git-commit.md +0 -422
  258. package/.claude/commands/util/problem-analyzer.md +0 -60
  259. package/.claude/config/quality-gates.yml +0 -305
  260. package/.claude/config/quality-rules.yml +0 -161
  261. package/.claude/docs/SPEC_KIT_CONSTITUTION_ANALYSIS.md +0 -426
  262. package/.claude/docs/design/consistency-conflict-detection-algorithms.md +0 -658
  263. package/.claude/docs/design/intent-driven-input-design.md +0 -380
  264. package/.claude/docs/design/prd-version-management-design.md +0 -437
  265. package/.claude/docs/guides/INIT_TROUBLESHOOTING.md +0 -117
  266. package/.claude/docs/guides/NEW_TROUBLESHOOTING.md +0 -99
  267. package/.claude/docs/guides/ROADMAP_TROUBLESHOOTING.md +0 -188
  268. package/.claude/docs/guides/TASK_COMPLETION_MARKING.md +0 -338
  269. package/.claude/docs/guides/TEAM_MODE_GUIDE.md +0 -312
  270. package/.claude/docs/templates/ARCHITECTURE_TEMPLATE.md +0 -633
  271. package/.claude/docs/templates/ATTEMPT_TEMPLATE.md +0 -156
  272. package/.claude/docs/templates/BACKLOG_TEMPLATE.md +0 -261
  273. package/.claude/docs/templates/BRAINSTORM_TEMPLATE.md +0 -148
  274. package/.claude/docs/templates/CHECKLIST_TEMPLATE.md +0 -52
  275. package/.claude/docs/templates/CLARIFICATION_REPORT_TEMPLATE.md +0 -206
  276. package/.claude/docs/templates/CODE_REVIEW_TEMPLATE.md +0 -71
  277. package/.claude/docs/templates/DELTA_SPEC_TEMPLATE.md +0 -91
  278. package/.claude/docs/templates/DESIGN_DECISIONS_TEMPLATE.md +0 -151
  279. package/.claude/docs/templates/EPIC_TEMPLATE.md +0 -805
  280. package/.claude/docs/templates/ERROR_LOG_TEMPLATE.md +0 -80
  281. package/.claude/docs/templates/INIT_FLOW_TEMPLATE.md +0 -198
  282. package/.claude/docs/templates/INTENT_CLARIFICATION_TEMPLATE.md +0 -57
  283. package/.claude/docs/templates/JOURNAL_TEMPLATE.md +0 -75
  284. package/.claude/docs/templates/NEW_ORCHESTRATION_TEMPLATE.md +0 -76
  285. package/.claude/docs/templates/PRD_TEMPLATE.md +0 -562
  286. package/.claude/docs/templates/RESEARCH_TEMPLATE.md +0 -276
  287. package/.claude/docs/templates/REVIEW-HIGH.md +0 -57
  288. package/.claude/docs/templates/ROADMAP_DIALOGUE_TEMPLATE.md +0 -198
  289. package/.claude/docs/templates/ROADMAP_TEMPLATE.md +0 -310
  290. package/.claude/docs/templates/STYLE_TEMPLATE.md +0 -1266
  291. package/.claude/docs/templates/TASKS_TEMPLATE.md +0 -523
  292. package/.claude/docs/templates/TECH_DESIGN_TEMPLATE.md +0 -1019
  293. package/.claude/docs/templates/UI_PROTOTYPE_TEMPLATE.md +0 -1435
  294. package/.claude/docs/templates/_shared/CLAUDE.md +0 -36
  295. package/.claude/docs/templates/_shared/CONSTITUTION_CHECK.md +0 -125
  296. package/.claude/docs/templates/_shared/VALIDATION_CHECKLIST.md +0 -187
  297. package/.claude/docs/templates/_shared/YAML_FRONTMATTER.md +0 -164
  298. package/.claude/docs/templates/context/dev.jsonl.template +0 -6
  299. package/.claude/docs/templates/context/epic.jsonl.template +0 -5
  300. package/.claude/docs/templates/context/prd.jsonl.template +0 -4
  301. package/.claude/docs/templates/context/research.jsonl.template +0 -4
  302. package/.claude/docs/templates/context/review.jsonl.template +0 -5
  303. package/.claude/docs/templates/context/tech.jsonl.template +0 -5
  304. package/.claude/guides/agent-guides/agent-coordination-guide.md +0 -459
  305. package/.claude/guides/project-guidelines-system.md +0 -463
  306. package/.claude/guides/technical-guides/datetime-handling-guide.md +0 -563
  307. package/.claude/guides/technical-guides/git-github-guide.md +0 -642
  308. package/.claude/guides/technical-guides/test-execution-guide.md +0 -618
  309. package/.claude/guides/workflow-guides/bug-fix-orchestrator.md +0 -217
  310. package/.claude/guides/workflow-guides/flow-orchestrator.md +0 -48
  311. package/.claude/hooks/CLAUDE.md +0 -342
  312. package/.claude/hooks/checklist-gate.js +0 -397
  313. package/.claude/hooks/error-handling-reminder.sh +0 -12
  314. package/.claude/hooks/error-handling-reminder.ts +0 -459
  315. package/.claude/hooks/hooks.json +0 -15
  316. package/.claude/hooks/inject-agent-context.ts +0 -480
  317. package/.claude/hooks/inject-skill-context.ts +0 -359
  318. package/.claude/hooks/post-tool-use-tracker.sh +0 -280
  319. package/.claude/hooks/pre-tool-use-guardrail.sh +0 -36
  320. package/.claude/hooks/pre-tool-use-guardrail.ts +0 -342
  321. package/.claude/hooks/ralph-loop.ts +0 -931
  322. package/.claude/hooks/ralph-stop-hook.sh +0 -190
  323. package/.claude/hooks/skill-activation-prompt.sh +0 -36
  324. package/.claude/hooks/skill-activation-prompt.ts +0 -214
  325. package/.claude/hooks/state/skills-used-test-guard.json +0 -3
  326. package/.claude/hooks/task-completed-hook.ts +0 -593
  327. package/.claude/hooks/teammate-idle-hook.ts +0 -690
  328. package/.claude/hooks/types/team-types.d.ts +0 -238
  329. package/.claude/rules/devflow-conventions.md +0 -286
  330. package/.claude/rules/project-constitution.md +0 -1002
  331. package/.claude/rules/rationalization-library.md +0 -282
  332. package/.claude/schemas/constitution.schema.json +0 -43
  333. package/.claude/scripts/CLAUDE.md +0 -76
  334. package/.claude/scripts/analyze-upgrade-impact.sh +0 -200
  335. package/.claude/scripts/archive-requirement.sh +0 -394
  336. package/.claude/scripts/calculate-checklist-completion.sh +0 -243
  337. package/.claude/scripts/calculate-quarter.sh +0 -206
  338. package/.claude/scripts/check-dependencies.sh +0 -409
  339. package/.claude/scripts/check-prerequisites.sh +0 -232
  340. package/.claude/scripts/check-task-status.sh +0 -288
  341. package/.claude/scripts/checklist-errors.sh +0 -131
  342. package/.claude/scripts/common.sh +0 -1102
  343. package/.claude/scripts/consolidate-research.sh +0 -182
  344. package/.claude/scripts/create-requirement.sh +0 -451
  345. package/.claude/scripts/delta-parser.ts +0 -527
  346. package/.claude/scripts/detect-file-conflicts.sh +0 -151
  347. package/.claude/scripts/export-contracts.sh +0 -117
  348. package/.claude/scripts/extract-data-model.sh +0 -78
  349. package/.claude/scripts/flow-context-add.sh +0 -134
  350. package/.claude/scripts/flow-context-init.sh +0 -133
  351. package/.claude/scripts/flow-context-validate.sh +0 -144
  352. package/.claude/scripts/flow-delta-apply.sh +0 -297
  353. package/.claude/scripts/flow-delta-archive.sh +0 -71
  354. package/.claude/scripts/flow-delta-create.sh +0 -202
  355. package/.claude/scripts/flow-delta-list.sh +0 -142
  356. package/.claude/scripts/flow-delta-status.sh +0 -235
  357. package/.claude/scripts/flow-quality-full.sh +0 -215
  358. package/.claude/scripts/flow-quality-quick.sh +0 -119
  359. package/.claude/scripts/flow-workspace-init.sh +0 -117
  360. package/.claude/scripts/flow-workspace-record.sh +0 -164
  361. package/.claude/scripts/generate-clarification-questions.sh +0 -377
  362. package/.claude/scripts/generate-clarification-report.sh +0 -463
  363. package/.claude/scripts/generate-quickstart.sh +0 -146
  364. package/.claude/scripts/generate-research-tasks.sh +0 -157
  365. package/.claude/scripts/generate-status-report.sh +0 -523
  366. package/.claude/scripts/generate-tech-analysis.sh +0 -46
  367. package/.claude/scripts/get-workflow-status.sh +0 -415
  368. package/.claude/scripts/locate-requirement-in-roadmap.sh +0 -233
  369. package/.claude/scripts/manage-constitution.sh +0 -602
  370. package/.claude/scripts/mark-task-complete.sh +0 -198
  371. package/.claude/scripts/parse-task-dependencies.js +0 -334
  372. package/.claude/scripts/populate-research-tasks.sh +0 -284
  373. package/.claude/scripts/record-quality-error.sh +0 -165
  374. package/.claude/scripts/recover-workflow.sh +0 -463
  375. package/.claude/scripts/run-clarify-scan.sh +0 -601
  376. package/.claude/scripts/run-high-review.sh +0 -62
  377. package/.claude/scripts/run-problem-analysis.sh +0 -68
  378. package/.claude/scripts/run-quality-gates.sh +0 -242
  379. package/.claude/scripts/setup-epic.sh +0 -173
  380. package/.claude/scripts/setup-ralph-loop.sh +0 -155
  381. package/.claude/scripts/sync-roadmap-progress.sh +0 -300
  382. package/.claude/scripts/sync-task-marks.sh +0 -199
  383. package/.claude/scripts/team-dev-init.sh +0 -319
  384. package/.claude/scripts/team-state-recovery.sh +0 -229
  385. package/.claude/scripts/test-clarify-scan.sh +0 -515
  386. package/.claude/scripts/update-agent-context.sh +0 -806
  387. package/.claude/scripts/validate-constitution.sh +0 -567
  388. package/.claude/scripts/validate-hooks.sh +0 -487
  389. package/.claude/scripts/validate-research.sh +0 -332
  390. package/.claude/scripts/validate-scope-boundary.sh +0 -493
  391. package/.claude/scripts/verify-gate.sh +0 -269
  392. package/.claude/scripts/verify-setup.sh +0 -37
  393. package/.claude/scripts/workflow-status.ts +0 -433
  394. package/.claude/settings.json +0 -95
  395. package/.claude/skills/_reference-implementations/README.md +0 -96
  396. package/.claude/skills/_reference-implementations/backend-express-prisma/SKILL.md +0 -302
  397. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/architecture-overview.md +0 -451
  398. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/async-and-errors.md +0 -307
  399. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/complete-examples.md +0 -638
  400. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/configuration.md +0 -275
  401. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/database-patterns.md +0 -224
  402. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/middleware-guide.md +0 -213
  403. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/routing-and-controllers.md +0 -756
  404. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/sentry-and-monitoring.md +0 -336
  405. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/services-and-repositories.md +0 -789
  406. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/testing-guide.md +0 -235
  407. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/validation-patterns.md +0 -754
  408. package/.claude/skills/_reference-implementations/frontend-react-mui/SKILL.md +0 -399
  409. package/.claude/skills/_reference-implementations/frontend-react-mui/resources/common-patterns.md +0 -331
  410. package/.claude/skills/_reference-implementations/frontend-react-mui/resources/complete-examples.md +0 -872
  411. package/.claude/skills/_reference-implementations/frontend-react-mui/resources/component-patterns.md +0 -502
  412. package/.claude/skills/_reference-implementations/frontend-react-mui/resources/data-fetching.md +0 -767
  413. package/.claude/skills/_reference-implementations/frontend-react-mui/resources/file-organization.md +0 -502
  414. package/.claude/skills/_reference-implementations/frontend-react-mui/resources/loading-and-error-states.md +0 -501
  415. package/.claude/skills/_reference-implementations/frontend-react-mui/resources/performance.md +0 -406
  416. package/.claude/skills/_reference-implementations/frontend-react-mui/resources/routing-guide.md +0 -364
  417. package/.claude/skills/_reference-implementations/frontend-react-mui/resources/styling-guide.md +0 -428
  418. package/.claude/skills/_reference-implementations/frontend-react-mui/resources/typescript-standards.md +0 -418
  419. package/.claude/skills/cc-devflow-orchestrator/SKILL.md +0 -169
  420. package/.claude/skills/domain/attention-refresh/SKILL.md +0 -170
  421. package/.claude/skills/domain/brainstorming/SKILL.md +0 -161
  422. package/.claude/skills/domain/debugging/SKILL.md +0 -221
  423. package/.claude/skills/domain/finishing-branch/SKILL.md +0 -189
  424. package/.claude/skills/domain/receiving-review/SKILL.md +0 -153
  425. package/.claude/skills/domain/tdd/SKILL.md +0 -218
  426. package/.claude/skills/domain/verification/SKILL.md +0 -158
  427. package/.claude/skills/guardrail/constitution-guardian/SKILL.md +0 -306
  428. package/.claude/skills/guardrail/tdd-enforcer/SKILL.md +0 -192
  429. package/.claude/skills/skill-rules.json +0 -359
  430. package/.claude/skills/utility/constitution-quick-ref/SKILL.md +0 -374
  431. package/.claude/skills/utility/file-standards/SKILL.md +0 -353
  432. package/.claude/skills/utility/fractal-docs/SKILL.md +0 -45
  433. package/.claude/skills/utility/journey-checker/SKILL.md +0 -199
  434. package/.claude/skills/utility/journey-checker/pressure-scenarios.md +0 -164
  435. package/.claude/skills/utility/npm-release/SKILL.md +0 -314
  436. package/.claude/skills/utility/skill-creator/LICENSE.txt +0 -202
  437. package/.claude/skills/utility/skill-creator/SKILL.md +0 -356
  438. package/.claude/skills/utility/skill-creator/references/output-patterns.md +0 -82
  439. package/.claude/skills/utility/skill-creator/references/workflows.md +0 -28
  440. package/.claude/skills/utility/skill-creator/scripts/init_skill.py +0 -303
  441. package/.claude/skills/utility/skill-creator/scripts/package_skill.py +0 -110
  442. package/.claude/skills/utility/skill-creator/scripts/quick_validate.py +0 -95
  443. package/.claude/skills/workflow/CLAUDE.md +0 -24
  444. package/.claude/skills/workflow/flow-dev/CLAUDE.md +0 -16
  445. package/.claude/skills/workflow/flow-dev/SKILL.md +0 -94
  446. package/.claude/skills/workflow/flow-dev/assets/IMPLEMENTATION_PLAN_TEMPLATE.md +0 -71
  447. package/.claude/skills/workflow/flow-dev/context.jsonl +0 -4
  448. package/.claude/skills/workflow/flow-dev/dev-implementer.jsonl +0 -8
  449. package/.claude/skills/workflow/flow-dev/scripts/entry-gate.sh +0 -116
  450. package/.claude/skills/workflow/flow-dev/scripts/exit-gate.sh +0 -101
  451. package/.claude/skills/workflow/flow-dev/scripts/task-orchestrator.sh +0 -106
  452. package/.claude/skills/workflow/flow-fix/SKILL.md +0 -105
  453. package/.claude/skills/workflow/flow-fix/context.jsonl +0 -6
  454. package/.claude/skills/workflow/flow-fix/references/bug-analyzer.md +0 -381
  455. package/.claude/skills/workflow/flow-init/SKILL.md +0 -84
  456. package/.claude/skills/workflow/flow-init/assets/BRAINSTORM_TEMPLATE.md +0 -148
  457. package/.claude/skills/workflow/flow-init/assets/INIT_FLOW_TEMPLATE.md +0 -198
  458. package/.claude/skills/workflow/flow-init/assets/RESEARCH_TEMPLATE.md +0 -276
  459. package/.claude/skills/workflow/flow-init/context.jsonl +0 -5
  460. package/.claude/skills/workflow/flow-init/references/flow-researcher.md +0 -132
  461. package/.claude/skills/workflow/flow-init/scripts/check-prerequisites.sh +0 -240
  462. package/.claude/skills/workflow/flow-init/scripts/consolidate-research.sh +0 -182
  463. package/.claude/skills/workflow/flow-init/scripts/create-requirement.sh +0 -404
  464. package/.claude/skills/workflow/flow-init/scripts/generate-research-tasks.sh +0 -157
  465. package/.claude/skills/workflow/flow-init/scripts/populate-research-tasks.sh +0 -284
  466. package/.claude/skills/workflow/flow-init/scripts/validate-research.sh +0 -340
  467. package/.claude/skills/workflow/flow-quality/SKILL.md +0 -98
  468. package/.claude/skills/workflow/flow-quality/context.jsonl +0 -6
  469. package/.claude/skills/workflow/flow-quality/references/code-quality-reviewer.md +0 -205
  470. package/.claude/skills/workflow/flow-quality/references/qa-tester.md +0 -313
  471. package/.claude/skills/workflow/flow-quality/references/security-reviewer.md +0 -314
  472. package/.claude/skills/workflow/flow-quality/references/spec-reviewer.md +0 -221
  473. package/.claude/skills/workflow/flow-release/SKILL.md +0 -49
  474. package/.claude/skills/workflow/flow-release/context.jsonl +0 -5
  475. package/.claude/skills/workflow/flow-release/references/release-manager.md +0 -295
  476. package/.claude/skills/workflow/flow-spec/CLAUDE.md +0 -17
  477. package/.claude/skills/workflow/flow-spec/SKILL.md +0 -74
  478. package/.claude/skills/workflow/flow-spec/context.jsonl +0 -5
  479. package/.claude/skills/workflow/flow-spec/scripts/entry-gate.sh +0 -194
  480. package/.claude/skills/workflow/flow-spec/scripts/exit-gate.sh +0 -244
  481. package/.claude/skills/workflow/flow-spec/scripts/parallel-orchestrator.sh +0 -205
  482. package/.claude/skills/workflow/flow-spec/scripts/team-communication.sh +0 -353
  483. package/.claude/skills/workflow/flow-spec/scripts/team-init.sh +0 -195
  484. package/.claude/skills/workflow/flow-spec/scripts/test-team-mode.sh +0 -496
  485. package/.claude/skills/workflow/flow-spec/team-config.json +0 -165
  486. package/.claude/skills/workflow/flow-verify/CLAUDE.md +0 -10
  487. package/.claude/skills/workflow/flow-verify/SKILL.md +0 -53
  488. package/.claude/skills/workflow/flow-verify/context.jsonl +0 -5
  489. package/.claude/skills/workflow.yaml +0 -219
  490. package/.claude/tests/README.md +0 -300
  491. package/.claude/tests/TODO.md +0 -69
  492. package/.claude/tests/__pycache__/test_analyze_upgrade_impact.cpython-311-pytest-7.2.2.pyc +0 -0
  493. package/.claude/tests/__pycache__/test_consolidate_research.cpython-311-pytest-7.2.2.pyc +0 -0
  494. package/.claude/tests/__pycache__/test_export_contracts.cpython-311-pytest-7.2.2.pyc +0 -0
  495. package/.claude/tests/__pycache__/test_extract_data_model.cpython-311-pytest-7.2.2.pyc +0 -0
  496. package/.claude/tests/__pycache__/test_generate_quickstart.cpython-311-pytest-7.2.2.pyc +0 -0
  497. package/.claude/tests/__pycache__/test_generate_research_tasks.cpython-311-pytest-7.2.2.pyc +0 -0
  498. package/.claude/tests/constitution/run_all_constitution_tests.sh +0 -111
  499. package/.claude/tests/constitution/test_agent_assignment.sh +0 -207
  500. package/.claude/tests/constitution/test_article_coverage.sh +0 -201
  501. package/.claude/tests/constitution/test_template_completeness.sh +0 -150
  502. package/.claude/tests/constitution/test_version_consistency.sh +0 -120
  503. package/.claude/tests/fixtures/spec_delta_full.md +0 -16
  504. package/.claude/tests/fixtures/tasks_progress_sample.md +0 -5
  505. package/.claude/tests/run-all-tests.sh +0 -229
  506. package/.claude/tests/scripts/run.sh +0 -30
  507. package/.claude/tests/scripts/test-framework.sh +0 -128
  508. package/.claude/tests/scripts/test_check_prerequisites.sh +0 -511
  509. package/.claude/tests/scripts/test_check_prerequisites.sh.bak +0 -504
  510. package/.claude/tests/scripts/test_check_prerequisites.sh.bak2 +0 -505
  511. package/.claude/tests/scripts/test_check_prerequisites.sh.bak3 +0 -506
  512. package/.claude/tests/scripts/test_check_prerequisites.sh.bak4 +0 -507
  513. package/.claude/tests/scripts/test_check_prerequisites.sh.bak5 +0 -508
  514. package/.claude/tests/scripts/test_check_task_status.sh +0 -499
  515. package/.claude/tests/scripts/test_common.sh +0 -244
  516. package/.claude/tests/scripts/test_generate_status_report.sh +0 -71
  517. package/.claude/tests/scripts/test_mark_task_complete.sh +0 -441
  518. package/.claude/tests/scripts/test_mark_task_complete.sh.backup +0 -410
  519. package/.claude/tests/scripts/test_recover_workflow.sh +0 -304
  520. package/.claude/tests/scripts/test_setup_epic.sh +0 -437
  521. package/.claude/tests/scripts/test_sync_task_marks.sh +0 -196
  522. package/.claude/tests/scripts/test_validate_constitution.sh +0 -74
  523. package/.claude/tests/scripts/test_validate_research.sh +0 -462
  524. package/.claude/tests/slugify.bats +0 -82
  525. package/.claude/tests/test-framework.sh +0 -732
  526. package/.claude/tests/test_analyze_upgrade_impact.py +0 -34
  527. package/.claude/tests/test_consolidate_research.py +0 -48
  528. package/.claude/tests/test_export_contracts.py +0 -43
  529. package/.claude/tests/test_extract_data_model.py +0 -33
  530. package/.claude/tests/test_generate_quickstart.py +0 -50
  531. package/.claude/tests/test_generate_research_tasks.py +0 -52
  532. package/bin/harness.js +0 -22
  533. package/docs/commands/core-roadmap.md +0 -106
  534. package/docs/commands/core-roadmap.zh-CN.md +0 -102
  535. package/docs/commands/core-style.md +0 -53
  536. package/docs/commands/core-style.zh-CN.md +0 -53
  537. package/docs/commands/flow-init.md +0 -140
  538. package/docs/commands/flow-init.zh-CN.md +0 -169
  539. package/docs/commands/flow-new.md +0 -39
  540. package/docs/commands/flow-new.zh-CN.md +0 -39
  541. package/lib/compiler/__tests__/compile-regression.test.js +0 -103
  542. package/lib/compiler/__tests__/multi-module-emitters.test.js +0 -534
  543. package/lib/compiler/__tests__/resource-copier.test.js +0 -26
  544. package/lib/compiler/__tests__/skill-discovery.test.js +0 -72
  545. package/lib/compiler/context-expander.js +0 -179
  546. package/lib/compiler/rules-emitters/__tests__/codex-rules-emitter.test.js +0 -109
  547. package/lib/compiler/rules-emitters/codex-rules-emitter.js +0 -116
  548. package/lib/compiler/skill-discovery.js +0 -68
  549. package/lib/harness/CLAUDE.md +0 -21
  550. package/lib/harness/cli.js +0 -208
  551. package/lib/harness/index.js +0 -16
  552. package/lib/harness/operations/dispatch.js +0 -285
  553. package/lib/harness/operations/init.js +0 -48
  554. package/lib/harness/operations/pack.js +0 -100
  555. package/lib/harness/operations/plan.js +0 -29
  556. package/lib/harness/operations/resume.js +0 -44
  557. package/lib/harness/operations/verify.js +0 -163
  558. package/lib/harness/planner.js +0 -141
  559. package/lib/harness/schemas.js +0 -108
@@ -0,0 +1,79 @@
1
+ # DESIGN
2
+
3
+ ## Document Meta
4
+
5
+ - Requirement version:
6
+ - Design version:
7
+ - CC-Plan skill version:
8
+ - Requirement ID:
9
+ - Design mode: `tiny-design`
10
+ - Why this stays `tiny-design`:
11
+ - Approval status: `draft` | `in-review` | `approved`
12
+ - Source roadmap item:
13
+ - Source roadmap version:
14
+ - Primary capability:
15
+ - Secondary capabilities:
16
+
17
+ ## Source Handoff
18
+
19
+ - Why now:
20
+ - Capability gap:
21
+ - Expected spec delta:
22
+ - Inherited success signal:
23
+ - Inherited kill signal:
24
+ - Inherited non-goals:
25
+ - Upstream evidence:
26
+
27
+ ## Capability Handoff
28
+
29
+ - Canonical capability spec:
30
+ - Current truth to preserve:
31
+ - Current gaps:
32
+ - Spec sync target:
33
+
34
+ ## Frozen Design Card
35
+
36
+ - Change:
37
+ - Keep out:
38
+ - Touched files:
39
+ - Contract changes:
40
+ - Invariant impact:
41
+ - Gap changes:
42
+ - Key decisions that `cc-do` must not re-decide:
43
+ - Upgrade trigger to `full-design`:
44
+
45
+ ## Validation
46
+
47
+ - First failing test:
48
+ - Green implementation check:
49
+ - Refactor checkpoint:
50
+ - TDD exceptions:
51
+ - Primary check:
52
+ - Secondary checks:
53
+ - Evidence to collect:
54
+
55
+ ## Main Risk
56
+
57
+ - Risk:
58
+ - Mitigation:
59
+
60
+ ## Review Gate
61
+
62
+ - Placeholder scan:
63
+ - Consistency scan:
64
+ - Scope scan:
65
+ - Ambiguity scan:
66
+ - Feasibility scan:
67
+ - Test-first readiness:
68
+ - Final recommendation:
69
+
70
+ ## Approval
71
+
72
+ - User approval status:
73
+ - Deferred questions:
74
+
75
+ ## First-Read Test
76
+
77
+ - 一眼能看出这次为什么够小
78
+ - 一眼能看出什么情况会逼它升级成 `full-design`
79
+ - `cc-do` 看完不会继续追问“那接口 / 边界到底怎么算”
@@ -0,0 +1,82 @@
1
+ # Planning Contract
2
+
3
+ ## Hard Rules
4
+
5
+ 1. `cc-plan` 默认只产出 4 个文件:`planning/design.md`、`planning/tasks.md`、`planning/task-manifest.json`、`change-meta.json`。
6
+ 2. clarification / brainstorm / review 结论必须并入 `planning/design.md`,不能再默认拆独立文档。
7
+ 3. 执行 handoff 必须写进 `planning/tasks.md` 顶部,不能依赖单独的 `context-package.md`。
8
+ 4. `planning/task-manifest.json` 必须和 `planning/tasks.md` 同步,且能告诉 `cc-do` 当前任务是谁。
9
+ 5. `planning/design.md`、`planning/tasks.md`、`planning/task-manifest.json` 必须记录来源版本链。
10
+ 6. 计划里出现 placeholder 词,就说明还没想清楚。
11
+ 7. 一次只推进一个澄清问题,不允许问题轰炸。
12
+ 8. 推荐方案没获批前,不允许继续拆执行任务。
13
+ 9. `planning/design.md` 通过 review gate 前,不允许宣称计划完成。
14
+ 10. 如果来自 `roadmap`,planning 不得悄悄丢掉 source constraints / non-goals / success signal。
15
+ 11. 每个计划必须先找 existing leverage,再决定新增实现;重复已有能力属于 planning 失败。
16
+ 12. 同 blast radius 内的完整边界默认纳入,defer 必须写入 `NOT in scope` 和原因。
17
+ 13. 如果推荐方案挑战用户原始方向,必须标成 `user challenge`,不能自动改写用户意图。
18
+ 14. 行为变更的具体任务默认采用测试先行;没有 Red/Green/Refactor 链或 TDD exception,不允许交给 `cc-do`。
19
+ 15. 新 change 目录必须是 `REQ-<number>-<description>` 或 `FIX-<number>-<description>`,不能用小写 `req-*` / `bug-*` 或纯描述目录。
20
+
21
+ ## Design Modes
22
+
23
+ - `tiny-design`:超小需求的冻结设计卡片,不是跳过设计。
24
+ - `full-design`:涉及跨模块、复杂数据流、迁移或高风险约束的完整设计。
25
+
26
+ 默认优先 `tiny-design`,但一旦需要解释复杂边界,就升级到 `full-design`。
27
+
28
+ ## Placeholder Ban
29
+
30
+ - TODO later
31
+ - implement later
32
+ - handle edge cases
33
+ - write tests later
34
+ - similar to task N
35
+ - TBD
36
+ - 待定
37
+ - 之后再补
38
+ - 后面再想
39
+
40
+ ## Task Fields
41
+
42
+ 每个任务至少写清:
43
+
44
+ - 目标
45
+ - TDD phase:`red` / `green` / `refactor` / `exception`
46
+ - 涉及文件
47
+ - 验证方式
48
+ - 完成证据
49
+
50
+ 行为变更任务必须先有 `[TEST]` 红灯任务,再有 `[IMPL]` 绿灯任务,最后有 `[REFACTOR]` 或明确 refactor checkpoint。纯文档、纯配置、纯生成文件、throwaway prototype 可以例外,但必须写明原因、风险和替代验证。
51
+
52
+ ## Review Gate
53
+
54
+ `planning/design.md` 至少完成:
55
+
56
+ 1. Placeholder scan
57
+ 2. Consistency scan
58
+ 3. Scope scan
59
+ 4. Ambiguity scan
60
+ 5. Feasibility scan
61
+ 6. Source alignment
62
+ 7. Existing leverage map
63
+ 8. Scope / complexity challenge
64
+ 9. Test diagram and failure modes
65
+ 10. NOT in scope
66
+ 11. Test-first readiness
67
+ 12. Final recommendation
68
+
69
+ 如有 UI scope,再补 design review 结论。
70
+ 如有 developer-facing scope,再补 DX review 结论。
71
+
72
+ ## Decision Log
73
+
74
+ 每个非平凡决策至少记录:
75
+
76
+ - decision
77
+ - classification:`mechanical` / `taste` / `user challenge`
78
+ - principle:completeness / pragmatic / DRY / explicit / action
79
+ - rationale
80
+ - rejected alternative
81
+
82
+ 机械选择可以自动落盘。taste decision 和 user challenge 必须在最终 gate 里显式出现。
@@ -0,0 +1,103 @@
1
+ #!/usr/bin/env bash
2
+
3
+ set -euo pipefail
4
+
5
+ # ------------------------------------------------------------
6
+ # cc-plan skill semver helper
7
+ # - bump SKILL.md frontmatter version
8
+ # - prepend CHANGELOG.md entry
9
+ # ------------------------------------------------------------
10
+
11
+ usage() {
12
+ cat <<'EOF'
13
+ Usage:
14
+ bump-skill-version.sh --type patch|minor|major --message "change summary" \
15
+ [--skill-file SKILL.md] [--changelog CHANGELOG.md] [--date YYYY-MM-DD]
16
+ EOF
17
+ }
18
+
19
+ TYPE=""
20
+ MESSAGE=""
21
+ SKILL_FILE="SKILL.md"
22
+ CHANGELOG_FILE="CHANGELOG.md"
23
+ DATE="$(date +%Y-%m-%d)"
24
+
25
+ while [[ $# -gt 0 ]]; do
26
+ case "$1" in
27
+ --type) TYPE="$2"; shift 2 ;;
28
+ --message) MESSAGE="$2"; shift 2 ;;
29
+ --skill-file) SKILL_FILE="$2"; shift 2 ;;
30
+ --changelog) CHANGELOG_FILE="$2"; shift 2 ;;
31
+ --date) DATE="$2"; shift 2 ;;
32
+ -h|--help) usage; exit 0 ;;
33
+ *) echo "Unknown arg: $1" >&2; usage; exit 1 ;;
34
+ esac
35
+ done
36
+
37
+ if [[ -z "$TYPE" || -z "$MESSAGE" ]]; then
38
+ usage
39
+ exit 1
40
+ fi
41
+
42
+ if [[ ! -f "$SKILL_FILE" ]]; then
43
+ echo "Skill file not found: $SKILL_FILE" >&2
44
+ exit 1
45
+ fi
46
+
47
+ CURRENT_VERSION="$(awk '/^version: / { print $2; exit }' "$SKILL_FILE")"
48
+
49
+ if [[ -z "$CURRENT_VERSION" ]]; then
50
+ echo "No version field found in $SKILL_FILE" >&2
51
+ exit 1
52
+ fi
53
+
54
+ IFS='.' read -r MAJOR MINOR PATCH <<<"$CURRENT_VERSION"
55
+
56
+ case "$TYPE" in
57
+ patch)
58
+ PATCH=$((PATCH + 1))
59
+ ;;
60
+ minor)
61
+ MINOR=$((MINOR + 1))
62
+ PATCH=0
63
+ ;;
64
+ major)
65
+ MAJOR=$((MAJOR + 1))
66
+ MINOR=0
67
+ PATCH=0
68
+ ;;
69
+ *)
70
+ echo "Unsupported bump type: $TYPE" >&2
71
+ exit 1
72
+ ;;
73
+ esac
74
+
75
+ NEXT_VERSION="${MAJOR}.${MINOR}.${PATCH}"
76
+
77
+ TMP_SKILL="$(mktemp)"
78
+ awk -v next_version="$NEXT_VERSION" '
79
+ BEGIN { done = 0 }
80
+ {
81
+ if (!done && $0 ~ /^version: /) {
82
+ print "version: " next_version
83
+ done = 1
84
+ next
85
+ }
86
+ print
87
+ }
88
+ ' "$SKILL_FILE" > "$TMP_SKILL"
89
+ mv "$TMP_SKILL" "$SKILL_FILE"
90
+
91
+ if [[ ! -f "$CHANGELOG_FILE" ]]; then
92
+ printf '# CC-Plan Skill Changelog\n\n' > "$CHANGELOG_FILE"
93
+ fi
94
+
95
+ TMP_CHANGELOG="$(mktemp)"
96
+ {
97
+ sed -n '1p' "$CHANGELOG_FILE"
98
+ printf '\n## v%s - %s\n\n- %s\n' "$NEXT_VERSION" "$DATE" "$MESSAGE"
99
+ sed -n '2,$p' "$CHANGELOG_FILE"
100
+ } > "$TMP_CHANGELOG"
101
+ mv "$TMP_CHANGELOG" "$CHANGELOG_FILE"
102
+
103
+ echo "Bumped cc-plan skill: ${CURRENT_VERSION} -> ${NEXT_VERSION}"
@@ -0,0 +1,75 @@
1
+ #!/usr/bin/env node
2
+
3
+ 'use strict';
4
+
5
+ // ------------------------------------------------------------
6
+ // 解析 tasks.md 里的 phase / [P] / 文件触点
7
+ // ------------------------------------------------------------
8
+
9
+ const fs = require('fs');
10
+
11
+ const phaseRegex = /^##\s+Phase\s+(\d+):\s*(.+)$/;
12
+ const taskRegex = /^-\s+\[([ xX])\]\s+(?:\*\*)?(T\d+)(?:\*\*)?\s+(.*)$/;
13
+ const fileRegex = /`([^`]+)`/g;
14
+ const dependsOnRegex = /\(dependsOn:([^)]+)\)/;
15
+
16
+ function parse(content) {
17
+ const lines = content.replace(/\r\n?/g, '\n').split('\n');
18
+ const tasks = [];
19
+ let phase = 0;
20
+
21
+ for (const line of lines) {
22
+ const phaseMatch = line.match(phaseRegex);
23
+ if (phaseMatch) {
24
+ phase = Number(phaseMatch[1]);
25
+ continue;
26
+ }
27
+
28
+ const taskMatch = line.match(taskRegex);
29
+ if (!taskMatch) continue;
30
+
31
+ const [, box, id, rest] = taskMatch;
32
+ const files = [...rest.matchAll(fileRegex)].map((m) => m[1]);
33
+ const dependsOnMatch = rest.match(dependsOnRegex);
34
+ const dependsOnValue = dependsOnMatch ? dependsOnMatch[1].trim() : '';
35
+ const dependsOn = !dependsOnValue || dependsOnValue === 'none'
36
+ ? []
37
+ : dependsOnValue.split(',').map((item) => item.trim()).filter(Boolean);
38
+ tasks.push({
39
+ id,
40
+ phase,
41
+ completed: box.toLowerCase() === 'x',
42
+ parallel: rest.includes('[P]'),
43
+ dependsOn,
44
+ files,
45
+ title: rest
46
+ .replace(/\[P\]/g, '')
47
+ .replace(dependsOnRegex, '')
48
+ .replace(fileRegex, '')
49
+ .replace(/\*\*/g, '')
50
+ .trim()
51
+ });
52
+ }
53
+
54
+ return tasks;
55
+ }
56
+
57
+ function main() {
58
+ const file = process.argv[2];
59
+ if (!file) {
60
+ console.error('Usage: parse-task-dependencies.js tasks.md');
61
+ process.exit(1);
62
+ }
63
+
64
+ const tasks = parse(fs.readFileSync(file, 'utf8'));
65
+ const completedIds = new Set(tasks.filter((t) => t.completed).map((t) => t.id));
66
+ const runnableTasks = tasks.filter((t) => !t.completed && t.dependsOn.every((dep) => completedIds.has(dep)));
67
+ const nextPhase = runnableTasks.reduce((min, t) => Math.min(min, t.phase), Infinity);
68
+ const nextTasks = Number.isFinite(nextPhase) ? runnableTasks.filter((t) => t.phase === nextPhase) : [];
69
+
70
+ process.stdout.write(JSON.stringify({ tasks, nextTasks }, null, 2));
71
+ }
72
+
73
+ if (require.main === module) {
74
+ main();
75
+ }
@@ -0,0 +1,78 @@
1
+ #!/usr/bin/env bash
2
+
3
+ set -euo pipefail
4
+
5
+ # ------------------------------------------------------------
6
+ # 检查计划文档是否越界或仍有 placeholder
7
+ # ------------------------------------------------------------
8
+
9
+ usage() {
10
+ cat <<'EOF'
11
+ Usage: validate-scope.sh --source FILE [--source FILE...]
12
+ EOF
13
+ }
14
+
15
+ sources=()
16
+ bad_terms=(
17
+ "TODO later"
18
+ "implement later"
19
+ "handle edge cases"
20
+ "write tests later"
21
+ "{{"
22
+ "[NEEDS CLARIFICATION"
23
+ "TBD"
24
+ "待定"
25
+ "之后再补"
26
+ "后面再想"
27
+ )
28
+
29
+ required_markers=(
30
+ "Requirement version:"
31
+ "CC-Plan skill version:"
32
+ )
33
+
34
+ while [[ $# -gt 0 ]]; do
35
+ case "$1" in
36
+ --source) sources+=("$2"); shift 2 ;;
37
+ -h|--help) usage; exit 0 ;;
38
+ *) echo "Unknown arg: $1" >&2; usage; exit 1 ;;
39
+ esac
40
+ done
41
+
42
+ if [[ ${#sources[@]} -eq 0 ]]; then
43
+ usage
44
+ exit 1
45
+ fi
46
+
47
+ fail=0
48
+ for file in "${sources[@]}"; do
49
+ [[ -f "$file" ]] || continue
50
+ for term in "${bad_terms[@]}"; do
51
+ if rg -n --fixed-strings "$term" "$file" >/dev/null 2>&1; then
52
+ echo "[FAIL] $file contains: $term"
53
+ fail=1
54
+ fi
55
+ done
56
+ if rg -n '^\| \| \| \|$' "$file" >/dev/null 2>&1; then
57
+ echo "[FAIL] $file contains an empty markdown table row"
58
+ fail=1
59
+ fi
60
+ if rg -n '^[[:space:]]*(- )?[A-Za-z][A-Za-z /_-]*:\s*$' "$file" >/dev/null 2>&1; then
61
+ echo "[FAIL] $file contains an empty field bullet"
62
+ fail=1
63
+ fi
64
+ if [[ "$file" != *"TASK_MANIFEST_TEMPLATE.json" ]]; then
65
+ for marker in "${required_markers[@]}"; do
66
+ if ! rg -n --fixed-strings "$marker" "$file" >/dev/null 2>&1; then
67
+ echo "[FAIL] $file is missing marker: $marker"
68
+ fail=1
69
+ fi
70
+ done
71
+ fi
72
+ done
73
+
74
+ if [[ "$fail" -eq 1 ]]; then
75
+ exit 1
76
+ fi
77
+
78
+ echo "Scope validation passed"
@@ -0,0 +1,114 @@
1
+ # Roadmap Skill Changelog
2
+
3
+ ## v4.3.1 - 2026-04-19
4
+
5
+ - refactor `scripts/roadmap-tracking.js` into focused schema / markdown / store helpers so the CLI stops carrying parsing, rendering, upgrade, and persistence in one 1000-line file
6
+ - route `locate-roadmap-item.sh` through the shared tracking query path instead of maintaining a second inline Node formatter
7
+ - preserve existing `backlog` fields when auto-upgrading legacy v1 tracking JSON so shared lookup and render paths stay behaviorally correct
8
+
9
+ ## v4.3.0 - 2026-04-19
10
+
11
+ - expand `devflow/roadmap-tracking.json` from implementation-only tracking into the shared truth source for `ROADMAP.md` and `BACKLOG.md`
12
+ - teach `roadmap-tracking.js render` and `sync-roadmap-progress.sh` to regenerate both files from the same sidecar so roadmap status and backlog handoff can no longer drift apart
13
+ - upgrade locator, templates, docs, examples, and tests so backlog queue / ready / parked data are read from the sidecar before falling back to markdown text
14
+
15
+ Migration note:
16
+
17
+ - existing v4.2.x `roadmap-tracking.json` files are auto-upgraded on first render or sync run
18
+ - if you maintain backlog handoff by hand, move the durable fields into `roadmap-tracking.json` and rerender instead of treating `BACKLOG.md` as the writable source
19
+ - `scripts/roadmap-tracking.js render` now requires both `--roadmap` and `--backlog`
20
+
21
+ ## v4.2.1 - 2026-04-19
22
+
23
+ - teach `locate-roadmap-item.sh` to resolve `RM-*` and `REQ-*` through `devflow/roadmap-tracking.json` before falling back to markdown grep
24
+ - realign bundled examples with the capability-aware backlog contract so templates, examples, and helper checks no longer drift apart
25
+ - tighten example validation to require the new backlog queue columns and `Ready For Req-Plan` handoff fields
26
+
27
+ ## v4.2.0 - 2026-04-19
28
+
29
+ - add `devflow/roadmap-tracking.json` as the structured truth source for `Implementation Tracking`
30
+ - replace fragile column-position markdown rewrites with JSON-first sync plus markdown re-rendering
31
+ - ship a reusable `render` path so manual edits to the tracking sidecar can be pushed back into `ROADMAP.md`
32
+
33
+ Migration note:
34
+
35
+ - keep `devflow/ROADMAP.md` as the human-facing roadmap, but let helper automation update `devflow/roadmap-tracking.json`
36
+ - the first sync run bootstraps `roadmap-tracking.json` from an existing `Implementation Tracking` table, then rewrites the section in the new generated shape
37
+ - if you were scripting direct table edits, switch to `scripts/sync-roadmap-progress.sh` or edit `roadmap-tracking.json` and rerender
38
+
39
+ ## v4.1.0 - 2026-04-19
40
+
41
+ - teach `cc-roadmap` to anchor roadmap items to capability specs instead of leaving future work as requirement-shaped fragments
42
+ - upgrade roadmap and backlog templates with `Primary Capability`, `Secondary Capabilities`, `Capability Gap`, and `Expected Spec Delta`
43
+ - extend `sync-roadmap-progress.sh` so roadmap tracking can update capability/spec columns together with status progress
44
+
45
+ Migration note:
46
+
47
+ - roadmap items should now point to at least one capability, with one explicit primary capability
48
+ - backlog handoffs should carry expected spec delta into `cc-plan`
49
+
50
+ ## v4.0.0 - 2026-04-18
51
+
52
+ - restore `cc-roadmap` durable outputs to `devflow/ROADMAP.md` and `devflow/BACKLOG.md`, matching the repository contract and keeping roadmap artifacts under `devflow/`
53
+ - update bundled helper scripts to prefer `devflow/ROADMAP.md` and `devflow/BACKLOG.md`, while still falling back to the recent repo-root paths and the older `devflow/roadmap/*` paths
54
+ - realign skill docs, public guides, and registry/bootstrap tests with the restored canonical paths
55
+
56
+ Migration note:
57
+
58
+ - new roadmap runs should write `devflow/ROADMAP.md` and `devflow/BACKLOG.md`
59
+ - if you temporarily have repo-root `ROADMAP.md` / `BACKLOG.md` from v3.0.0, move them back under `devflow/`
60
+ - helper scripts now resolve files in this order: `devflow/*.md` -> repo-root `*.md` -> legacy `devflow/roadmap/*.md`
61
+
62
+ ## v3.0.0 - 2026-04-17
63
+
64
+ - change `cc-roadmap` durable outputs to repo-root `ROADMAP.md` and `BACKLOG.md`, aligning the skill contract with README, examples, and live usage
65
+ - require roadmap output to include an explicit `RM Dependency Graph` plus `Parallel Waves`, so serial blockers and concurrent work are visible
66
+ - upgrade backlog handoff fields to record `Depends On` and `Parallel With`
67
+ - update bundled helper scripts to prefer repo-root files and fall back to legacy `devflow/roadmap/*` files when present
68
+
69
+ Migration note:
70
+
71
+ - new roadmap runs should write repo-root `ROADMAP.md` and `BACKLOG.md`
72
+ - helper scripts still read legacy `devflow/roadmap/*` files as fallback, but the canonical path is now the repo root
73
+ - if you maintain automation that parses the `Implementation Tracking` table, account for the new `Depends On` column before `Status`
74
+
75
+ ## v2.2.0 - 2026-04-17
76
+
77
+ - convert public frontmatter from loose prose into structured harness contract fields: `triggers`, `reads`, `writes`, `entry_gate`, `exit_criteria`, `reroutes`, `recovery_modes`, `tool_budget`
78
+ - add `Harness Contract` to `SKILL.md` and `Visible State Machine` to `PLAYBOOK.md`
79
+ - make roadmap explicitly skill-first: strategy stays in skill text and artifacts instead of hidden harness behavior
80
+
81
+ Migration note:
82
+
83
+ - any downstream tooling that only read `name` and `description` can keep working, but new registry consumers should prefer the structured contract fields
84
+ - roadmap users do not need to change existing `ROADMAP.md` / `BACKLOG.md` files; the new contract only makes the operating rules explicit
85
+
86
+ ## v2.1.0 - 2026-04-15
87
+
88
+ - 增强 frontmatter `description`,补充中英文触发词,提升命中率。
89
+ - 新增 `Quick Start` 和 `Route Selection Rule`,把首次路线判断前置成更易执行的入口。
90
+ - 新增 `Recommendation Test`,要求推荐必须同时说明“为什么选它”和“为什么不先做另外两条”。
91
+ - 升级 `ROADMAP_TEMPLATE.md`,增加 `Recommended Route` 区块。
92
+ - 升级 `BACKLOG_TEMPLATE.md`,让 ready 项显式写清“为什么现在 ready”。
93
+
94
+ Migration note:
95
+
96
+ - 旧版 `ROADMAP.md` / `BACKLOG.md` 可以继续使用;建议在下次重跑 roadmap 时补齐 `Recommended Route` 和 ready rationale,以减少后续 `cc-plan` 阶段的解释成本。
97
+
98
+ ## v2.0.0 - 2026-04-10
99
+
100
+ - 增加 `version` frontmatter,并定义 roadmap skill 的 semver 规则。
101
+ - 强化 `Context Sweep`,要求先读取现有 roadmap、文档、最近提交、forcing functions,再开始追问。
102
+ - 增加 `Approval Gates` 与 `Review Loop`,避免没有证据、没有退出信号的伪路线图。
103
+ - 升级 `ROADMAP_TEMPLATE.md`,加入 metadata、context snapshot、evidence ledger、route options、dependencies、kill signal、版本差异记录。
104
+ - 升级 `BACKLOG_TEMPLATE.md`,让事项带上 evidence、dependency、next decision、ready 状态。
105
+ - 新增 `scripts/bump-skill-version.sh`,用于递增 skill 版本并同步 changelog。
106
+
107
+ Migration note:
108
+
109
+ - 旧版 `ROADMAP.md` / `BACKLOG.md` 仍可继续使用,但建议补齐新模板里的 metadata、evidence、dependencies、kill signal、ready 字段。
110
+ - `Implementation Tracking` 表保持兼容,`scripts/sync-roadmap-progress.sh` 无需修改。
111
+
112
+ ## v1.0.0 - 2026-04-10
113
+
114
+ - 初始版 roadmap skill,提供基础路线图和 backlog 产物。
@@ -0,0 +1,136 @@
1
+ # Roadmap Playbook
2
+
3
+ ## Visible State Machine
4
+
5
+ `roadmap` is the only strategy stage.
6
+
7
+ - Enter from: project kickoff, backlog drift, or strategy reset.
8
+ - Stay in: `roadmap` while direction is still being argued or evidence is incomplete.
9
+ - Exit to: `cc-plan` once one approved roadmap item becomes the next concrete requirement.
10
+
11
+ ## Core Rules
12
+
13
+ 1. 先读上下文,再问现实,不先写愿景。
14
+ 2. 一次只推进一个关键未知点。
15
+ 3. 只定 1-3 个阶段,不写愿望清单。
16
+ 4. 通过 `roadmap` 只能产出方向,不能偷拆实现任务。
17
+ 5. 没有证据时写 assumption,不准冒充事实。
18
+ 6. 每次都必须明确推荐一条路线,不准只列选项不下判断。
19
+
20
+ ## Local Kit
21
+
22
+ - 生成骨架时用 `assets/ROADMAP_TEMPLATE.md` 和 `assets/BACKLOG_TEMPLATE.md`
23
+ - 需要结构化 tracking 时用 `assets/TRACKING_TEMPLATE.json`
24
+ - 需要追问脚本时看 `references/roadmap-dialogue.md`
25
+ - 需要定位 / 回写条目时用 `scripts/locate-roadmap-item.sh` 和 `scripts/sync-roadmap-progress.sh`
26
+ - `scripts/locate-roadmap-item.sh` 先读 `roadmap-tracking.json`,再回落到 `ROADMAP.md` / `BACKLOG.md`,避免定位依赖 markdown 列位或文案漂移
27
+ - 只想把 sidecar 重渲染回 `ROADMAP.md` / `BACKLOG.md` 时,直接调用 `scripts/roadmap-tracking.js render`
28
+ - `scripts/sync-roadmap-progress.sh` 会把 `roadmap-tracking.json` 当真相源,再回渲染 `ROADMAP.md` 和 `BACKLOG.md`
29
+ - 变更版本时同步 `CHANGELOG.md`,必要时用 `scripts/bump-skill-version.sh`
30
+
31
+ ## Context Sweep
32
+
33
+ 进入 roadmap 对话前,至少摸清:
34
+
35
+ 1. 现有 `devflow/ROADMAP.md` / `devflow/BACKLOG.md`
36
+ 2. `CLAUDE.md`、`README*`、`TODOS.md`
37
+ 3. 最近相关 docs / specs / plans
38
+ 4. 最近相关提交、当前工作树状态、正在推进的 requirement
39
+ 5. 现实 forcing functions:deadline、distribution、资源、依赖、当前卡点
40
+
41
+ 先把这些材料压成 `Context Snapshot`,再追问用户。
42
+
43
+ ## Force Reality First
44
+
45
+ 至少逼清这 5 件事:
46
+
47
+ 1. 这个项目真正服务谁
48
+ 2. 用户今天用什么笨办法解决
49
+ 3. 为什么他们现在就会想要这个东西
50
+ 4. 最窄但最有穿透力的第一阶段是什么
51
+ 5. 未来 6-12 个月产品会自然长成什么样
52
+
53
+ 同时补齐这 4 件落地信息:
54
+
55
+ 6. 当前最强证据是什么
56
+ 7. deadline / capacity / dependency / distribution 约束是什么
57
+ 8. 当前最大的 adoption / trust / delivery 卡点是什么
58
+ 9. 成功与失败的判断信号是什么
59
+
60
+ ## Route Shapes
61
+
62
+ - `wedge-first`: 用一个极窄切口先打穿真实需求
63
+ - `platform-first`: 先搭通后续阶段复用的关键底座
64
+ - `rescue-first`: 先解决当前最大的 adoption / trust / delivery 卡点
65
+
66
+ 推荐时必须回答:为什么这条主线比其他两条更值得先打。
67
+
68
+ ## Recommendation Test
69
+
70
+ 写完推荐后,快速自检:
71
+
72
+ 1. 如果删掉路线名,别人还能从理由里猜出为什么是这条吗?
73
+ 2. 有没有明确说“不先做另外两条”的原因?
74
+ 3. Stage 1 的 win signal 能不能在 1-2 个周期内看到?
75
+ 4. 如果 Stage 1 输了,kill signal 是不是具体到可以止损?
76
+
77
+ ## Stage Contract
78
+
79
+ 每个阶段至少要有:
80
+
81
+ 1. `Goal`
82
+ 2. `Why now`
83
+ 3. `Dependencies`
84
+ 4. `Exit signal`
85
+ 5. `Kill signal`
86
+ 6. `Non-goals`
87
+ 7. 可以自然长成下一轮 `cc-plan` 的候选事项
88
+
89
+ ## Dependency Contract
90
+
91
+ 1. `Depends On` 只写硬阻塞,不写“最好先做”的软顺序。
92
+ 2. 至少画出一份 `RM Dependency Graph`,让串行主链和并行分支一眼可见。
93
+ 3. 至少列出一组 `Parallel waves`,说明哪些事项可共享同一前置后并发推进。
94
+ 4. 如果图里出现环,说明阶段切分错了,先重切,不要硬解释。
95
+
96
+ ## Output Contract
97
+
98
+ `devflow/ROADMAP.md`
99
+ - version / skill version / context snapshot / evidence ledger
100
+ - 1-3 个阶段
101
+ - 每阶段目标
102
+ - 每阶段存在原因
103
+ - 每阶段 dependencies
104
+ - 每阶段 exit signal
105
+ - 每阶段 kill signal
106
+ - 非目标
107
+ - `RM Dependency Graph`
108
+ - `Parallel waves`
109
+ - `Implementation Tracking` 由 `devflow/roadmap-tracking.json` 渲染,避免手改 markdown 表格列位
110
+
111
+ `devflow/BACKLOG.md`
112
+ - 只保留会真的进入下一轮 `cc-plan` 的事项
113
+ - 每项注明来源阶段、优先级、证据、`Depends On`、`Parallel With`、当前未知点、下一决策、是否 ready
114
+ - `Backlog Meta`、`Queue`、`Dependency Handoff`、`Ready For Req-Plan`、`Parked` 可由 `devflow/roadmap-tracking.json` 回渲染,避免 roadmap truth 和 backlog handoff 分叉
115
+
116
+ ## Review Loop
117
+
118
+ 交付前至少扫一遍:
119
+
120
+ 1. 有没有 placeholder
121
+ 2. 阶段之间是否有因果链
122
+ 3. 阶段目标是否真能被当前资源支撑
123
+ 4. `RM Dependency Graph` 是否只有硬依赖、没有环
124
+ 5. ready 项是否真能进入 `cc-plan`
125
+ 6. 本次版本相比上一版到底改了什么
126
+
127
+ ## Versioning
128
+
129
+ - `patch`: 文案澄清、模板说明、小修补
130
+ - `minor`: 上下文收集、评审、字段增强,且不破坏既有 tracking 习惯
131
+ - `major`: 核心输出契约变化,需要 migration note
132
+
133
+ ## Exit Rule
134
+
135
+ 只有当第一批 requirement 能从阶段主线自然长出来时,`roadmap` 才算完成。
136
+ 如果用户看完还会问“所以现在到底先做什么”,说明 roadmap 还没写好。