cc-devflow 4.3.0 → 4.5.0

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 (579) hide show
  1. package/.claude/skills/cc-act/CHANGELOG.md +70 -0
  2. package/.claude/skills/cc-act/PLAYBOOK.md +212 -0
  3. package/.claude/skills/cc-act/SKILL.md +330 -0
  4. package/.claude/skills/cc-act/assets/PR_BRIEF_TEMPLATE.md +68 -0
  5. package/.claude/skills/cc-act/assets/RELEASE_NOTE_TEMPLATE.md +29 -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 +245 -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 +200 -0
  13. package/.claude/skills/cc-act/scripts/sync-act-docs.sh +328 -0
  14. package/.claude/skills/cc-act/scripts/verify-act-gate.sh +63 -0
  15. package/.claude/skills/cc-check/CHANGELOG.md +78 -0
  16. package/.claude/skills/cc-check/PLAYBOOK.md +153 -0
  17. package/.claude/skills/cc-check/SKILL.md +353 -0
  18. package/.claude/skills/cc-check/assets/REPORT_CARD_TEMPLATE.json +53 -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 +54 -0
  25. package/.claude/skills/cc-do/PLAYBOOK.md +119 -0
  26. package/.claude/skills/cc-do/SKILL.md +224 -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 +31 -0
  41. package/.claude/skills/cc-investigate/PLAYBOOK.md +49 -0
  42. package/.claude/skills/cc-investigate/SKILL.md +229 -0
  43. package/.claude/skills/cc-investigate/assets/ANALYSIS_TEMPLATE.md +56 -0
  44. package/.claude/skills/cc-investigate/assets/TASKS_TEMPLATE.md +53 -0
  45. package/.claude/skills/cc-investigate/assets/TASK_MANIFEST_TEMPLATE.json +106 -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 +104 -0
  49. package/.claude/skills/cc-plan/PLAYBOOK.md +106 -0
  50. package/.claude/skills/cc-plan/SKILL.md +333 -0
  51. package/.claude/skills/cc-plan/assets/DESIGN_TEMPLATE.md +156 -0
  52. package/.claude/skills/cc-plan/assets/TASKS_TEMPLATE.md +99 -0
  53. package/.claude/skills/cc-plan/assets/TASK_MANIFEST_TEMPLATE.json +111 -0
  54. package/.claude/skills/cc-plan/assets/TINY_DESIGN_TEMPLATE.md +80 -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 +119 -0
  60. package/.claude/skills/cc-roadmap/PLAYBOOK.md +136 -0
  61. package/.claude/skills/cc-roadmap/SKILL.md +267 -0
  62. package/.claude/skills/cc-roadmap/assets/BACKLOG_TEMPLATE.md +46 -0
  63. package/.claude/skills/cc-roadmap/assets/ROADMAP_TEMPLATE.md +154 -0
  64. package/.claude/skills/cc-roadmap/assets/TRACKING_TEMPLATE.json +51 -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 +12 -0
  77. package/.claude/skills/cc-spec-init/PLAYBOOK.md +55 -0
  78. package/.claude/skills/cc-spec-init/SKILL.md +135 -0
  79. package/.claude/skills/cc-spec-init/assets/CAPABILITY_TEMPLATE.md +64 -0
  80. package/.claude/skills/cc-spec-init/assets/CHANGE_META_TEMPLATE.json +28 -0
  81. package/.claude/skills/cc-spec-init/assets/INDEX_TEMPLATE.md +35 -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 +80 -4
  86. package/README.md +148 -741
  87. package/README.zh-CN.md +146 -740
  88. package/bin/adapt.js +2 -6
  89. package/bin/cc-devflow-cli.js +287 -166
  90. package/config/distributable-skills.json +24 -0
  91. package/config/schema/cc-devflow-config.schema.json +45 -0
  92. package/config/user-config.template.yml +16 -0
  93. package/docs/CLAUDE.md +10 -6
  94. package/docs/commands/README.md +19 -46
  95. package/docs/commands/README.zh-CN.md +25 -48
  96. package/docs/examples/BY-ARTIFACT.md +7 -0
  97. package/docs/examples/README.md +38 -0
  98. package/docs/examples/START-HERE.md +149 -0
  99. package/docs/examples/example-bindings.json +38 -0
  100. package/docs/examples/full-design-blocked/BACKLOG.md +45 -0
  101. package/docs/examples/full-design-blocked/README.md +55 -0
  102. package/docs/examples/full-design-blocked/ROADMAP.md +53 -0
  103. package/docs/examples/full-design-blocked/changes/REQ-002-bulk-invite-import/planning/design.md +154 -0
  104. package/docs/examples/full-design-blocked/changes/REQ-002-bulk-invite-import/planning/task-manifest.json +146 -0
  105. package/docs/examples/full-design-blocked/changes/REQ-002-bulk-invite-import/planning/tasks.md +78 -0
  106. package/docs/examples/full-design-blocked/changes/REQ-002-bulk-invite-import/review/report-card.json +52 -0
  107. package/docs/examples/full-design-blocked/roadmap-tracking.json +50 -0
  108. package/docs/examples/local-handoff/BACKLOG.md +45 -0
  109. package/docs/examples/local-handoff/README.md +56 -0
  110. package/docs/examples/local-handoff/ROADMAP.md +45 -0
  111. package/docs/examples/local-handoff/changes/REQ-003-audit-log-export/handoff/resume-index.md +39 -0
  112. package/docs/examples/local-handoff/changes/REQ-003-audit-log-export/handoff/status.md +29 -0
  113. package/docs/examples/local-handoff/changes/REQ-003-audit-log-export/planning/design.md +71 -0
  114. package/docs/examples/local-handoff/changes/REQ-003-audit-log-export/planning/task-manifest.json +98 -0
  115. package/docs/examples/local-handoff/changes/REQ-003-audit-log-export/planning/tasks.md +59 -0
  116. package/docs/examples/local-handoff/changes/REQ-003-audit-log-export/review/report-card.json +44 -0
  117. package/docs/examples/local-handoff/roadmap-tracking.json +48 -0
  118. package/docs/examples/pdca-loop/BACKLOG.md +46 -0
  119. package/docs/examples/pdca-loop/README.md +58 -0
  120. package/docs/examples/pdca-loop/ROADMAP.md +133 -0
  121. package/docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/handoff/pr-brief.md +72 -0
  122. package/docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/handoff/status.md +29 -0
  123. package/docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/planning/design.md +72 -0
  124. package/docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/planning/task-manifest.json +201 -0
  125. package/docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/planning/tasks.md +73 -0
  126. package/docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/review/report-card.json +44 -0
  127. package/docs/examples/pdca-loop/roadmap-tracking.json +114 -0
  128. package/docs/examples/scripts/check-example-bindings.sh +116 -0
  129. package/docs/guides/getting-started.md +94 -129
  130. package/docs/guides/getting-started.zh-CN.md +103 -84
  131. package/docs/skill-runtime-migration.md +46 -0
  132. package/docs/v4.3.0-migration-guide.md +60 -225
  133. package/lib/compiler/CLAUDE.md +55 -84
  134. package/lib/compiler/__tests__/drift.test.js +1 -1
  135. package/lib/compiler/__tests__/errors.test.js +0 -1
  136. package/lib/compiler/__tests__/integration.test.js +49 -3
  137. package/lib/compiler/__tests__/manifest.test.js +0 -156
  138. package/lib/compiler/__tests__/parser.test.js +33 -104
  139. package/lib/compiler/__tests__/schemas.test.js +30 -34
  140. package/lib/compiler/__tests__/skills-registry.test.js +114 -0
  141. package/lib/compiler/__tests__/transformer.test.js +5 -9
  142. package/lib/compiler/emitters/antigravity-emitter.js +5 -213
  143. package/lib/compiler/emitters/base-emitter.js +3 -298
  144. package/lib/compiler/emitters/codex-emitter.js +4 -202
  145. package/lib/compiler/emitters/cursor-emitter.js +3 -287
  146. package/lib/compiler/emitters/qwen-emitter.js +4 -176
  147. package/lib/compiler/index.js +65 -345
  148. package/lib/compiler/manifest.js +6 -68
  149. package/lib/compiler/parser.js +31 -63
  150. package/lib/compiler/platforms.js +32 -277
  151. package/lib/compiler/resource-copier.js +176 -6
  152. package/lib/compiler/rules-emitters/__tests__/antigravity-rules-emitter.test.js +3 -3
  153. package/lib/compiler/rules-emitters/__tests__/cursor-rules-emitter.test.js +14 -4
  154. package/lib/compiler/rules-emitters/__tests__/qwen-rules-emitter.test.js +16 -7
  155. package/lib/compiler/rules-emitters/antigravity-rules-emitter.js +10 -15
  156. package/lib/compiler/rules-emitters/base-rules-emitter.js +5 -5
  157. package/lib/compiler/rules-emitters/cursor-rules-emitter.js +7 -12
  158. package/lib/compiler/rules-emitters/index.js +6 -3
  159. package/lib/compiler/rules-emitters/qwen-rules-emitter.js +7 -7
  160. package/lib/compiler/schemas.js +8 -4
  161. package/lib/compiler/skills-registry.js +213 -15
  162. package/lib/compiler/transformer.js +1 -1
  163. package/lib/skill-runtime/CLAUDE.md +19 -0
  164. package/lib/skill-runtime/__tests__/autopilot.test.js +210 -0
  165. package/lib/skill-runtime/__tests__/cli-bootstrap.integration.test.js +291 -0
  166. package/lib/skill-runtime/__tests__/config.test.js +161 -0
  167. package/lib/skill-runtime/__tests__/delegation.test.js +97 -0
  168. package/lib/skill-runtime/__tests__/dispatch.test.js +267 -0
  169. package/lib/skill-runtime/__tests__/intent.test.js +219 -0
  170. package/lib/skill-runtime/__tests__/lifecycle.test.js +169 -0
  171. package/lib/skill-runtime/__tests__/paths.test.js +42 -0
  172. package/lib/skill-runtime/__tests__/planner.tdd.test.js +250 -0
  173. package/lib/skill-runtime/__tests__/prepare-pr.test.js +139 -0
  174. package/lib/skill-runtime/__tests__/query.test.js +284 -0
  175. package/lib/skill-runtime/__tests__/runtime.integration.test.js +281 -0
  176. package/lib/skill-runtime/__tests__/schemas.test.js +207 -0
  177. package/lib/skill-runtime/__tests__/team-state.test.js +51 -0
  178. package/lib/skill-runtime/__tests__/worker-run.test.js +253 -0
  179. package/lib/skill-runtime/__tests__/worker.test.js +56 -0
  180. package/lib/skill-runtime/artifacts.js +93 -0
  181. package/lib/skill-runtime/config.js +379 -0
  182. package/lib/skill-runtime/delegation.js +533 -0
  183. package/lib/skill-runtime/index.js +36 -0
  184. package/lib/skill-runtime/intent.js +333 -0
  185. package/lib/skill-runtime/lifecycle.js +294 -0
  186. package/lib/skill-runtime/operations/CLAUDE.md +19 -0
  187. package/lib/skill-runtime/operations/approve.js +66 -0
  188. package/lib/skill-runtime/operations/autopilot-core.js +337 -0
  189. package/lib/skill-runtime/operations/autopilot-execution.js +307 -0
  190. package/lib/skill-runtime/operations/autopilot-shared.js +48 -0
  191. package/lib/skill-runtime/operations/autopilot.js +163 -0
  192. package/lib/skill-runtime/operations/dispatch.js +454 -0
  193. package/lib/skill-runtime/operations/init.js +64 -0
  194. package/lib/{harness → skill-runtime}/operations/janitor.js +9 -6
  195. package/lib/skill-runtime/operations/plan.js +59 -0
  196. package/lib/skill-runtime/operations/prepare-pr.js +25 -0
  197. package/lib/skill-runtime/operations/release.js +96 -0
  198. package/lib/skill-runtime/operations/resume.js +143 -0
  199. package/lib/skill-runtime/operations/snapshot.js +45 -0
  200. package/lib/skill-runtime/operations/verify.js +170 -0
  201. package/lib/skill-runtime/operations/worker-run.js +529 -0
  202. package/lib/skill-runtime/operations/worker.js +33 -0
  203. package/lib/skill-runtime/paths.js +213 -0
  204. package/lib/skill-runtime/planner.js +519 -0
  205. package/lib/skill-runtime/query.js +157 -0
  206. package/lib/skill-runtime/review.js +557 -0
  207. package/lib/skill-runtime/schemas.js +400 -0
  208. package/lib/{harness → skill-runtime}/store.js +45 -30
  209. package/lib/skill-runtime/team-state.js +122 -0
  210. package/package.json +13 -11
  211. package/.claude/CLAUDE.md +0 -125
  212. package/.claude/agents/architecture-designer.md +0 -443
  213. package/.claude/agents/bug-analyzer.md +0 -381
  214. package/.claude/agents/checklist-agent.md +0 -175
  215. package/.claude/agents/clarify-analyst.md +0 -50
  216. package/.claude/agents/code-quality-reviewer.md +0 -205
  217. package/.claude/agents/code-reviewer.md +0 -71
  218. package/.claude/agents/codex-analyzer.md +0 -39
  219. package/.claude/agents/compatibility-checker.md +0 -579
  220. package/.claude/agents/consistency-checker.md +0 -532
  221. package/.claude/agents/dev-implementer.md +0 -195
  222. package/.claude/agents/flow-researcher.md +0 -132
  223. package/.claude/agents/impact-analyzer.md +0 -440
  224. package/.claude/agents/planner.md +0 -230
  225. package/.claude/agents/prd-writer.md +0 -320
  226. package/.claude/agents/project-guidelines-generator.md +0 -1329
  227. package/.claude/agents/qa-tester.md +0 -313
  228. package/.claude/agents/release-manager.md +0 -295
  229. package/.claude/agents/security-reviewer.md +0 -314
  230. package/.claude/agents/spec-reviewer.md +0 -221
  231. package/.claude/agents/style-guide-generator.md +0 -458
  232. package/.claude/agents/tech-architect.md +0 -516
  233. package/.claude/agents/ui-designer.md +0 -485
  234. package/.claude/commands/core/architecture.md +0 -459
  235. package/.claude/commands/core/guidelines.md +0 -511
  236. package/.claude/commands/core/roadmap.md +0 -468
  237. package/.claude/commands/core/style.md +0 -83
  238. package/.claude/commands/flow/CLAUDE.md +0 -24
  239. package/.claude/commands/flow/archive.md +0 -280
  240. package/.claude/commands/flow/constitution.md +0 -82
  241. package/.claude/commands/flow/context.md +0 -150
  242. package/.claude/commands/flow/delta.md +0 -245
  243. package/.claude/commands/flow/dev.md +0 -40
  244. package/.claude/commands/flow/fix.md +0 -217
  245. package/.claude/commands/flow/ideate.md +0 -214
  246. package/.claude/commands/flow/init.md +0 -38
  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/examples/design-inspiration-pool.md +0 -59
  266. package/.claude/docs/examples/ui-prototype-constitution-checklist.md +0 -75
  267. package/.claude/docs/guides/INIT_TROUBLESHOOTING.md +0 -117
  268. package/.claude/docs/guides/NEW_TROUBLESHOOTING.md +0 -99
  269. package/.claude/docs/guides/ROADMAP_TROUBLESHOOTING.md +0 -188
  270. package/.claude/docs/guides/TASK_COMPLETION_MARKING.md +0 -338
  271. package/.claude/docs/guides/TEAM_MODE_GUIDE.md +0 -312
  272. package/.claude/docs/implementation-summary-v7.md +0 -449
  273. package/.claude/docs/spec-format-guide.md +0 -349
  274. package/.claude/docs/state-consolidation-design.md +0 -323
  275. package/.claude/docs/templates/ARCHITECTURE_TEMPLATE.md +0 -332
  276. package/.claude/docs/templates/ATTEMPT_TEMPLATE.md +0 -156
  277. package/.claude/docs/templates/BACKLOG_TEMPLATE.md +0 -261
  278. package/.claude/docs/templates/BRAINSTORM_TEMPLATE.md +0 -148
  279. package/.claude/docs/templates/CHECKLIST_TEMPLATE.md +0 -52
  280. package/.claude/docs/templates/CLARIFICATION_REPORT_TEMPLATE.md +0 -206
  281. package/.claude/docs/templates/CODE_REVIEW_TEMPLATE.md +0 -71
  282. package/.claude/docs/templates/DELTA_SPEC_TEMPLATE.md +0 -91
  283. package/.claude/docs/templates/DESIGN_DECISIONS_TEMPLATE.md +0 -151
  284. package/.claude/docs/templates/DESIGN_TEMPLATE.md +0 -157
  285. package/.claude/docs/templates/ERROR_LOG_TEMPLATE.md +0 -80
  286. package/.claude/docs/templates/INIT_FLOW_TEMPLATE.md +0 -198
  287. package/.claude/docs/templates/INTENT_CLARIFICATION_TEMPLATE.md +0 -57
  288. package/.claude/docs/templates/JOURNAL_TEMPLATE.md +0 -75
  289. package/.claude/docs/templates/NEW_ORCHESTRATION_TEMPLATE.md +0 -76
  290. package/.claude/docs/templates/PROPOSAL_TEMPLATE.md +0 -91
  291. package/.claude/docs/templates/RESEARCH_TEMPLATE.md +0 -276
  292. package/.claude/docs/templates/REVIEW-HIGH.md +0 -57
  293. package/.claude/docs/templates/ROADMAP_DIALOGUE_TEMPLATE.md +0 -198
  294. package/.claude/docs/templates/ROADMAP_TEMPLATE.md +0 -310
  295. package/.claude/docs/templates/SPEC_TEMPLATE_DELTA.md +0 -139
  296. package/.claude/docs/templates/SPEC_TEMPLATE_PROJECT.md +0 -93
  297. package/.claude/docs/templates/STYLE_TEMPLATE.md +0 -479
  298. package/.claude/docs/templates/UI_PROTOTYPE_TEMPLATE.md +0 -373
  299. package/.claude/docs/templates/_shared/CLAUDE.md +0 -36
  300. package/.claude/docs/templates/_shared/CONSTITUTION_CHECK.md +0 -125
  301. package/.claude/docs/templates/_shared/VALIDATION_CHECKLIST.md +0 -187
  302. package/.claude/docs/templates/_shared/YAML_FRONTMATTER.md +0 -164
  303. package/.claude/docs/templates/context/dev.jsonl.template +0 -6
  304. package/.claude/docs/templates/context/epic.jsonl.template +0 -5
  305. package/.claude/docs/templates/context/prd.jsonl.template +0 -4
  306. package/.claude/docs/templates/context/research.jsonl.template +0 -4
  307. package/.claude/docs/templates/context/review.jsonl.template +0 -5
  308. package/.claude/docs/templates/context/tech.jsonl.template +0 -5
  309. package/.claude/guides/agent-guides/agent-coordination-guide.md +0 -459
  310. package/.claude/guides/project-guidelines-system.md +0 -463
  311. package/.claude/guides/technical-guides/datetime-handling-guide.md +0 -563
  312. package/.claude/guides/technical-guides/git-github-guide.md +0 -642
  313. package/.claude/guides/technical-guides/test-execution-guide.md +0 -618
  314. package/.claude/guides/workflow-guides/bug-fix-orchestrator.md +0 -217
  315. package/.claude/guides/workflow-guides/flow-orchestrator.md +0 -48
  316. package/.claude/hooks/CLAUDE.md +0 -342
  317. package/.claude/hooks/checklist-gate.js +0 -397
  318. package/.claude/hooks/error-handling-reminder.sh +0 -12
  319. package/.claude/hooks/error-handling-reminder.ts +0 -459
  320. package/.claude/hooks/hooks.json +0 -15
  321. package/.claude/hooks/inject-agent-context.ts +0 -480
  322. package/.claude/hooks/inject-skill-context.ts +0 -359
  323. package/.claude/hooks/post-tool-use-tracker.sh +0 -280
  324. package/.claude/hooks/pre-tool-use-guardrail.sh +0 -36
  325. package/.claude/hooks/pre-tool-use-guardrail.ts +0 -342
  326. package/.claude/hooks/ralph-loop.ts +0 -931
  327. package/.claude/hooks/ralph-stop-hook.sh +0 -190
  328. package/.claude/hooks/skill-activation-prompt.sh +0 -36
  329. package/.claude/hooks/skill-activation-prompt.ts +0 -214
  330. package/.claude/hooks/state/skills-used-test-guard.json +0 -3
  331. package/.claude/hooks/task-completed-hook.ts +0 -593
  332. package/.claude/hooks/teammate-idle-hook.ts +0 -690
  333. package/.claude/hooks/types/team-types.d.ts +0 -238
  334. package/.claude/rules/devflow-conventions.md +0 -286
  335. package/.claude/rules/project-constitution.md +0 -1002
  336. package/.claude/rules/rationalization-library.md +0 -282
  337. package/.claude/schemas/constitution.schema.json +0 -43
  338. package/.claude/scripts/.claude/commands/flow/export-openspec.md +0 -221
  339. package/.claude/scripts/.claude/commands/flow/import-openspec.md +0 -171
  340. package/.claude/scripts/CLAUDE.md +0 -76
  341. package/.claude/scripts/__tests__/openspec.test.js +0 -212
  342. package/.claude/scripts/analyze-upgrade-impact.sh +0 -200
  343. package/.claude/scripts/archive-requirement.sh +0 -394
  344. package/.claude/scripts/calculate-checklist-completion.sh +0 -243
  345. package/.claude/scripts/calculate-quarter.sh +0 -206
  346. package/.claude/scripts/check-dependencies.sh +0 -409
  347. package/.claude/scripts/check-prerequisites.sh +0 -232
  348. package/.claude/scripts/check-task-status.sh +0 -288
  349. package/.claude/scripts/checklist-errors.sh +0 -131
  350. package/.claude/scripts/common.sh +0 -1102
  351. package/.claude/scripts/consolidate-research.sh +0 -182
  352. package/.claude/scripts/create-requirement.sh +0 -451
  353. package/.claude/scripts/delta-parser.ts +0 -637
  354. package/.claude/scripts/detect-file-conflicts.sh +0 -151
  355. package/.claude/scripts/export-contracts.sh +0 -117
  356. package/.claude/scripts/export-openspec.js +0 -222
  357. package/.claude/scripts/extract-data-model.sh +0 -78
  358. package/.claude/scripts/flow-context-add.sh +0 -134
  359. package/.claude/scripts/flow-context-init.sh +0 -133
  360. package/.claude/scripts/flow-context-validate.sh +0 -144
  361. package/.claude/scripts/flow-delta-apply.sh +0 -297
  362. package/.claude/scripts/flow-delta-archive.sh +0 -71
  363. package/.claude/scripts/flow-delta-create.sh +0 -202
  364. package/.claude/scripts/flow-delta-list.sh +0 -142
  365. package/.claude/scripts/flow-delta-status.sh +0 -235
  366. package/.claude/scripts/flow-quality-full.sh +0 -215
  367. package/.claude/scripts/flow-quality-quick.sh +0 -119
  368. package/.claude/scripts/flow-workspace-init.sh +0 -117
  369. package/.claude/scripts/flow-workspace-record.sh +0 -164
  370. package/.claude/scripts/generate-clarification-questions.sh +0 -377
  371. package/.claude/scripts/generate-clarification-report.sh +0 -463
  372. package/.claude/scripts/generate-quickstart.sh +0 -146
  373. package/.claude/scripts/generate-research-tasks.sh +0 -157
  374. package/.claude/scripts/generate-status-report.sh +0 -523
  375. package/.claude/scripts/generate-tech-analysis.sh +0 -46
  376. package/.claude/scripts/get-workflow-status.sh +0 -415
  377. package/.claude/scripts/import-openspec.js +0 -272
  378. package/.claude/scripts/locate-requirement-in-roadmap.sh +0 -233
  379. package/.claude/scripts/manage-constitution.sh +0 -602
  380. package/.claude/scripts/mark-task-complete.sh +0 -198
  381. package/.claude/scripts/parse-task-dependencies.js +0 -334
  382. package/.claude/scripts/populate-research-tasks.sh +0 -284
  383. package/.claude/scripts/record-quality-error.sh +0 -165
  384. package/.claude/scripts/recover-workflow.sh +0 -463
  385. package/.claude/scripts/run-clarify-scan.sh +0 -601
  386. package/.claude/scripts/run-high-review.sh +0 -62
  387. package/.claude/scripts/run-problem-analysis.sh +0 -68
  388. package/.claude/scripts/run-quality-gates.sh +0 -242
  389. package/.claude/scripts/setup-epic.sh +0 -173
  390. package/.claude/scripts/setup-ralph-loop.sh +0 -155
  391. package/.claude/scripts/sync-roadmap-progress.sh +0 -300
  392. package/.claude/scripts/sync-task-marks.sh +0 -199
  393. package/.claude/scripts/team-dev-init.sh +0 -319
  394. package/.claude/scripts/team-state-recovery.sh +0 -229
  395. package/.claude/scripts/test-clarify-scan.sh +0 -515
  396. package/.claude/scripts/update-agent-context.sh +0 -806
  397. package/.claude/scripts/validate-constitution.sh +0 -567
  398. package/.claude/scripts/validate-hooks.sh +0 -487
  399. package/.claude/scripts/validate-research.sh +0 -332
  400. package/.claude/scripts/validate-scope-boundary.sh +0 -493
  401. package/.claude/scripts/validate-scope.sh +0 -200
  402. package/.claude/scripts/verify-gate.sh +0 -269
  403. package/.claude/scripts/verify-setup.sh +0 -37
  404. package/.claude/scripts/workflow-status.ts +0 -433
  405. package/.claude/settings.json +0 -95
  406. package/.claude/skills/_reference-implementations/README.md +0 -96
  407. package/.claude/skills/_reference-implementations/backend-express-prisma/SKILL.md +0 -302
  408. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/architecture-overview.md +0 -451
  409. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/async-and-errors.md +0 -307
  410. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/complete-examples.md +0 -638
  411. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/configuration.md +0 -275
  412. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/database-patterns.md +0 -224
  413. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/middleware-guide.md +0 -213
  414. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/routing-and-controllers.md +0 -756
  415. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/sentry-and-monitoring.md +0 -336
  416. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/services-and-repositories.md +0 -789
  417. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/testing-guide.md +0 -235
  418. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/validation-patterns.md +0 -754
  419. package/.claude/skills/_reference-implementations/frontend-react-mui/SKILL.md +0 -399
  420. package/.claude/skills/_reference-implementations/frontend-react-mui/resources/common-patterns.md +0 -331
  421. package/.claude/skills/_reference-implementations/frontend-react-mui/resources/complete-examples.md +0 -872
  422. package/.claude/skills/_reference-implementations/frontend-react-mui/resources/component-patterns.md +0 -502
  423. package/.claude/skills/_reference-implementations/frontend-react-mui/resources/data-fetching.md +0 -767
  424. package/.claude/skills/_reference-implementations/frontend-react-mui/resources/file-organization.md +0 -502
  425. package/.claude/skills/_reference-implementations/frontend-react-mui/resources/loading-and-error-states.md +0 -501
  426. package/.claude/skills/_reference-implementations/frontend-react-mui/resources/performance.md +0 -406
  427. package/.claude/skills/_reference-implementations/frontend-react-mui/resources/routing-guide.md +0 -364
  428. package/.claude/skills/_reference-implementations/frontend-react-mui/resources/styling-guide.md +0 -428
  429. package/.claude/skills/_reference-implementations/frontend-react-mui/resources/typescript-standards.md +0 -418
  430. package/.claude/skills/attention-refresh/SKILL.md +0 -170
  431. package/.claude/skills/brainstorming/SKILL.md +0 -161
  432. package/.claude/skills/cc-devflow-orchestrator/SKILL.md +0 -169
  433. package/.claude/skills/constitution-guardian/SKILL.md +0 -306
  434. package/.claude/skills/constitution-quick-ref/SKILL.md +0 -374
  435. package/.claude/skills/debugging/SKILL.md +0 -221
  436. package/.claude/skills/file-standards/SKILL.md +0 -353
  437. package/.claude/skills/finishing-branch/SKILL.md +0 -189
  438. package/.claude/skills/flow-dev/CLAUDE.md +0 -16
  439. package/.claude/skills/flow-dev/SKILL.md +0 -94
  440. package/.claude/skills/flow-dev/assets/IMPLEMENTATION_PLAN_TEMPLATE.md +0 -71
  441. package/.claude/skills/flow-dev/context.jsonl +0 -4
  442. package/.claude/skills/flow-dev/dev-implementer.jsonl +0 -8
  443. package/.claude/skills/flow-dev/scripts/entry-gate.sh +0 -116
  444. package/.claude/skills/flow-dev/scripts/exit-gate.sh +0 -101
  445. package/.claude/skills/flow-dev/scripts/task-orchestrator.sh +0 -106
  446. package/.claude/skills/flow-fix/SKILL.md +0 -105
  447. package/.claude/skills/flow-fix/context.jsonl +0 -6
  448. package/.claude/skills/flow-fix/references/bug-analyzer.md +0 -381
  449. package/.claude/skills/flow-init/SKILL.md +0 -105
  450. package/.claude/skills/flow-init/assets/BRAINSTORM_TEMPLATE.md +0 -148
  451. package/.claude/skills/flow-init/assets/INIT_FLOW_TEMPLATE.md +0 -198
  452. package/.claude/skills/flow-init/assets/RESEARCH_TEMPLATE.md +0 -276
  453. package/.claude/skills/flow-init/context.jsonl +0 -5
  454. package/.claude/skills/flow-init/references/flow-researcher.md +0 -132
  455. package/.claude/skills/flow-init/scripts/check-prerequisites.sh +0 -240
  456. package/.claude/skills/flow-init/scripts/consolidate-research.sh +0 -182
  457. package/.claude/skills/flow-init/scripts/create-requirement.sh +0 -404
  458. package/.claude/skills/flow-init/scripts/generate-research-tasks.sh +0 -157
  459. package/.claude/skills/flow-init/scripts/populate-research-tasks.sh +0 -284
  460. package/.claude/skills/flow-init/scripts/validate-research.sh +0 -340
  461. package/.claude/skills/flow-quality/SKILL.md +0 -98
  462. package/.claude/skills/flow-quality/context.jsonl +0 -6
  463. package/.claude/skills/flow-quality/references/code-quality-reviewer.md +0 -205
  464. package/.claude/skills/flow-quality/references/qa-tester.md +0 -313
  465. package/.claude/skills/flow-quality/references/security-reviewer.md +0 -314
  466. package/.claude/skills/flow-quality/references/spec-reviewer.md +0 -221
  467. package/.claude/skills/flow-release/SKILL.md +0 -60
  468. package/.claude/skills/flow-release/context.jsonl +0 -5
  469. package/.claude/skills/flow-release/references/release-manager.md +0 -295
  470. package/.claude/skills/flow-spec/CLAUDE.md +0 -17
  471. package/.claude/skills/flow-spec/SKILL.md +0 -102
  472. package/.claude/skills/flow-spec/context.jsonl +0 -5
  473. package/.claude/skills/flow-spec/scripts/entry-gate.sh +0 -194
  474. package/.claude/skills/flow-spec/scripts/exit-gate.sh +0 -244
  475. package/.claude/skills/flow-spec/scripts/parallel-orchestrator.sh +0 -205
  476. package/.claude/skills/flow-spec/scripts/team-communication.sh +0 -353
  477. package/.claude/skills/flow-spec/scripts/team-init.sh +0 -195
  478. package/.claude/skills/flow-spec/scripts/test-team-mode.sh +0 -496
  479. package/.claude/skills/flow-spec/team-config.json +0 -165
  480. package/.claude/skills/flow-verify/CLAUDE.md +0 -10
  481. package/.claude/skills/flow-verify/SKILL.md +0 -53
  482. package/.claude/skills/flow-verify/context.jsonl +0 -5
  483. package/.claude/skills/fractal-docs/SKILL.md +0 -45
  484. package/.claude/skills/journey-checker/SKILL.md +0 -199
  485. package/.claude/skills/journey-checker/pressure-scenarios.md +0 -164
  486. package/.claude/skills/receiving-review/SKILL.md +0 -153
  487. package/.claude/skills/skill-creator/LICENSE.txt +0 -202
  488. package/.claude/skills/skill-creator/SKILL.md +0 -356
  489. package/.claude/skills/skill-creator/references/output-patterns.md +0 -82
  490. package/.claude/skills/skill-creator/references/workflows.md +0 -28
  491. package/.claude/skills/skill-creator/scripts/init_skill.py +0 -303
  492. package/.claude/skills/skill-creator/scripts/package_skill.py +0 -110
  493. package/.claude/skills/skill-creator/scripts/quick_validate.py +0 -95
  494. package/.claude/skills/skill-rules.json +0 -359
  495. package/.claude/skills/tdd/SKILL.md +0 -218
  496. package/.claude/skills/tdd-enforcer/SKILL.md +0 -192
  497. package/.claude/skills/utility/npm-release/CLAUDE.md +0 -55
  498. package/.claude/skills/utility/npm-release/SKILL.md +0 -379
  499. package/.claude/skills/utility/npm-release/references/version-decision-guide.md +0 -134
  500. package/.claude/skills/utility/npm-release/scripts/atomic-version-bump.sh +0 -95
  501. package/.claude/skills/utility/npm-release/scripts/validate-version-sync.sh +0 -82
  502. package/.claude/skills/utility/npm-release/scripts/version-decision-tree.sh +0 -44
  503. package/.claude/skills/verification/SKILL.md +0 -158
  504. package/.claude/skills/workflow.yaml +0 -219
  505. package/.claude/tests/README.md +0 -300
  506. package/.claude/tests/TODO.md +0 -69
  507. package/.claude/tests/__pycache__/test_analyze_upgrade_impact.cpython-311-pytest-7.2.2.pyc +0 -0
  508. package/.claude/tests/__pycache__/test_consolidate_research.cpython-311-pytest-7.2.2.pyc +0 -0
  509. package/.claude/tests/__pycache__/test_export_contracts.cpython-311-pytest-7.2.2.pyc +0 -0
  510. package/.claude/tests/__pycache__/test_extract_data_model.cpython-311-pytest-7.2.2.pyc +0 -0
  511. package/.claude/tests/__pycache__/test_generate_quickstart.cpython-311-pytest-7.2.2.pyc +0 -0
  512. package/.claude/tests/__pycache__/test_generate_research_tasks.cpython-311-pytest-7.2.2.pyc +0 -0
  513. package/.claude/tests/constitution/run_all_constitution_tests.sh +0 -111
  514. package/.claude/tests/constitution/test_agent_assignment.sh +0 -207
  515. package/.claude/tests/constitution/test_article_coverage.sh +0 -201
  516. package/.claude/tests/constitution/test_template_completeness.sh +0 -150
  517. package/.claude/tests/constitution/test_version_consistency.sh +0 -120
  518. package/.claude/tests/fixtures/spec_delta_full.md +0 -16
  519. package/.claude/tests/fixtures/tasks_progress_sample.md +0 -5
  520. package/.claude/tests/run-all-tests.sh +0 -229
  521. package/.claude/tests/scripts/run.sh +0 -30
  522. package/.claude/tests/scripts/test-framework.sh +0 -128
  523. package/.claude/tests/scripts/test_check_prerequisites.sh +0 -511
  524. package/.claude/tests/scripts/test_check_prerequisites.sh.bak +0 -504
  525. package/.claude/tests/scripts/test_check_prerequisites.sh.bak2 +0 -505
  526. package/.claude/tests/scripts/test_check_prerequisites.sh.bak3 +0 -506
  527. package/.claude/tests/scripts/test_check_prerequisites.sh.bak4 +0 -507
  528. package/.claude/tests/scripts/test_check_prerequisites.sh.bak5 +0 -508
  529. package/.claude/tests/scripts/test_check_task_status.sh +0 -499
  530. package/.claude/tests/scripts/test_common.sh +0 -244
  531. package/.claude/tests/scripts/test_generate_status_report.sh +0 -71
  532. package/.claude/tests/scripts/test_mark_task_complete.sh +0 -441
  533. package/.claude/tests/scripts/test_mark_task_complete.sh.backup +0 -410
  534. package/.claude/tests/scripts/test_recover_workflow.sh +0 -304
  535. package/.claude/tests/scripts/test_setup_epic.sh +0 -437
  536. package/.claude/tests/scripts/test_sync_task_marks.sh +0 -196
  537. package/.claude/tests/scripts/test_validate_constitution.sh +0 -74
  538. package/.claude/tests/scripts/test_validate_research.sh +0 -462
  539. package/.claude/tests/slugify.bats +0 -82
  540. package/.claude/tests/test-framework.sh +0 -732
  541. package/.claude/tests/test_analyze_upgrade_impact.py +0 -34
  542. package/.claude/tests/test_consolidate_research.py +0 -48
  543. package/.claude/tests/test_export_contracts.py +0 -43
  544. package/.claude/tests/test_extract_data_model.py +0 -33
  545. package/.claude/tests/test_generate_quickstart.py +0 -50
  546. package/.claude/tests/test_generate_research_tasks.py +0 -52
  547. package/.claude/tsc-cache/70d2fc6d-2936-429b-b529-429f1aae8c88/affected-repos.txt +0 -1
  548. package/.claude/tsc-cache/70d2fc6d-2936-429b-b529-429f1aae8c88/edited-files.log +0 -2
  549. package/bin/harness.js +0 -22
  550. package/docs/commands/core-roadmap.md +0 -106
  551. package/docs/commands/core-roadmap.zh-CN.md +0 -102
  552. package/docs/commands/core-style.md +0 -53
  553. package/docs/commands/core-style.zh-CN.md +0 -53
  554. package/docs/commands/flow-init.md +0 -140
  555. package/docs/commands/flow-init.zh-CN.md +0 -169
  556. package/docs/commands/flow-new.md +0 -39
  557. package/docs/commands/flow-new.zh-CN.md +0 -39
  558. package/lib/compiler/__tests__/compile-regression.test.js +0 -103
  559. package/lib/compiler/__tests__/multi-module-emitters.test.js +0 -534
  560. package/lib/compiler/__tests__/resource-copier.test.js +0 -26
  561. package/lib/compiler/__tests__/skill-discovery.test.js +0 -72
  562. package/lib/compiler/context-expander.js +0 -179
  563. package/lib/compiler/rules-emitters/__tests__/codex-rules-emitter.test.js +0 -109
  564. package/lib/compiler/rules-emitters/codex-rules-emitter.js +0 -116
  565. package/lib/compiler/skill-discovery.js +0 -68
  566. package/lib/harness/CLAUDE.md +0 -22
  567. package/lib/harness/__tests__/planner.tdd.test.js +0 -125
  568. package/lib/harness/cli.js +0 -208
  569. package/lib/harness/index.js +0 -18
  570. package/lib/harness/operations/dispatch.js +0 -298
  571. package/lib/harness/operations/init.js +0 -48
  572. package/lib/harness/operations/pack.js +0 -100
  573. package/lib/harness/operations/plan.js +0 -83
  574. package/lib/harness/operations/release.js +0 -170
  575. package/lib/harness/operations/resume.js +0 -44
  576. package/lib/harness/operations/verify.js +0 -177
  577. package/lib/harness/planner.js +0 -272
  578. package/lib/harness/query.js +0 -126
  579. package/lib/harness/schemas.js +0 -129
@@ -0,0 +1,29 @@
1
+ # Release Note
2
+
3
+ ## Document Meta
4
+
5
+ - Output language:
6
+
7
+ ## Release Scope
8
+
9
+ - Why a release note is needed now:
10
+
11
+ ## User Impact
12
+
13
+ -
14
+
15
+ ## What Is New
16
+
17
+ -
18
+
19
+ ## Verification
20
+
21
+ -
22
+
23
+ ## Ops Notes
24
+
25
+ -
26
+
27
+ ## Follow-Ups
28
+
29
+ -
@@ -0,0 +1,49 @@
1
+ # Closure Contract
2
+
3
+ ## Before Closing
4
+
5
+ 1. `report-card.json` 必须是 `pass`
6
+ 2. `reroute` 必须是 `none`
7
+ 3. `evidence` 必须非空
8
+ 4. `planning/tasks.md` 不能还有未完成项
9
+ 5. 交付材料必须只总结现实,不补编故事
10
+ 6. 如果文件结构变了,就同步对应目录的 `CLAUDE.md`
11
+
12
+ ## Ship Decision Contract
13
+
14
+ 收尾动作必须归入且只归入下列模式之一:
15
+
16
+ 1. `create-pr`
17
+ 2. `update-pr`
18
+ 3. `local-handoff`
19
+ 4. `post-merge-closeout`
20
+
21
+ 如果当前状态不属于这 4 类之一,说明事实还没搞清,不准继续 ship。
22
+
23
+ ## During Act
24
+
25
+ 1. 如果 Act 阶段修改了代码、测试、验证口径,必须回 `cc-check`
26
+ 2. 已存在 PR / MR 时优先更新,不重复创建
27
+ 3. 文档不同构时,ship 不算完成
28
+ 4. follow-up 只允许回写到系统真相源,不允许停留在聊天记录里
29
+ 5. VERSION / package / changelog 漂移必须先分类处理,不能重复 bump 或覆盖发布历史
30
+ 6. PR / MR body 必须从当前事实重建,不能沿用旧验证输出
31
+ 7. push / PR 创建必须具备幂等检查:已同步则跳过,已存在 PR 则更新
32
+
33
+ ## Memory Consolidation
34
+
35
+ 进入 ship 动作前,先把分散事实压缩进:
36
+
37
+ - `handoff/pr-brief.md`
38
+ - `handoff/resume-index.md`(需要 handoff 时)
39
+ - `handoff/release-note.md`(需要发布时)
40
+
41
+ 如果下一位接手者还得去翻零散 checkpoint 才知道从哪接,说明 act 还没收口。
42
+
43
+ ## After Closing
44
+
45
+ - reviewer 能接手
46
+ - maintainer 知道怎么验证
47
+ - PR / handoff / release 材料反映同一套事实
48
+ - 下一轮计划入口更清楚
49
+ - 文档入口可发现,changelog 不丢历史,TODO / backlog 只记录有证据的事项
@@ -0,0 +1,83 @@
1
+ # Git Commit Guidelines
2
+
3
+ ## Purpose
4
+
5
+ `cc-act` 在执行 `create-pr` / `update-pr` 时,必须让提交历史满足 3 个目标:
6
+
7
+ 1. 提交信息清楚、可追溯
8
+ 2. 提交边界干净、不要把不同类型变更揉成一团
9
+ 3. 分支历史尽量线性,便于 review 和回滚
10
+
11
+ ## Commit Message Format
12
+
13
+ 默认使用 Conventional Commits:
14
+
15
+ ```text
16
+ <type>(<scope>): <subject>
17
+
18
+ <body>
19
+
20
+ <footer>
21
+ ```
22
+
23
+ 如果当前仓库已有更严格的提交规范,以仓库规范为准;否则沿用这里的格式。
24
+
25
+ ## Allowed Types
26
+
27
+ - `feat`: 新功能
28
+ - `fix`: 修复缺陷
29
+ - `docs`: 文档更新
30
+ - `style`: 纯格式调整,不改行为
31
+ - `refactor`: 重构,不改外部行为
32
+ - `perf`: 性能优化
33
+ - `test`: 测试变更
34
+ - `chore`: 构建、脚本、依赖、工具链
35
+
36
+ ## Message Rules
37
+
38
+ 1. `subject` 保持简短,优先控制在 50 个字符内。
39
+ 2. `subject` 使用祈使句,首字母小写,末尾不加句号。
40
+ 3. `body` 只解释 `why` 和关键 `how`,不要把 diff 逐行复述。
41
+ 4. `footer` 只在需要时使用,例如 `BREAKING CHANGE:` 或 `Closes #123`。
42
+ 5. PR 标题应与最终交付的核心 commit 语义一致,不要标题和提交说两套话。
43
+
44
+ ## Commit Boundary Rules
45
+
46
+ `cc-act` 生成 commit 时,优先消除“一个 commit 混很多事”这种坏味道。
47
+
48
+ 1. 功能、测试、文档、配置属于不同类型时,拆成多个 commit。
49
+ 2. 多个模块彼此独立时,按模块拆分 commit。
50
+ 3. 修 bug 与补防御性代码不是同一件事,能拆就拆。
51
+ 4. 只有当改动天然不可分割时,才允许合并到同一个 commit。
52
+ 5. 禁止为了省事直接 `git add .` 把无关变更一起提交。
53
+
54
+ 推荐拆分顺序:
55
+
56
+ - 核心实现
57
+ - 测试
58
+ - 文档
59
+ - 配置或工具链
60
+
61
+ ## History Rules
62
+
63
+ 1. 推送前优先同步 base branch,并尽量使用 `git pull --rebase` 保持线性历史。
64
+ 2. 已有打开的 PR 时,更新现有 PR,不重复创建第二个。
65
+ 3. rebase 之后如果必须强推,只允许 `git push --force-with-lease`,不要裸 `--force`。
66
+
67
+ ## Examples
68
+
69
+ ```text
70
+ feat(user): add wechat login flow
71
+ fix(auth): handle expired token refresh
72
+ test(payment): cover callback retry path
73
+ docs(readme): document local development setup
74
+ refactor(api): simplify request error mapping
75
+ ```
76
+
77
+ ## CC-Act Enforcement
78
+
79
+ `cc-act` 在 `create-pr` / `update-pr` 模式下至少要检查:
80
+
81
+ 1. commit message 是否符合本规范或仓库已有规范
82
+ 2. 是否把明显不同类型的变更拆成了独立 commit
83
+ 3. push 和 PR 描述是否与最终提交历史表达同一套事实
@@ -0,0 +1,49 @@
1
+ #!/usr/bin/env bash
2
+
3
+ set -euo pipefail
4
+
5
+ # ------------------------------------------------------------
6
+ # 归档或恢复 requirement 目录
7
+ # ------------------------------------------------------------
8
+
9
+ usage() {
10
+ cat <<'EOF'
11
+ Usage:
12
+ archive-requirement.sh --req-dir path/to/REQ-001 --archive-root devflow/archive
13
+ archive-requirement.sh --restore path/to/archive/2026-04/REQ-001 --active-root devflow/requirements
14
+ EOF
15
+ }
16
+
17
+ REQ_DIR=""
18
+ ARCHIVE_ROOT=""
19
+ RESTORE=""
20
+ ACTIVE_ROOT=""
21
+
22
+ while [[ $# -gt 0 ]]; do
23
+ case "$1" in
24
+ --req-dir) REQ_DIR="$2"; shift 2 ;;
25
+ --archive-root) ARCHIVE_ROOT="$2"; shift 2 ;;
26
+ --restore) RESTORE="$2"; shift 2 ;;
27
+ --active-root) ACTIVE_ROOT="$2"; shift 2 ;;
28
+ -h|--help) usage; exit 0 ;;
29
+ *) echo "Unknown arg: $1" >&2; usage; exit 1 ;;
30
+ esac
31
+ done
32
+
33
+ if [[ -n "$RESTORE" ]]; then
34
+ [[ -n "$ACTIVE_ROOT" ]] || { usage; exit 1; }
35
+ mkdir -p "$ACTIVE_ROOT"
36
+ mv "$RESTORE" "$ACTIVE_ROOT/"
37
+ echo "Restored to $ACTIVE_ROOT"
38
+ exit 0
39
+ fi
40
+
41
+ if [[ -z "$REQ_DIR" || -z "$ARCHIVE_ROOT" || ! -d "$REQ_DIR" ]]; then
42
+ usage
43
+ exit 1
44
+ fi
45
+
46
+ month="$(date '+%Y-%m')"
47
+ mkdir -p "$ARCHIVE_ROOT/$month"
48
+ mv "$REQ_DIR" "$ARCHIVE_ROOT/$month/"
49
+ echo "Archived to $ARCHIVE_ROOT/$month"
@@ -0,0 +1,245 @@
1
+ #!/usr/bin/env bash
2
+
3
+ # ------------------------------------------------------------
4
+ # cc-act: 共享提取与归一化逻辑
5
+ # ------------------------------------------------------------
6
+
7
+ req_act_change_dir() {
8
+ local input="$1"
9
+ local normalized="${input%/}"
10
+
11
+ case "$(basename "$normalized")" in
12
+ planning|execution|review|handoff|meta)
13
+ dirname "$normalized"
14
+ ;;
15
+ *)
16
+ printf '%s\n' "$normalized"
17
+ ;;
18
+ esac
19
+ }
20
+
21
+ req_act_planning_dir() {
22
+ printf '%s/planning\n' "$(req_act_change_dir "$1")"
23
+ }
24
+
25
+ req_act_review_dir() {
26
+ printf '%s/review\n' "$(req_act_change_dir "$1")"
27
+ }
28
+
29
+ req_act_handoff_dir() {
30
+ printf '%s/handoff\n' "$(req_act_change_dir "$1")"
31
+ }
32
+
33
+ req_act_manifest_path() {
34
+ printf '%s/task-manifest.json\n' "$(req_act_planning_dir "$1")"
35
+ }
36
+
37
+ req_act_tasks_path() {
38
+ printf '%s/tasks.md\n' "$(req_act_planning_dir "$1")"
39
+ }
40
+
41
+ req_act_contract_path() {
42
+ local planning_dir
43
+ local design_file
44
+ local analysis_file
45
+
46
+ planning_dir="$(req_act_planning_dir "$1")"
47
+ design_file="$planning_dir/design.md"
48
+ analysis_file="$planning_dir/analysis.md"
49
+
50
+ if [[ -f "$analysis_file" && ! -f "$design_file" ]]; then
51
+ printf '%s\n' "$analysis_file"
52
+ return 0
53
+ fi
54
+
55
+ printf '%s\n' "$design_file"
56
+ }
57
+
58
+ req_act_report_path() {
59
+ printf '%s/report-card.json\n' "$(req_act_review_dir "$1")"
60
+ }
61
+
62
+ req_act_release_note_path() {
63
+ printf '%s/release-note.md\n' "$(req_act_handoff_dir "$1")"
64
+ }
65
+
66
+ req_act_resume_index_path() {
67
+ printf '%s/resume-index.md\n' "$(req_act_handoff_dir "$1")"
68
+ }
69
+
70
+ req_act_doc_sync_report_path() {
71
+ printf '%s/doc-sync-report.md\n' "$(req_act_handoff_dir "$1")"
72
+ }
73
+
74
+ req_act_repo_root() {
75
+ git rev-parse --show-toplevel 2>/dev/null || pwd
76
+ }
77
+
78
+ req_act_requirement_id() {
79
+ local manifest="$1"
80
+ local req_dir="$2"
81
+ local requirement_id=""
82
+
83
+ requirement_id="$(jq -r '.requirementId // .changeId // empty' "$manifest" 2>/dev/null || true)"
84
+ if [[ -z "$requirement_id" ]]; then
85
+ requirement_id="$(basename "$req_dir")"
86
+ fi
87
+
88
+ printf '%s\n' "$requirement_id"
89
+ }
90
+
91
+ req_act_report_summary() {
92
+ local report_card="$1"
93
+ jq -r '.summary // ""' "$report_card" 2>/dev/null || true
94
+ }
95
+
96
+ req_act_report_verdict() {
97
+ local report_card="$1"
98
+ jq -r '.verdict // "unknown"' "$report_card" 2>/dev/null || echo unknown
99
+ }
100
+
101
+ req_act_spec_sync_ready() {
102
+ local report_card="$1"
103
+ jq -r '.specSyncReady // false' "$report_card" 2>/dev/null || echo false
104
+ }
105
+
106
+ req_act_output_language() {
107
+ local report_card="$1"
108
+ jq -r '.outputPolicy.documentLanguage // "en"' "$report_card" 2>/dev/null || echo en
109
+ }
110
+
111
+ req_act_design_goal() {
112
+ local design_file="$1"
113
+ awk -F': ' '/^- Deliver:/{print $2; exit} /^- Change:/{print $2; exit}' "$design_file" 2>/dev/null || true
114
+ }
115
+
116
+ req_act_main_risk() {
117
+ local design_file="$1"
118
+ local risk=""
119
+
120
+ risk="$(awk -F': ' '/^- Main risk:/{print $2; exit}' "$design_file" 2>/dev/null || true)"
121
+ if [[ -n "$risk" ]]; then
122
+ printf '%s\n' "$risk"
123
+ return 0
124
+ fi
125
+
126
+ awk -F'|' '
127
+ /^\|/ {
128
+ risk=$2
129
+ gsub(/^[[:space:]]+|[[:space:]]+$/, "", risk)
130
+ if (risk != "" && risk != "Risk" && risk !~ /^-+$/) {
131
+ print risk
132
+ exit
133
+ }
134
+ }
135
+ ' "$design_file" 2>/dev/null || true
136
+ }
137
+
138
+ req_act_dedup_file() {
139
+ local file="$1"
140
+ awk 'NF && !seen[$0]++' "$file" > "${file}.dedup"
141
+ mv "${file}.dedup" "$file"
142
+ }
143
+
144
+ req_act_collect_completed_titles() {
145
+ local manifest="$1"
146
+ local tasks_file="$2"
147
+ local out_file="$3"
148
+
149
+ : > "$out_file"
150
+
151
+ if [[ -f "$manifest" ]]; then
152
+ jq -r '
153
+ (.tasks // [])
154
+ | map(select((.status // "") | test("done|completed"; "i")))
155
+ | .[]
156
+ | .title // empty
157
+ ' "$manifest" 2>/dev/null | sed '/^$/d' > "$out_file" || true
158
+ fi
159
+
160
+ if [[ ! -s "$out_file" && -f "$tasks_file" ]]; then
161
+ awk '/^- \[[xX]\] /{sub(/^- \[[xX]\] /, "", $0); print}' "$tasks_file" > "$out_file" || true
162
+ fi
163
+ }
164
+
165
+ req_act_collect_verification_commands() {
166
+ local manifest="$1"
167
+ local out_file="$2"
168
+
169
+ : > "$out_file"
170
+
171
+ if [[ -f "$manifest" ]]; then
172
+ jq -r '
173
+ (.tasks // [])
174
+ | map(.verification // [])
175
+ | add
176
+ | .[]?
177
+ ' "$manifest" 2>/dev/null | sed '/^$/d' > "$out_file" || true
178
+ fi
179
+
180
+ req_act_dedup_file "$out_file"
181
+ }
182
+
183
+ req_act_collect_followups() {
184
+ local report_card="$1"
185
+ local manifest="$2"
186
+ local out_file="$3"
187
+
188
+ : > "$out_file"
189
+
190
+ if [[ -f "$report_card" ]]; then
191
+ jq -r '(.gaps // [])[]?' "$report_card" 2>/dev/null | sed '/^$/d' > "$out_file" || true
192
+ fi
193
+
194
+ if [[ -f "$manifest" ]]; then
195
+ jq -r '(.openQuestions // [])[]?, (.deferredQuestions // [])[]?' "$manifest" 2>/dev/null | sed '/^$/d' >> "$out_file" || true
196
+ fi
197
+
198
+ req_act_dedup_file "$out_file"
199
+ }
200
+
201
+ req_act_collect_touched_files() {
202
+ local manifest="$1"
203
+ local out_file="$2"
204
+
205
+ : > "$out_file"
206
+
207
+ if [[ -f "$manifest" ]]; then
208
+ jq -r '
209
+ (.tasks // [])
210
+ | map((.files // []) + (.touches // []))
211
+ | add
212
+ | .[]?
213
+ ' "$manifest" 2>/dev/null | sed '/^$/d' > "$out_file" || true
214
+ fi
215
+
216
+ req_act_dedup_file "$out_file"
217
+ }
218
+
219
+ req_act_collect_spec_files() {
220
+ local manifest="$1"
221
+ local out_file="$2"
222
+
223
+ : > "$out_file"
224
+
225
+ if [[ -f "$manifest" ]]; then
226
+ jq -r '(.spec.specFiles // [])[]?' "$manifest" 2>/dev/null | sed '/^$/d' > "$out_file" || true
227
+ fi
228
+
229
+ req_act_dedup_file "$out_file"
230
+ }
231
+
232
+ req_act_collect_evidence() {
233
+ local report_card="$1"
234
+ local out_file="$2"
235
+
236
+ : > "$out_file"
237
+ jq -r '(.evidence // [])[]?' "$report_card" 2>/dev/null | sed '/^$/d' > "$out_file" || true
238
+ req_act_dedup_file "$out_file"
239
+ }
240
+
241
+ req_act_ship_field() {
242
+ local ship_context="$1"
243
+ local key="$2"
244
+ printf '%s\n' "$ship_context" | awk -F= -v key="$key" '$1 == key {print substr($0, index($0, "=") + 1)}'
245
+ }
@@ -0,0 +1,82 @@
1
+ #!/usr/bin/env bash
2
+
3
+ set -euo pipefail
4
+
5
+ # ------------------------------------------------------------
6
+ # cc-act: 识别当前 ship 目标与推荐动作
7
+ # ------------------------------------------------------------
8
+
9
+ current_branch="$(git branch --show-current 2>/dev/null || true)"
10
+ remote_url="$(git remote get-url origin 2>/dev/null || true)"
11
+ platform="unknown"
12
+ base_branch=""
13
+ pr_status="none"
14
+ pr_url=""
15
+
16
+ if [[ "$remote_url" == *github.com* ]]; then
17
+ platform="github"
18
+ elif [[ "$remote_url" == *gitlab* ]]; then
19
+ platform="gitlab"
20
+ elif command -v gh >/dev/null 2>&1 && gh auth status >/dev/null 2>&1; then
21
+ platform="github"
22
+ elif command -v glab >/dev/null 2>&1 && glab auth status >/dev/null 2>&1; then
23
+ platform="gitlab"
24
+ fi
25
+
26
+ if [[ "$platform" == "github" ]]; then
27
+ base_branch="$(gh pr view --json baseRefName -q .baseRefName 2>/dev/null || true)"
28
+ if [[ -z "$base_branch" ]]; then
29
+ base_branch="$(gh repo view --json defaultBranchRef -q .defaultBranchRef.name 2>/dev/null || true)"
30
+ fi
31
+ elif [[ "$platform" == "gitlab" ]]; then
32
+ base_branch="$(glab mr view -F json 2>/dev/null | jq -r '.target_branch // empty' 2>/dev/null || true)"
33
+ if [[ -z "$base_branch" ]]; then
34
+ base_branch="$(glab repo view -F json 2>/dev/null | jq -r '.default_branch // empty' 2>/dev/null || true)"
35
+ fi
36
+ fi
37
+
38
+ if [[ -z "$base_branch" ]]; then
39
+ base_branch="$(git symbolic-ref refs/remotes/origin/HEAD 2>/dev/null | sed 's|refs/remotes/origin/||' || true)"
40
+ fi
41
+ if [[ -z "$base_branch" ]] && git rev-parse --verify origin/main >/dev/null 2>&1; then
42
+ base_branch="main"
43
+ fi
44
+ if [[ -z "$base_branch" ]] && git rev-parse --verify origin/master >/dev/null 2>&1; then
45
+ base_branch="master"
46
+ fi
47
+ if [[ -z "$base_branch" ]]; then
48
+ base_branch="main"
49
+ fi
50
+
51
+ if [[ "$platform" == "github" ]]; then
52
+ pr_line="$(gh pr view --json url,state -q 'if .url then (.state + "|" + .url) else "" end' 2>/dev/null || true)"
53
+ if [[ -n "$pr_line" ]]; then
54
+ pr_status="${pr_line%%|*}"
55
+ pr_url="${pr_line#*|}"
56
+ fi
57
+ elif [[ "$platform" == "gitlab" ]]; then
58
+ pr_line="$(glab mr view -F json 2>/dev/null | jq -r 'if .web_url then (.state + "|" + .web_url) else "" end' 2>/dev/null || true)"
59
+ if [[ -n "$pr_line" ]]; then
60
+ pr_status="${pr_line%%|*}"
61
+ pr_url="${pr_line#*|}"
62
+ fi
63
+ fi
64
+
65
+ decision_hint="local-handoff"
66
+ if [[ -n "$current_branch" && "$current_branch" == "$base_branch" ]]; then
67
+ decision_hint="post-merge-closeout"
68
+ elif [[ "$pr_status" == "OPEN" || "$pr_status" == "opened" ]]; then
69
+ decision_hint="update-pr"
70
+ elif [[ -n "$remote_url" ]]; then
71
+ decision_hint="create-pr"
72
+ fi
73
+
74
+ cat <<EOF
75
+ CURRENT_BRANCH=$current_branch
76
+ BASE_BRANCH=$base_branch
77
+ PLATFORM=$platform
78
+ REMOTE_URL=$remote_url
79
+ PR_STATUS=$pr_status
80
+ PR_URL=$pr_url
81
+ DECISION_HINT=$decision_hint
82
+ EOF
@@ -0,0 +1,83 @@
1
+ #!/usr/bin/env bash
2
+
3
+ set -euo pipefail
4
+
5
+ # ------------------------------------------------------------
6
+ # cc-act: 汇总 requirement 当前 gate 与 ship 状态
7
+ # ------------------------------------------------------------
8
+
9
+ usage() {
10
+ cat <<'EOF'
11
+ Usage: generate-status-report.sh --dir path/to/change
12
+ EOF
13
+ }
14
+
15
+ REQ_DIR=""
16
+ while [[ $# -gt 0 ]]; do
17
+ case "$1" in
18
+ --dir) REQ_DIR="$2"; shift 2 ;;
19
+ -h|--help) usage; exit 0 ;;
20
+ *) echo "Unknown arg: $1" >&2; usage; exit 1 ;;
21
+ esac
22
+ done
23
+
24
+ if [[ -z "$REQ_DIR" || ! -d "$REQ_DIR" ]]; then
25
+ usage
26
+ exit 1
27
+ fi
28
+
29
+ script_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
30
+ source "$script_dir/cc-act-common.sh"
31
+ CHANGE_DIR="$(req_act_change_dir "$REQ_DIR")"
32
+ report_card="$(req_act_report_path "$CHANGE_DIR")"
33
+ tasks_file="$(req_act_tasks_path "$CHANGE_DIR")"
34
+ handoff_dir="$(req_act_handoff_dir "$CHANGE_DIR")"
35
+
36
+ verdict="unknown"
37
+ reroute="unknown"
38
+ evidence_count="0"
39
+ gap_count="0"
40
+
41
+ if [[ -f "$report_card" ]]; then
42
+ verdict="$(jq -r '.verdict // "unknown"' "$report_card" 2>/dev/null || echo unknown)"
43
+ reroute="$(jq -r '.reroute // "unknown"' "$report_card" 2>/dev/null || echo unknown)"
44
+ evidence_count="$(jq -r '(.evidence // []) | length' "$report_card" 2>/dev/null || echo 0)"
45
+ gap_count="$(jq -r '(.gaps // []) | length' "$report_card" 2>/dev/null || echo 0)"
46
+ fi
47
+
48
+ remaining_tasks="0"
49
+ done_tasks="0"
50
+ if [[ -f "$tasks_file" ]]; then
51
+ remaining_tasks="$(awk '/^- \[ \]/{c++} END{print c+0}' "$tasks_file" 2>/dev/null || echo 0)"
52
+ done_tasks="$(awk '/^- \[[xX]\]/{c++} END{print c+0}' "$tasks_file" 2>/dev/null || echo 0)"
53
+ fi
54
+
55
+ ship_context="$("$script_dir/detect-ship-target.sh" 2>/dev/null || true)"
56
+ current_branch="$(printf '%s\n' "$ship_context" | awk -F= '/^CURRENT_BRANCH=/{print $2}')"
57
+ base_branch="$(printf '%s\n' "$ship_context" | awk -F= '/^BASE_BRANCH=/{print $2}')"
58
+ platform="$(printf '%s\n' "$ship_context" | awk -F= '/^PLATFORM=/{print $2}')"
59
+ decision_hint="$(printf '%s\n' "$ship_context" | awk -F= '/^DECISION_HINT=/{print $2}')"
60
+ pr_status="$(printf '%s\n' "$ship_context" | awk -F= '/^PR_STATUS=/{print $2}')"
61
+ pr_url="$(printf '%s\n' "$ship_context" | awk -F= '/^PR_URL=/{print $2}')"
62
+
63
+ {
64
+ echo "# Status Report"
65
+ echo
66
+ echo "- Change dir: $CHANGE_DIR"
67
+ echo "- Check result: $verdict"
68
+ echo "- Gate reroute: $reroute"
69
+ echo "- Evidence items: $evidence_count"
70
+ echo "- Open gaps: $gap_count"
71
+ echo "- Completed tasks: $done_tasks"
72
+ echo "- Remaining tasks: $remaining_tasks"
73
+ [[ -n "$current_branch" ]] && echo "- Current branch: $current_branch"
74
+ [[ -n "$base_branch" ]] && echo "- Base branch: $base_branch"
75
+ [[ -n "$platform" ]] && echo "- Platform: $platform"
76
+ [[ -n "$decision_hint" ]] && echo "- Ship mode hint: $decision_hint"
77
+ [[ -n "$pr_status" ]] && echo "- PR status: $pr_status"
78
+ [[ -n "$pr_url" ]] && echo "- PR url: $pr_url"
79
+ [[ -f "$handoff_dir/pr-brief.md" ]] && echo "- PR brief: ready"
80
+ [[ -f "$handoff_dir/release-note.md" ]] && echo "- Release note: ready"
81
+ [[ -f "$handoff_dir/resume-index.md" ]] && echo "- Resume index: ready"
82
+ [[ -f "$handoff_dir/doc-sync-report.md" ]] && echo "- Doc sync report: ready"
83
+ }