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.
- package/.claude/skills/cc-act/CHANGELOG.md +70 -0
- package/.claude/skills/cc-act/PLAYBOOK.md +212 -0
- package/.claude/skills/cc-act/SKILL.md +330 -0
- package/.claude/skills/cc-act/assets/PR_BRIEF_TEMPLATE.md +68 -0
- package/.claude/skills/cc-act/assets/RELEASE_NOTE_TEMPLATE.md +29 -0
- package/.claude/skills/cc-act/references/closure-contract.md +49 -0
- package/.claude/skills/cc-act/references/git-commit-guidelines.md +83 -0
- package/.claude/skills/cc-act/scripts/archive-requirement.sh +49 -0
- package/.claude/skills/cc-act/scripts/cc-act-common.sh +245 -0
- package/.claude/skills/cc-act/scripts/detect-ship-target.sh +82 -0
- package/.claude/skills/cc-act/scripts/generate-status-report.sh +83 -0
- package/.claude/skills/cc-act/scripts/render-pr-brief.sh +200 -0
- package/.claude/skills/cc-act/scripts/sync-act-docs.sh +328 -0
- package/.claude/skills/cc-act/scripts/verify-act-gate.sh +63 -0
- package/.claude/skills/cc-check/CHANGELOG.md +78 -0
- package/.claude/skills/cc-check/PLAYBOOK.md +153 -0
- package/.claude/skills/cc-check/SKILL.md +353 -0
- package/.claude/skills/cc-check/assets/REPORT_CARD_TEMPLATE.json +53 -0
- package/.claude/skills/cc-check/references/gate-contract.md +29 -0
- package/.claude/skills/cc-check/references/review-contract.md +45 -0
- package/.claude/skills/cc-check/scripts/render-report-card.js +229 -0
- package/.claude/skills/cc-check/scripts/run-quality-gates.sh +86 -0
- package/.claude/skills/cc-check/scripts/verify-gate.sh +57 -0
- package/.claude/skills/cc-do/CHANGELOG.md +54 -0
- package/.claude/skills/cc-do/PLAYBOOK.md +119 -0
- package/.claude/skills/cc-do/SKILL.md +224 -0
- package/.claude/skills/cc-do/references/execution-recovery.md +86 -0
- package/.claude/skills/cc-do/references/parallel-dispatch.md +80 -0
- package/.claude/skills/cc-do/scripts/build-task-context.sh +184 -0
- package/.claude/skills/cc-do/scripts/cc-do-common.sh +79 -0
- package/.claude/skills/cc-do/scripts/check-task-status.sh +92 -0
- package/.claude/skills/cc-do/scripts/detect-file-conflicts.sh +87 -0
- package/.claude/skills/cc-do/scripts/mark-task-complete.sh +119 -0
- package/.claude/skills/cc-do/scripts/record-review-decision.sh +89 -0
- package/.claude/skills/cc-do/scripts/recover-workflow.sh +84 -0
- package/.claude/skills/cc-do/scripts/run-problem-analysis.sh +70 -0
- package/.claude/skills/cc-do/scripts/select-ready-tasks.sh +135 -0
- package/.claude/skills/cc-do/scripts/verify-task-gates.sh +94 -0
- package/.claude/skills/cc-do/scripts/write-task-checkpoint.sh +102 -0
- package/.claude/skills/cc-investigate/CHANGELOG.md +31 -0
- package/.claude/skills/cc-investigate/PLAYBOOK.md +49 -0
- package/.claude/skills/cc-investigate/SKILL.md +229 -0
- package/.claude/skills/cc-investigate/assets/ANALYSIS_TEMPLATE.md +56 -0
- package/.claude/skills/cc-investigate/assets/TASKS_TEMPLATE.md +53 -0
- package/.claude/skills/cc-investigate/assets/TASK_MANIFEST_TEMPLATE.json +106 -0
- package/.claude/skills/cc-investigate/references/investigation-contract.md +28 -0
- package/.claude/skills/cc-investigate/scripts/bootstrap-analysis.sh +38 -0
- package/.claude/skills/cc-plan/CHANGELOG.md +104 -0
- package/.claude/skills/cc-plan/PLAYBOOK.md +106 -0
- package/.claude/skills/cc-plan/SKILL.md +333 -0
- package/.claude/skills/cc-plan/assets/DESIGN_TEMPLATE.md +156 -0
- package/.claude/skills/cc-plan/assets/TASKS_TEMPLATE.md +99 -0
- package/.claude/skills/cc-plan/assets/TASK_MANIFEST_TEMPLATE.json +111 -0
- package/.claude/skills/cc-plan/assets/TINY_DESIGN_TEMPLATE.md +80 -0
- package/.claude/skills/cc-plan/references/planning-contract.md +82 -0
- package/.claude/skills/cc-plan/scripts/bump-skill-version.sh +103 -0
- package/.claude/skills/cc-plan/scripts/parse-task-dependencies.js +75 -0
- package/.claude/skills/cc-plan/scripts/validate-scope.sh +78 -0
- package/.claude/skills/cc-roadmap/CHANGELOG.md +119 -0
- package/.claude/skills/cc-roadmap/PLAYBOOK.md +136 -0
- package/.claude/skills/cc-roadmap/SKILL.md +267 -0
- package/.claude/skills/cc-roadmap/assets/BACKLOG_TEMPLATE.md +46 -0
- package/.claude/skills/cc-roadmap/assets/ROADMAP_TEMPLATE.md +154 -0
- package/.claude/skills/cc-roadmap/assets/TRACKING_TEMPLATE.json +51 -0
- package/.claude/skills/cc-roadmap/references/roadmap-dialogue.md +37 -0
- package/.claude/skills/cc-roadmap/scripts/bump-skill-version.sh +103 -0
- package/.claude/skills/cc-roadmap/scripts/lib/roadmap-tracking/markdown.js +604 -0
- package/.claude/skills/cc-roadmap/scripts/lib/roadmap-tracking/query.js +63 -0
- package/.claude/skills/cc-roadmap/scripts/lib/roadmap-tracking/schema.js +245 -0
- package/.claude/skills/cc-roadmap/scripts/lib/roadmap-tracking/store.js +139 -0
- package/.claude/skills/cc-roadmap/scripts/locate-roadmap-item.sh +109 -0
- package/.claude/skills/cc-roadmap/scripts/roadmap-tracking.js +153 -0
- package/.claude/skills/cc-roadmap/scripts/sync-roadmap-progress.sh +100 -0
- package/.claude/skills/cc-simplify/CHANGELOG.md +10 -0
- package/.claude/skills/cc-simplify/SKILL.md +55 -0
- package/.claude/skills/cc-spec-init/CHANGELOG.md +12 -0
- package/.claude/skills/cc-spec-init/PLAYBOOK.md +55 -0
- package/.claude/skills/cc-spec-init/SKILL.md +135 -0
- package/.claude/skills/cc-spec-init/assets/CAPABILITY_TEMPLATE.md +64 -0
- package/.claude/skills/cc-spec-init/assets/CHANGE_META_TEMPLATE.json +28 -0
- package/.claude/skills/cc-spec-init/assets/INDEX_TEMPLATE.md +35 -0
- package/.claude/skills/cc-spec-init/references/spec-contract.md +22 -0
- package/.claude/skills/cc-spec-init/scripts/bootstrap-specs.sh +31 -0
- package/.claude/skills/cc-spec-init/scripts/validate-spec-links.sh +45 -0
- package/CHANGELOG.md +80 -4
- package/README.md +148 -741
- package/README.zh-CN.md +146 -740
- package/bin/adapt.js +2 -6
- package/bin/cc-devflow-cli.js +287 -166
- package/config/distributable-skills.json +24 -0
- package/config/schema/cc-devflow-config.schema.json +45 -0
- package/config/user-config.template.yml +16 -0
- package/docs/CLAUDE.md +10 -6
- package/docs/commands/README.md +19 -46
- package/docs/commands/README.zh-CN.md +25 -48
- package/docs/examples/BY-ARTIFACT.md +7 -0
- package/docs/examples/README.md +38 -0
- package/docs/examples/START-HERE.md +149 -0
- package/docs/examples/example-bindings.json +38 -0
- package/docs/examples/full-design-blocked/BACKLOG.md +45 -0
- package/docs/examples/full-design-blocked/README.md +55 -0
- package/docs/examples/full-design-blocked/ROADMAP.md +53 -0
- package/docs/examples/full-design-blocked/changes/REQ-002-bulk-invite-import/planning/design.md +154 -0
- package/docs/examples/full-design-blocked/changes/REQ-002-bulk-invite-import/planning/task-manifest.json +146 -0
- package/docs/examples/full-design-blocked/changes/REQ-002-bulk-invite-import/planning/tasks.md +78 -0
- package/docs/examples/full-design-blocked/changes/REQ-002-bulk-invite-import/review/report-card.json +52 -0
- package/docs/examples/full-design-blocked/roadmap-tracking.json +50 -0
- package/docs/examples/local-handoff/BACKLOG.md +45 -0
- package/docs/examples/local-handoff/README.md +56 -0
- package/docs/examples/local-handoff/ROADMAP.md +45 -0
- package/docs/examples/local-handoff/changes/REQ-003-audit-log-export/handoff/resume-index.md +39 -0
- package/docs/examples/local-handoff/changes/REQ-003-audit-log-export/handoff/status.md +29 -0
- package/docs/examples/local-handoff/changes/REQ-003-audit-log-export/planning/design.md +71 -0
- package/docs/examples/local-handoff/changes/REQ-003-audit-log-export/planning/task-manifest.json +98 -0
- package/docs/examples/local-handoff/changes/REQ-003-audit-log-export/planning/tasks.md +59 -0
- package/docs/examples/local-handoff/changes/REQ-003-audit-log-export/review/report-card.json +44 -0
- package/docs/examples/local-handoff/roadmap-tracking.json +48 -0
- package/docs/examples/pdca-loop/BACKLOG.md +46 -0
- package/docs/examples/pdca-loop/README.md +58 -0
- package/docs/examples/pdca-loop/ROADMAP.md +133 -0
- package/docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/handoff/pr-brief.md +72 -0
- package/docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/handoff/status.md +29 -0
- package/docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/planning/design.md +72 -0
- package/docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/planning/task-manifest.json +201 -0
- package/docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/planning/tasks.md +73 -0
- package/docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/review/report-card.json +44 -0
- package/docs/examples/pdca-loop/roadmap-tracking.json +114 -0
- package/docs/examples/scripts/check-example-bindings.sh +116 -0
- package/docs/guides/getting-started.md +94 -129
- package/docs/guides/getting-started.zh-CN.md +103 -84
- package/docs/skill-runtime-migration.md +46 -0
- package/docs/v4.3.0-migration-guide.md +60 -225
- package/lib/compiler/CLAUDE.md +55 -84
- package/lib/compiler/__tests__/drift.test.js +1 -1
- package/lib/compiler/__tests__/errors.test.js +0 -1
- package/lib/compiler/__tests__/integration.test.js +49 -3
- package/lib/compiler/__tests__/manifest.test.js +0 -156
- package/lib/compiler/__tests__/parser.test.js +33 -104
- package/lib/compiler/__tests__/schemas.test.js +30 -34
- package/lib/compiler/__tests__/skills-registry.test.js +114 -0
- package/lib/compiler/__tests__/transformer.test.js +5 -9
- package/lib/compiler/emitters/antigravity-emitter.js +5 -213
- package/lib/compiler/emitters/base-emitter.js +3 -298
- package/lib/compiler/emitters/codex-emitter.js +4 -202
- package/lib/compiler/emitters/cursor-emitter.js +3 -287
- package/lib/compiler/emitters/qwen-emitter.js +4 -176
- package/lib/compiler/index.js +65 -345
- package/lib/compiler/manifest.js +6 -68
- package/lib/compiler/parser.js +31 -63
- package/lib/compiler/platforms.js +32 -277
- package/lib/compiler/resource-copier.js +176 -6
- package/lib/compiler/rules-emitters/__tests__/antigravity-rules-emitter.test.js +3 -3
- package/lib/compiler/rules-emitters/__tests__/cursor-rules-emitter.test.js +14 -4
- package/lib/compiler/rules-emitters/__tests__/qwen-rules-emitter.test.js +16 -7
- package/lib/compiler/rules-emitters/antigravity-rules-emitter.js +10 -15
- package/lib/compiler/rules-emitters/base-rules-emitter.js +5 -5
- package/lib/compiler/rules-emitters/cursor-rules-emitter.js +7 -12
- package/lib/compiler/rules-emitters/index.js +6 -3
- package/lib/compiler/rules-emitters/qwen-rules-emitter.js +7 -7
- package/lib/compiler/schemas.js +8 -4
- package/lib/compiler/skills-registry.js +213 -15
- package/lib/compiler/transformer.js +1 -1
- package/lib/skill-runtime/CLAUDE.md +19 -0
- package/lib/skill-runtime/__tests__/autopilot.test.js +210 -0
- package/lib/skill-runtime/__tests__/cli-bootstrap.integration.test.js +291 -0
- package/lib/skill-runtime/__tests__/config.test.js +161 -0
- package/lib/skill-runtime/__tests__/delegation.test.js +97 -0
- package/lib/skill-runtime/__tests__/dispatch.test.js +267 -0
- package/lib/skill-runtime/__tests__/intent.test.js +219 -0
- package/lib/skill-runtime/__tests__/lifecycle.test.js +169 -0
- package/lib/skill-runtime/__tests__/paths.test.js +42 -0
- package/lib/skill-runtime/__tests__/planner.tdd.test.js +250 -0
- package/lib/skill-runtime/__tests__/prepare-pr.test.js +139 -0
- package/lib/skill-runtime/__tests__/query.test.js +284 -0
- package/lib/skill-runtime/__tests__/runtime.integration.test.js +281 -0
- package/lib/skill-runtime/__tests__/schemas.test.js +207 -0
- package/lib/skill-runtime/__tests__/team-state.test.js +51 -0
- package/lib/skill-runtime/__tests__/worker-run.test.js +253 -0
- package/lib/skill-runtime/__tests__/worker.test.js +56 -0
- package/lib/skill-runtime/artifacts.js +93 -0
- package/lib/skill-runtime/config.js +379 -0
- package/lib/skill-runtime/delegation.js +533 -0
- package/lib/skill-runtime/index.js +36 -0
- package/lib/skill-runtime/intent.js +333 -0
- package/lib/skill-runtime/lifecycle.js +294 -0
- package/lib/skill-runtime/operations/CLAUDE.md +19 -0
- package/lib/skill-runtime/operations/approve.js +66 -0
- package/lib/skill-runtime/operations/autopilot-core.js +337 -0
- package/lib/skill-runtime/operations/autopilot-execution.js +307 -0
- package/lib/skill-runtime/operations/autopilot-shared.js +48 -0
- package/lib/skill-runtime/operations/autopilot.js +163 -0
- package/lib/skill-runtime/operations/dispatch.js +454 -0
- package/lib/skill-runtime/operations/init.js +64 -0
- package/lib/{harness → skill-runtime}/operations/janitor.js +9 -6
- package/lib/skill-runtime/operations/plan.js +59 -0
- package/lib/skill-runtime/operations/prepare-pr.js +25 -0
- package/lib/skill-runtime/operations/release.js +96 -0
- package/lib/skill-runtime/operations/resume.js +143 -0
- package/lib/skill-runtime/operations/snapshot.js +45 -0
- package/lib/skill-runtime/operations/verify.js +170 -0
- package/lib/skill-runtime/operations/worker-run.js +529 -0
- package/lib/skill-runtime/operations/worker.js +33 -0
- package/lib/skill-runtime/paths.js +213 -0
- package/lib/skill-runtime/planner.js +519 -0
- package/lib/skill-runtime/query.js +157 -0
- package/lib/skill-runtime/review.js +557 -0
- package/lib/skill-runtime/schemas.js +400 -0
- package/lib/{harness → skill-runtime}/store.js +45 -30
- package/lib/skill-runtime/team-state.js +122 -0
- package/package.json +13 -11
- package/.claude/CLAUDE.md +0 -125
- package/.claude/agents/architecture-designer.md +0 -443
- package/.claude/agents/bug-analyzer.md +0 -381
- package/.claude/agents/checklist-agent.md +0 -175
- package/.claude/agents/clarify-analyst.md +0 -50
- package/.claude/agents/code-quality-reviewer.md +0 -205
- package/.claude/agents/code-reviewer.md +0 -71
- package/.claude/agents/codex-analyzer.md +0 -39
- package/.claude/agents/compatibility-checker.md +0 -579
- package/.claude/agents/consistency-checker.md +0 -532
- package/.claude/agents/dev-implementer.md +0 -195
- package/.claude/agents/flow-researcher.md +0 -132
- package/.claude/agents/impact-analyzer.md +0 -440
- package/.claude/agents/planner.md +0 -230
- package/.claude/agents/prd-writer.md +0 -320
- package/.claude/agents/project-guidelines-generator.md +0 -1329
- package/.claude/agents/qa-tester.md +0 -313
- package/.claude/agents/release-manager.md +0 -295
- package/.claude/agents/security-reviewer.md +0 -314
- package/.claude/agents/spec-reviewer.md +0 -221
- package/.claude/agents/style-guide-generator.md +0 -458
- package/.claude/agents/tech-architect.md +0 -516
- package/.claude/agents/ui-designer.md +0 -485
- package/.claude/commands/core/architecture.md +0 -459
- package/.claude/commands/core/guidelines.md +0 -511
- package/.claude/commands/core/roadmap.md +0 -468
- package/.claude/commands/core/style.md +0 -83
- package/.claude/commands/flow/CLAUDE.md +0 -24
- package/.claude/commands/flow/archive.md +0 -280
- package/.claude/commands/flow/constitution.md +0 -82
- package/.claude/commands/flow/context.md +0 -150
- package/.claude/commands/flow/delta.md +0 -245
- package/.claude/commands/flow/dev.md +0 -40
- package/.claude/commands/flow/fix.md +0 -217
- package/.claude/commands/flow/ideate.md +0 -214
- package/.claude/commands/flow/init.md +0 -38
- package/.claude/commands/flow/release.md +0 -36
- package/.claude/commands/flow/restart.md +0 -97
- package/.claude/commands/flow/spec.md +0 -36
- package/.claude/commands/flow/status.md +0 -64
- package/.claude/commands/flow/update.md +0 -111
- package/.claude/commands/flow/upgrade.md +0 -115
- package/.claude/commands/flow/verify.md +0 -37
- package/.claude/commands/flow/workspace.md +0 -155
- package/.claude/commands/util/cancel-ralph.md +0 -60
- package/.claude/commands/util/code-review.md +0 -58
- package/.claude/commands/util/git-commit.md +0 -422
- package/.claude/commands/util/problem-analyzer.md +0 -60
- package/.claude/config/quality-gates.yml +0 -305
- package/.claude/config/quality-rules.yml +0 -161
- package/.claude/docs/SPEC_KIT_CONSTITUTION_ANALYSIS.md +0 -426
- package/.claude/docs/design/consistency-conflict-detection-algorithms.md +0 -658
- package/.claude/docs/design/intent-driven-input-design.md +0 -380
- package/.claude/docs/design/prd-version-management-design.md +0 -437
- package/.claude/docs/examples/design-inspiration-pool.md +0 -59
- package/.claude/docs/examples/ui-prototype-constitution-checklist.md +0 -75
- package/.claude/docs/guides/INIT_TROUBLESHOOTING.md +0 -117
- package/.claude/docs/guides/NEW_TROUBLESHOOTING.md +0 -99
- package/.claude/docs/guides/ROADMAP_TROUBLESHOOTING.md +0 -188
- package/.claude/docs/guides/TASK_COMPLETION_MARKING.md +0 -338
- package/.claude/docs/guides/TEAM_MODE_GUIDE.md +0 -312
- package/.claude/docs/implementation-summary-v7.md +0 -449
- package/.claude/docs/spec-format-guide.md +0 -349
- package/.claude/docs/state-consolidation-design.md +0 -323
- package/.claude/docs/templates/ARCHITECTURE_TEMPLATE.md +0 -332
- package/.claude/docs/templates/ATTEMPT_TEMPLATE.md +0 -156
- package/.claude/docs/templates/BACKLOG_TEMPLATE.md +0 -261
- package/.claude/docs/templates/BRAINSTORM_TEMPLATE.md +0 -148
- package/.claude/docs/templates/CHECKLIST_TEMPLATE.md +0 -52
- package/.claude/docs/templates/CLARIFICATION_REPORT_TEMPLATE.md +0 -206
- package/.claude/docs/templates/CODE_REVIEW_TEMPLATE.md +0 -71
- package/.claude/docs/templates/DELTA_SPEC_TEMPLATE.md +0 -91
- package/.claude/docs/templates/DESIGN_DECISIONS_TEMPLATE.md +0 -151
- package/.claude/docs/templates/DESIGN_TEMPLATE.md +0 -157
- package/.claude/docs/templates/ERROR_LOG_TEMPLATE.md +0 -80
- package/.claude/docs/templates/INIT_FLOW_TEMPLATE.md +0 -198
- package/.claude/docs/templates/INTENT_CLARIFICATION_TEMPLATE.md +0 -57
- package/.claude/docs/templates/JOURNAL_TEMPLATE.md +0 -75
- package/.claude/docs/templates/NEW_ORCHESTRATION_TEMPLATE.md +0 -76
- package/.claude/docs/templates/PROPOSAL_TEMPLATE.md +0 -91
- package/.claude/docs/templates/RESEARCH_TEMPLATE.md +0 -276
- package/.claude/docs/templates/REVIEW-HIGH.md +0 -57
- package/.claude/docs/templates/ROADMAP_DIALOGUE_TEMPLATE.md +0 -198
- package/.claude/docs/templates/ROADMAP_TEMPLATE.md +0 -310
- package/.claude/docs/templates/SPEC_TEMPLATE_DELTA.md +0 -139
- package/.claude/docs/templates/SPEC_TEMPLATE_PROJECT.md +0 -93
- package/.claude/docs/templates/STYLE_TEMPLATE.md +0 -479
- package/.claude/docs/templates/UI_PROTOTYPE_TEMPLATE.md +0 -373
- package/.claude/docs/templates/_shared/CLAUDE.md +0 -36
- package/.claude/docs/templates/_shared/CONSTITUTION_CHECK.md +0 -125
- package/.claude/docs/templates/_shared/VALIDATION_CHECKLIST.md +0 -187
- package/.claude/docs/templates/_shared/YAML_FRONTMATTER.md +0 -164
- package/.claude/docs/templates/context/dev.jsonl.template +0 -6
- package/.claude/docs/templates/context/epic.jsonl.template +0 -5
- package/.claude/docs/templates/context/prd.jsonl.template +0 -4
- package/.claude/docs/templates/context/research.jsonl.template +0 -4
- package/.claude/docs/templates/context/review.jsonl.template +0 -5
- package/.claude/docs/templates/context/tech.jsonl.template +0 -5
- package/.claude/guides/agent-guides/agent-coordination-guide.md +0 -459
- package/.claude/guides/project-guidelines-system.md +0 -463
- package/.claude/guides/technical-guides/datetime-handling-guide.md +0 -563
- package/.claude/guides/technical-guides/git-github-guide.md +0 -642
- package/.claude/guides/technical-guides/test-execution-guide.md +0 -618
- package/.claude/guides/workflow-guides/bug-fix-orchestrator.md +0 -217
- package/.claude/guides/workflow-guides/flow-orchestrator.md +0 -48
- package/.claude/hooks/CLAUDE.md +0 -342
- package/.claude/hooks/checklist-gate.js +0 -397
- package/.claude/hooks/error-handling-reminder.sh +0 -12
- package/.claude/hooks/error-handling-reminder.ts +0 -459
- package/.claude/hooks/hooks.json +0 -15
- package/.claude/hooks/inject-agent-context.ts +0 -480
- package/.claude/hooks/inject-skill-context.ts +0 -359
- package/.claude/hooks/post-tool-use-tracker.sh +0 -280
- package/.claude/hooks/pre-tool-use-guardrail.sh +0 -36
- package/.claude/hooks/pre-tool-use-guardrail.ts +0 -342
- package/.claude/hooks/ralph-loop.ts +0 -931
- package/.claude/hooks/ralph-stop-hook.sh +0 -190
- package/.claude/hooks/skill-activation-prompt.sh +0 -36
- package/.claude/hooks/skill-activation-prompt.ts +0 -214
- package/.claude/hooks/state/skills-used-test-guard.json +0 -3
- package/.claude/hooks/task-completed-hook.ts +0 -593
- package/.claude/hooks/teammate-idle-hook.ts +0 -690
- package/.claude/hooks/types/team-types.d.ts +0 -238
- package/.claude/rules/devflow-conventions.md +0 -286
- package/.claude/rules/project-constitution.md +0 -1002
- package/.claude/rules/rationalization-library.md +0 -282
- package/.claude/schemas/constitution.schema.json +0 -43
- package/.claude/scripts/.claude/commands/flow/export-openspec.md +0 -221
- package/.claude/scripts/.claude/commands/flow/import-openspec.md +0 -171
- package/.claude/scripts/CLAUDE.md +0 -76
- package/.claude/scripts/__tests__/openspec.test.js +0 -212
- package/.claude/scripts/analyze-upgrade-impact.sh +0 -200
- package/.claude/scripts/archive-requirement.sh +0 -394
- package/.claude/scripts/calculate-checklist-completion.sh +0 -243
- package/.claude/scripts/calculate-quarter.sh +0 -206
- package/.claude/scripts/check-dependencies.sh +0 -409
- package/.claude/scripts/check-prerequisites.sh +0 -232
- package/.claude/scripts/check-task-status.sh +0 -288
- package/.claude/scripts/checklist-errors.sh +0 -131
- package/.claude/scripts/common.sh +0 -1102
- package/.claude/scripts/consolidate-research.sh +0 -182
- package/.claude/scripts/create-requirement.sh +0 -451
- package/.claude/scripts/delta-parser.ts +0 -637
- package/.claude/scripts/detect-file-conflicts.sh +0 -151
- package/.claude/scripts/export-contracts.sh +0 -117
- package/.claude/scripts/export-openspec.js +0 -222
- package/.claude/scripts/extract-data-model.sh +0 -78
- package/.claude/scripts/flow-context-add.sh +0 -134
- package/.claude/scripts/flow-context-init.sh +0 -133
- package/.claude/scripts/flow-context-validate.sh +0 -144
- package/.claude/scripts/flow-delta-apply.sh +0 -297
- package/.claude/scripts/flow-delta-archive.sh +0 -71
- package/.claude/scripts/flow-delta-create.sh +0 -202
- package/.claude/scripts/flow-delta-list.sh +0 -142
- package/.claude/scripts/flow-delta-status.sh +0 -235
- package/.claude/scripts/flow-quality-full.sh +0 -215
- package/.claude/scripts/flow-quality-quick.sh +0 -119
- package/.claude/scripts/flow-workspace-init.sh +0 -117
- package/.claude/scripts/flow-workspace-record.sh +0 -164
- package/.claude/scripts/generate-clarification-questions.sh +0 -377
- package/.claude/scripts/generate-clarification-report.sh +0 -463
- package/.claude/scripts/generate-quickstart.sh +0 -146
- package/.claude/scripts/generate-research-tasks.sh +0 -157
- package/.claude/scripts/generate-status-report.sh +0 -523
- package/.claude/scripts/generate-tech-analysis.sh +0 -46
- package/.claude/scripts/get-workflow-status.sh +0 -415
- package/.claude/scripts/import-openspec.js +0 -272
- package/.claude/scripts/locate-requirement-in-roadmap.sh +0 -233
- package/.claude/scripts/manage-constitution.sh +0 -602
- package/.claude/scripts/mark-task-complete.sh +0 -198
- package/.claude/scripts/parse-task-dependencies.js +0 -334
- package/.claude/scripts/populate-research-tasks.sh +0 -284
- package/.claude/scripts/record-quality-error.sh +0 -165
- package/.claude/scripts/recover-workflow.sh +0 -463
- package/.claude/scripts/run-clarify-scan.sh +0 -601
- package/.claude/scripts/run-high-review.sh +0 -62
- package/.claude/scripts/run-problem-analysis.sh +0 -68
- package/.claude/scripts/run-quality-gates.sh +0 -242
- package/.claude/scripts/setup-epic.sh +0 -173
- package/.claude/scripts/setup-ralph-loop.sh +0 -155
- package/.claude/scripts/sync-roadmap-progress.sh +0 -300
- package/.claude/scripts/sync-task-marks.sh +0 -199
- package/.claude/scripts/team-dev-init.sh +0 -319
- package/.claude/scripts/team-state-recovery.sh +0 -229
- package/.claude/scripts/test-clarify-scan.sh +0 -515
- package/.claude/scripts/update-agent-context.sh +0 -806
- package/.claude/scripts/validate-constitution.sh +0 -567
- package/.claude/scripts/validate-hooks.sh +0 -487
- package/.claude/scripts/validate-research.sh +0 -332
- package/.claude/scripts/validate-scope-boundary.sh +0 -493
- package/.claude/scripts/validate-scope.sh +0 -200
- package/.claude/scripts/verify-gate.sh +0 -269
- package/.claude/scripts/verify-setup.sh +0 -37
- package/.claude/scripts/workflow-status.ts +0 -433
- package/.claude/settings.json +0 -95
- package/.claude/skills/_reference-implementations/README.md +0 -96
- package/.claude/skills/_reference-implementations/backend-express-prisma/SKILL.md +0 -302
- package/.claude/skills/_reference-implementations/backend-express-prisma/resources/architecture-overview.md +0 -451
- package/.claude/skills/_reference-implementations/backend-express-prisma/resources/async-and-errors.md +0 -307
- package/.claude/skills/_reference-implementations/backend-express-prisma/resources/complete-examples.md +0 -638
- package/.claude/skills/_reference-implementations/backend-express-prisma/resources/configuration.md +0 -275
- package/.claude/skills/_reference-implementations/backend-express-prisma/resources/database-patterns.md +0 -224
- package/.claude/skills/_reference-implementations/backend-express-prisma/resources/middleware-guide.md +0 -213
- package/.claude/skills/_reference-implementations/backend-express-prisma/resources/routing-and-controllers.md +0 -756
- package/.claude/skills/_reference-implementations/backend-express-prisma/resources/sentry-and-monitoring.md +0 -336
- package/.claude/skills/_reference-implementations/backend-express-prisma/resources/services-and-repositories.md +0 -789
- package/.claude/skills/_reference-implementations/backend-express-prisma/resources/testing-guide.md +0 -235
- package/.claude/skills/_reference-implementations/backend-express-prisma/resources/validation-patterns.md +0 -754
- package/.claude/skills/_reference-implementations/frontend-react-mui/SKILL.md +0 -399
- package/.claude/skills/_reference-implementations/frontend-react-mui/resources/common-patterns.md +0 -331
- package/.claude/skills/_reference-implementations/frontend-react-mui/resources/complete-examples.md +0 -872
- package/.claude/skills/_reference-implementations/frontend-react-mui/resources/component-patterns.md +0 -502
- package/.claude/skills/_reference-implementations/frontend-react-mui/resources/data-fetching.md +0 -767
- package/.claude/skills/_reference-implementations/frontend-react-mui/resources/file-organization.md +0 -502
- package/.claude/skills/_reference-implementations/frontend-react-mui/resources/loading-and-error-states.md +0 -501
- package/.claude/skills/_reference-implementations/frontend-react-mui/resources/performance.md +0 -406
- package/.claude/skills/_reference-implementations/frontend-react-mui/resources/routing-guide.md +0 -364
- package/.claude/skills/_reference-implementations/frontend-react-mui/resources/styling-guide.md +0 -428
- package/.claude/skills/_reference-implementations/frontend-react-mui/resources/typescript-standards.md +0 -418
- package/.claude/skills/attention-refresh/SKILL.md +0 -170
- package/.claude/skills/brainstorming/SKILL.md +0 -161
- package/.claude/skills/cc-devflow-orchestrator/SKILL.md +0 -169
- package/.claude/skills/constitution-guardian/SKILL.md +0 -306
- package/.claude/skills/constitution-quick-ref/SKILL.md +0 -374
- package/.claude/skills/debugging/SKILL.md +0 -221
- package/.claude/skills/file-standards/SKILL.md +0 -353
- package/.claude/skills/finishing-branch/SKILL.md +0 -189
- package/.claude/skills/flow-dev/CLAUDE.md +0 -16
- package/.claude/skills/flow-dev/SKILL.md +0 -94
- package/.claude/skills/flow-dev/assets/IMPLEMENTATION_PLAN_TEMPLATE.md +0 -71
- package/.claude/skills/flow-dev/context.jsonl +0 -4
- package/.claude/skills/flow-dev/dev-implementer.jsonl +0 -8
- package/.claude/skills/flow-dev/scripts/entry-gate.sh +0 -116
- package/.claude/skills/flow-dev/scripts/exit-gate.sh +0 -101
- package/.claude/skills/flow-dev/scripts/task-orchestrator.sh +0 -106
- package/.claude/skills/flow-fix/SKILL.md +0 -105
- package/.claude/skills/flow-fix/context.jsonl +0 -6
- package/.claude/skills/flow-fix/references/bug-analyzer.md +0 -381
- package/.claude/skills/flow-init/SKILL.md +0 -105
- package/.claude/skills/flow-init/assets/BRAINSTORM_TEMPLATE.md +0 -148
- package/.claude/skills/flow-init/assets/INIT_FLOW_TEMPLATE.md +0 -198
- package/.claude/skills/flow-init/assets/RESEARCH_TEMPLATE.md +0 -276
- package/.claude/skills/flow-init/context.jsonl +0 -5
- package/.claude/skills/flow-init/references/flow-researcher.md +0 -132
- package/.claude/skills/flow-init/scripts/check-prerequisites.sh +0 -240
- package/.claude/skills/flow-init/scripts/consolidate-research.sh +0 -182
- package/.claude/skills/flow-init/scripts/create-requirement.sh +0 -404
- package/.claude/skills/flow-init/scripts/generate-research-tasks.sh +0 -157
- package/.claude/skills/flow-init/scripts/populate-research-tasks.sh +0 -284
- package/.claude/skills/flow-init/scripts/validate-research.sh +0 -340
- package/.claude/skills/flow-quality/SKILL.md +0 -98
- package/.claude/skills/flow-quality/context.jsonl +0 -6
- package/.claude/skills/flow-quality/references/code-quality-reviewer.md +0 -205
- package/.claude/skills/flow-quality/references/qa-tester.md +0 -313
- package/.claude/skills/flow-quality/references/security-reviewer.md +0 -314
- package/.claude/skills/flow-quality/references/spec-reviewer.md +0 -221
- package/.claude/skills/flow-release/SKILL.md +0 -60
- package/.claude/skills/flow-release/context.jsonl +0 -5
- package/.claude/skills/flow-release/references/release-manager.md +0 -295
- package/.claude/skills/flow-spec/CLAUDE.md +0 -17
- package/.claude/skills/flow-spec/SKILL.md +0 -102
- package/.claude/skills/flow-spec/context.jsonl +0 -5
- package/.claude/skills/flow-spec/scripts/entry-gate.sh +0 -194
- package/.claude/skills/flow-spec/scripts/exit-gate.sh +0 -244
- package/.claude/skills/flow-spec/scripts/parallel-orchestrator.sh +0 -205
- package/.claude/skills/flow-spec/scripts/team-communication.sh +0 -353
- package/.claude/skills/flow-spec/scripts/team-init.sh +0 -195
- package/.claude/skills/flow-spec/scripts/test-team-mode.sh +0 -496
- package/.claude/skills/flow-spec/team-config.json +0 -165
- package/.claude/skills/flow-verify/CLAUDE.md +0 -10
- package/.claude/skills/flow-verify/SKILL.md +0 -53
- package/.claude/skills/flow-verify/context.jsonl +0 -5
- package/.claude/skills/fractal-docs/SKILL.md +0 -45
- package/.claude/skills/journey-checker/SKILL.md +0 -199
- package/.claude/skills/journey-checker/pressure-scenarios.md +0 -164
- package/.claude/skills/receiving-review/SKILL.md +0 -153
- package/.claude/skills/skill-creator/LICENSE.txt +0 -202
- package/.claude/skills/skill-creator/SKILL.md +0 -356
- package/.claude/skills/skill-creator/references/output-patterns.md +0 -82
- package/.claude/skills/skill-creator/references/workflows.md +0 -28
- package/.claude/skills/skill-creator/scripts/init_skill.py +0 -303
- package/.claude/skills/skill-creator/scripts/package_skill.py +0 -110
- package/.claude/skills/skill-creator/scripts/quick_validate.py +0 -95
- package/.claude/skills/skill-rules.json +0 -359
- package/.claude/skills/tdd/SKILL.md +0 -218
- package/.claude/skills/tdd-enforcer/SKILL.md +0 -192
- package/.claude/skills/utility/npm-release/CLAUDE.md +0 -55
- package/.claude/skills/utility/npm-release/SKILL.md +0 -379
- package/.claude/skills/utility/npm-release/references/version-decision-guide.md +0 -134
- package/.claude/skills/utility/npm-release/scripts/atomic-version-bump.sh +0 -95
- package/.claude/skills/utility/npm-release/scripts/validate-version-sync.sh +0 -82
- package/.claude/skills/utility/npm-release/scripts/version-decision-tree.sh +0 -44
- package/.claude/skills/verification/SKILL.md +0 -158
- package/.claude/skills/workflow.yaml +0 -219
- package/.claude/tests/README.md +0 -300
- package/.claude/tests/TODO.md +0 -69
- package/.claude/tests/__pycache__/test_analyze_upgrade_impact.cpython-311-pytest-7.2.2.pyc +0 -0
- package/.claude/tests/__pycache__/test_consolidate_research.cpython-311-pytest-7.2.2.pyc +0 -0
- package/.claude/tests/__pycache__/test_export_contracts.cpython-311-pytest-7.2.2.pyc +0 -0
- package/.claude/tests/__pycache__/test_extract_data_model.cpython-311-pytest-7.2.2.pyc +0 -0
- package/.claude/tests/__pycache__/test_generate_quickstart.cpython-311-pytest-7.2.2.pyc +0 -0
- package/.claude/tests/__pycache__/test_generate_research_tasks.cpython-311-pytest-7.2.2.pyc +0 -0
- package/.claude/tests/constitution/run_all_constitution_tests.sh +0 -111
- package/.claude/tests/constitution/test_agent_assignment.sh +0 -207
- package/.claude/tests/constitution/test_article_coverage.sh +0 -201
- package/.claude/tests/constitution/test_template_completeness.sh +0 -150
- package/.claude/tests/constitution/test_version_consistency.sh +0 -120
- package/.claude/tests/fixtures/spec_delta_full.md +0 -16
- package/.claude/tests/fixtures/tasks_progress_sample.md +0 -5
- package/.claude/tests/run-all-tests.sh +0 -229
- package/.claude/tests/scripts/run.sh +0 -30
- package/.claude/tests/scripts/test-framework.sh +0 -128
- package/.claude/tests/scripts/test_check_prerequisites.sh +0 -511
- package/.claude/tests/scripts/test_check_prerequisites.sh.bak +0 -504
- package/.claude/tests/scripts/test_check_prerequisites.sh.bak2 +0 -505
- package/.claude/tests/scripts/test_check_prerequisites.sh.bak3 +0 -506
- package/.claude/tests/scripts/test_check_prerequisites.sh.bak4 +0 -507
- package/.claude/tests/scripts/test_check_prerequisites.sh.bak5 +0 -508
- package/.claude/tests/scripts/test_check_task_status.sh +0 -499
- package/.claude/tests/scripts/test_common.sh +0 -244
- package/.claude/tests/scripts/test_generate_status_report.sh +0 -71
- package/.claude/tests/scripts/test_mark_task_complete.sh +0 -441
- package/.claude/tests/scripts/test_mark_task_complete.sh.backup +0 -410
- package/.claude/tests/scripts/test_recover_workflow.sh +0 -304
- package/.claude/tests/scripts/test_setup_epic.sh +0 -437
- package/.claude/tests/scripts/test_sync_task_marks.sh +0 -196
- package/.claude/tests/scripts/test_validate_constitution.sh +0 -74
- package/.claude/tests/scripts/test_validate_research.sh +0 -462
- package/.claude/tests/slugify.bats +0 -82
- package/.claude/tests/test-framework.sh +0 -732
- package/.claude/tests/test_analyze_upgrade_impact.py +0 -34
- package/.claude/tests/test_consolidate_research.py +0 -48
- package/.claude/tests/test_export_contracts.py +0 -43
- package/.claude/tests/test_extract_data_model.py +0 -33
- package/.claude/tests/test_generate_quickstart.py +0 -50
- package/.claude/tests/test_generate_research_tasks.py +0 -52
- package/.claude/tsc-cache/70d2fc6d-2936-429b-b529-429f1aae8c88/affected-repos.txt +0 -1
- package/.claude/tsc-cache/70d2fc6d-2936-429b-b529-429f1aae8c88/edited-files.log +0 -2
- package/bin/harness.js +0 -22
- package/docs/commands/core-roadmap.md +0 -106
- package/docs/commands/core-roadmap.zh-CN.md +0 -102
- package/docs/commands/core-style.md +0 -53
- package/docs/commands/core-style.zh-CN.md +0 -53
- package/docs/commands/flow-init.md +0 -140
- package/docs/commands/flow-init.zh-CN.md +0 -169
- package/docs/commands/flow-new.md +0 -39
- package/docs/commands/flow-new.zh-CN.md +0 -39
- package/lib/compiler/__tests__/compile-regression.test.js +0 -103
- package/lib/compiler/__tests__/multi-module-emitters.test.js +0 -534
- package/lib/compiler/__tests__/resource-copier.test.js +0 -26
- package/lib/compiler/__tests__/skill-discovery.test.js +0 -72
- package/lib/compiler/context-expander.js +0 -179
- package/lib/compiler/rules-emitters/__tests__/codex-rules-emitter.test.js +0 -109
- package/lib/compiler/rules-emitters/codex-rules-emitter.js +0 -116
- package/lib/compiler/skill-discovery.js +0 -68
- package/lib/harness/CLAUDE.md +0 -22
- package/lib/harness/__tests__/planner.tdd.test.js +0 -125
- package/lib/harness/cli.js +0 -208
- package/lib/harness/index.js +0 -18
- package/lib/harness/operations/dispatch.js +0 -298
- package/lib/harness/operations/init.js +0 -48
- package/lib/harness/operations/pack.js +0 -100
- package/lib/harness/operations/plan.js +0 -83
- package/lib/harness/operations/release.js +0 -170
- package/lib/harness/operations/resume.js +0 -44
- package/lib/harness/operations/verify.js +0 -177
- package/lib/harness/planner.js +0 -272
- package/lib/harness/query.js +0 -126
- package/lib/harness/schemas.js +0 -129
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
{
|
|
2
|
+
"changeId": "REQ-XXX",
|
|
3
|
+
"requirementId": "REQ-XXX",
|
|
4
|
+
"requirementVersion": "REQ-XXX.v1",
|
|
5
|
+
"outputPolicy": {
|
|
6
|
+
"documentLanguage": ""
|
|
7
|
+
},
|
|
8
|
+
"sourceRoadmap": {
|
|
9
|
+
"itemId": "RM-001",
|
|
10
|
+
"roadmapVersion": "1.0",
|
|
11
|
+
"roadmapSkillVersion": "2.1.0",
|
|
12
|
+
"sourceStage": "Stage 1",
|
|
13
|
+
"successSignal": "User can complete the new flow without manual workaround",
|
|
14
|
+
"killSignal": "Implementation requires reworking unrelated modules",
|
|
15
|
+
"dependencies": [
|
|
16
|
+
"Existing auth/session contract stays unchanged"
|
|
17
|
+
],
|
|
18
|
+
"nonGoals": [
|
|
19
|
+
"No redesign of unrelated settings screens"
|
|
20
|
+
]
|
|
21
|
+
},
|
|
22
|
+
"planningMeta": {
|
|
23
|
+
"reqPlanSkillVersion": "3.5.2",
|
|
24
|
+
"designVersion": "design.v1",
|
|
25
|
+
"approvedAt": "2026-04-15T12:00:00.000Z",
|
|
26
|
+
"approvedBy": "user",
|
|
27
|
+
"basedOnOption": "Option A"
|
|
28
|
+
},
|
|
29
|
+
"executionDiscipline": {
|
|
30
|
+
"default": "red-green-refactor",
|
|
31
|
+
"testFirstRequired": true,
|
|
32
|
+
"tddExceptions": []
|
|
33
|
+
},
|
|
34
|
+
"status": "planned",
|
|
35
|
+
"designMode": "tiny-design",
|
|
36
|
+
"approvedOption": "Option A",
|
|
37
|
+
"designStatus": "approved",
|
|
38
|
+
"reviewStatus": "approved",
|
|
39
|
+
"spec": {
|
|
40
|
+
"primaryCapability": "cap-example",
|
|
41
|
+
"secondaryCapabilities": [],
|
|
42
|
+
"expectedDelta": [
|
|
43
|
+
"Tighten current truth for the capability"
|
|
44
|
+
],
|
|
45
|
+
"affectedInvariants": [],
|
|
46
|
+
"gapsClosed": [],
|
|
47
|
+
"newGaps": [],
|
|
48
|
+
"specFiles": [
|
|
49
|
+
"devflow/specs/capabilities/cap-example.md"
|
|
50
|
+
],
|
|
51
|
+
"syncStatus": "planned"
|
|
52
|
+
},
|
|
53
|
+
"tasteDecisions": [],
|
|
54
|
+
"userChallenges": [],
|
|
55
|
+
"currentTaskId": "T001",
|
|
56
|
+
"activePhase": 1,
|
|
57
|
+
"frozenDecisions": [
|
|
58
|
+
"Keep the existing route and data contract",
|
|
59
|
+
"Prefer a minimal patch over a broader refactor"
|
|
60
|
+
],
|
|
61
|
+
"tasks": [
|
|
62
|
+
{
|
|
63
|
+
"id": "T001",
|
|
64
|
+
"title": "[TEST] Add a failing test for the missing behavior",
|
|
65
|
+
"phase": 1,
|
|
66
|
+
"status": "pending",
|
|
67
|
+
"tddPhase": "red",
|
|
68
|
+
"dependsOn": [],
|
|
69
|
+
"parallel": false,
|
|
70
|
+
"touches": [
|
|
71
|
+
"tests",
|
|
72
|
+
"requirement-behavior"
|
|
73
|
+
],
|
|
74
|
+
"files": [
|
|
75
|
+
"src/feature/feature.test.ts"
|
|
76
|
+
],
|
|
77
|
+
"acceptance": [
|
|
78
|
+
"The target behavior is reproduced as a failing test",
|
|
79
|
+
"The failure message points to the missing requirement behavior"
|
|
80
|
+
],
|
|
81
|
+
"verification": [
|
|
82
|
+
"npm test -- src/feature/feature.test.ts"
|
|
83
|
+
],
|
|
84
|
+
"evidence": [
|
|
85
|
+
"Failing test output"
|
|
86
|
+
],
|
|
87
|
+
"context": {
|
|
88
|
+
"readFiles": [
|
|
89
|
+
"design.md",
|
|
90
|
+
"tasks.md",
|
|
91
|
+
"change-meta.json"
|
|
92
|
+
],
|
|
93
|
+
"commands": [
|
|
94
|
+
"npm test -- src/feature/feature.test.ts"
|
|
95
|
+
],
|
|
96
|
+
"notes": [
|
|
97
|
+
"Write the failing test first",
|
|
98
|
+
"Do not change unrelated contracts in this task"
|
|
99
|
+
]
|
|
100
|
+
},
|
|
101
|
+
"reviews": {
|
|
102
|
+
"spec": "pending",
|
|
103
|
+
"code": "pending"
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
],
|
|
107
|
+
"openQuestions": [],
|
|
108
|
+
"deferredQuestions": [
|
|
109
|
+
"If the patch touches shared contracts, upgrade the design to full-design"
|
|
110
|
+
]
|
|
111
|
+
}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
# DESIGN
|
|
2
|
+
|
|
3
|
+
## Document Meta
|
|
4
|
+
|
|
5
|
+
- Requirement version:
|
|
6
|
+
- Design version:
|
|
7
|
+
- CC-Plan skill version:
|
|
8
|
+
- Output language:
|
|
9
|
+
- Requirement ID:
|
|
10
|
+
- Design mode: `tiny-design`
|
|
11
|
+
- Why this stays `tiny-design`:
|
|
12
|
+
- Approval status: `draft` | `in-review` | `approved`
|
|
13
|
+
- Source roadmap item:
|
|
14
|
+
- Source roadmap version:
|
|
15
|
+
- Primary capability:
|
|
16
|
+
- Secondary capabilities:
|
|
17
|
+
|
|
18
|
+
## Source Handoff
|
|
19
|
+
|
|
20
|
+
- Why now:
|
|
21
|
+
- Capability gap:
|
|
22
|
+
- Expected spec delta:
|
|
23
|
+
- Inherited success signal:
|
|
24
|
+
- Inherited kill signal:
|
|
25
|
+
- Inherited non-goals:
|
|
26
|
+
- Upstream evidence:
|
|
27
|
+
|
|
28
|
+
## Capability Handoff
|
|
29
|
+
|
|
30
|
+
- Canonical capability spec:
|
|
31
|
+
- Current truth to preserve:
|
|
32
|
+
- Current gaps:
|
|
33
|
+
- Spec sync target:
|
|
34
|
+
|
|
35
|
+
## Frozen Design Card
|
|
36
|
+
|
|
37
|
+
- Change:
|
|
38
|
+
- Keep out:
|
|
39
|
+
- Touched files:
|
|
40
|
+
- Contract changes:
|
|
41
|
+
- Invariant impact:
|
|
42
|
+
- Gap changes:
|
|
43
|
+
- Key decisions that `cc-do` must not re-decide:
|
|
44
|
+
- Upgrade trigger to `full-design`:
|
|
45
|
+
|
|
46
|
+
## Validation
|
|
47
|
+
|
|
48
|
+
- First failing test:
|
|
49
|
+
- Green implementation check:
|
|
50
|
+
- Refactor checkpoint:
|
|
51
|
+
- TDD exceptions:
|
|
52
|
+
- Primary check:
|
|
53
|
+
- Secondary checks:
|
|
54
|
+
- Evidence to collect:
|
|
55
|
+
|
|
56
|
+
## Main Risk
|
|
57
|
+
|
|
58
|
+
- Risk:
|
|
59
|
+
- Mitigation:
|
|
60
|
+
|
|
61
|
+
## Review Gate
|
|
62
|
+
|
|
63
|
+
- Placeholder scan:
|
|
64
|
+
- Consistency scan:
|
|
65
|
+
- Scope scan:
|
|
66
|
+
- Ambiguity scan:
|
|
67
|
+
- Feasibility scan:
|
|
68
|
+
- Test-first readiness:
|
|
69
|
+
- Final recommendation:
|
|
70
|
+
|
|
71
|
+
## Approval
|
|
72
|
+
|
|
73
|
+
- User approval status:
|
|
74
|
+
- Deferred questions:
|
|
75
|
+
|
|
76
|
+
## First-Read Test
|
|
77
|
+
|
|
78
|
+
- 一眼能看出这次为什么够小
|
|
79
|
+
- 一眼能看出什么情况会逼它升级成 `full-design`
|
|
80
|
+
- `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,119 @@
|
|
|
1
|
+
# Roadmap Skill Changelog
|
|
2
|
+
|
|
3
|
+
## v4.3.2 - 2026-04-27
|
|
4
|
+
|
|
5
|
+
- require roadmap outputs to resolve the runtime output policy before writing durable roadmap/backlog documents
|
|
6
|
+
- record `Output language` as the machine-enforced language contract while treating `agent_preferences` as advisory style input
|
|
7
|
+
|
|
8
|
+
## v4.3.1 - 2026-04-19
|
|
9
|
+
|
|
10
|
+
- 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
|
|
11
|
+
- route `locate-roadmap-item.sh` through the shared tracking query path instead of maintaining a second inline Node formatter
|
|
12
|
+
- preserve existing `backlog` fields when auto-upgrading legacy v1 tracking JSON so shared lookup and render paths stay behaviorally correct
|
|
13
|
+
|
|
14
|
+
## v4.3.0 - 2026-04-19
|
|
15
|
+
|
|
16
|
+
- expand `devflow/roadmap-tracking.json` from implementation-only tracking into the shared truth source for `ROADMAP.md` and `BACKLOG.md`
|
|
17
|
+
- 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
|
|
18
|
+
- upgrade locator, templates, docs, examples, and tests so backlog queue / ready / parked data are read from the sidecar before falling back to markdown text
|
|
19
|
+
|
|
20
|
+
Migration note:
|
|
21
|
+
|
|
22
|
+
- existing v4.2.x `roadmap-tracking.json` files are auto-upgraded on first render or sync run
|
|
23
|
+
- 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
|
|
24
|
+
- `scripts/roadmap-tracking.js render` now requires both `--roadmap` and `--backlog`
|
|
25
|
+
|
|
26
|
+
## v4.2.1 - 2026-04-19
|
|
27
|
+
|
|
28
|
+
- teach `locate-roadmap-item.sh` to resolve `RM-*` and `REQ-*` through `devflow/roadmap-tracking.json` before falling back to markdown grep
|
|
29
|
+
- realign bundled examples with the capability-aware backlog contract so templates, examples, and helper checks no longer drift apart
|
|
30
|
+
- tighten example validation to require the new backlog queue columns and `Ready For Req-Plan` handoff fields
|
|
31
|
+
|
|
32
|
+
## v4.2.0 - 2026-04-19
|
|
33
|
+
|
|
34
|
+
- add `devflow/roadmap-tracking.json` as the structured truth source for `Implementation Tracking`
|
|
35
|
+
- replace fragile column-position markdown rewrites with JSON-first sync plus markdown re-rendering
|
|
36
|
+
- ship a reusable `render` path so manual edits to the tracking sidecar can be pushed back into `ROADMAP.md`
|
|
37
|
+
|
|
38
|
+
Migration note:
|
|
39
|
+
|
|
40
|
+
- keep `devflow/ROADMAP.md` as the human-facing roadmap, but let helper automation update `devflow/roadmap-tracking.json`
|
|
41
|
+
- the first sync run bootstraps `roadmap-tracking.json` from an existing `Implementation Tracking` table, then rewrites the section in the new generated shape
|
|
42
|
+
- if you were scripting direct table edits, switch to `scripts/sync-roadmap-progress.sh` or edit `roadmap-tracking.json` and rerender
|
|
43
|
+
|
|
44
|
+
## v4.1.0 - 2026-04-19
|
|
45
|
+
|
|
46
|
+
- teach `cc-roadmap` to anchor roadmap items to capability specs instead of leaving future work as requirement-shaped fragments
|
|
47
|
+
- upgrade roadmap and backlog templates with `Primary Capability`, `Secondary Capabilities`, `Capability Gap`, and `Expected Spec Delta`
|
|
48
|
+
- extend `sync-roadmap-progress.sh` so roadmap tracking can update capability/spec columns together with status progress
|
|
49
|
+
|
|
50
|
+
Migration note:
|
|
51
|
+
|
|
52
|
+
- roadmap items should now point to at least one capability, with one explicit primary capability
|
|
53
|
+
- backlog handoffs should carry expected spec delta into `cc-plan`
|
|
54
|
+
|
|
55
|
+
## v4.0.0 - 2026-04-18
|
|
56
|
+
|
|
57
|
+
- restore `cc-roadmap` durable outputs to `devflow/ROADMAP.md` and `devflow/BACKLOG.md`, matching the repository contract and keeping roadmap artifacts under `devflow/`
|
|
58
|
+
- 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
|
|
59
|
+
- realign skill docs, public guides, and registry/bootstrap tests with the restored canonical paths
|
|
60
|
+
|
|
61
|
+
Migration note:
|
|
62
|
+
|
|
63
|
+
- new roadmap runs should write `devflow/ROADMAP.md` and `devflow/BACKLOG.md`
|
|
64
|
+
- if you temporarily have repo-root `ROADMAP.md` / `BACKLOG.md` from v3.0.0, move them back under `devflow/`
|
|
65
|
+
- helper scripts now resolve files in this order: `devflow/*.md` -> repo-root `*.md` -> legacy `devflow/roadmap/*.md`
|
|
66
|
+
|
|
67
|
+
## v3.0.0 - 2026-04-17
|
|
68
|
+
|
|
69
|
+
- change `cc-roadmap` durable outputs to repo-root `ROADMAP.md` and `BACKLOG.md`, aligning the skill contract with README, examples, and live usage
|
|
70
|
+
- require roadmap output to include an explicit `RM Dependency Graph` plus `Parallel Waves`, so serial blockers and concurrent work are visible
|
|
71
|
+
- upgrade backlog handoff fields to record `Depends On` and `Parallel With`
|
|
72
|
+
- update bundled helper scripts to prefer repo-root files and fall back to legacy `devflow/roadmap/*` files when present
|
|
73
|
+
|
|
74
|
+
Migration note:
|
|
75
|
+
|
|
76
|
+
- new roadmap runs should write repo-root `ROADMAP.md` and `BACKLOG.md`
|
|
77
|
+
- helper scripts still read legacy `devflow/roadmap/*` files as fallback, but the canonical path is now the repo root
|
|
78
|
+
- if you maintain automation that parses the `Implementation Tracking` table, account for the new `Depends On` column before `Status`
|
|
79
|
+
|
|
80
|
+
## v2.2.0 - 2026-04-17
|
|
81
|
+
|
|
82
|
+
- convert public frontmatter from loose prose into structured harness contract fields: `triggers`, `reads`, `writes`, `entry_gate`, `exit_criteria`, `reroutes`, `recovery_modes`, `tool_budget`
|
|
83
|
+
- add `Harness Contract` to `SKILL.md` and `Visible State Machine` to `PLAYBOOK.md`
|
|
84
|
+
- make roadmap explicitly skill-first: strategy stays in skill text and artifacts instead of hidden harness behavior
|
|
85
|
+
|
|
86
|
+
Migration note:
|
|
87
|
+
|
|
88
|
+
- any downstream tooling that only read `name` and `description` can keep working, but new registry consumers should prefer the structured contract fields
|
|
89
|
+
- roadmap users do not need to change existing `ROADMAP.md` / `BACKLOG.md` files; the new contract only makes the operating rules explicit
|
|
90
|
+
|
|
91
|
+
## v2.1.0 - 2026-04-15
|
|
92
|
+
|
|
93
|
+
- 增强 frontmatter `description`,补充中英文触发词,提升命中率。
|
|
94
|
+
- 新增 `Quick Start` 和 `Route Selection Rule`,把首次路线判断前置成更易执行的入口。
|
|
95
|
+
- 新增 `Recommendation Test`,要求推荐必须同时说明“为什么选它”和“为什么不先做另外两条”。
|
|
96
|
+
- 升级 `ROADMAP_TEMPLATE.md`,增加 `Recommended Route` 区块。
|
|
97
|
+
- 升级 `BACKLOG_TEMPLATE.md`,让 ready 项显式写清“为什么现在 ready”。
|
|
98
|
+
|
|
99
|
+
Migration note:
|
|
100
|
+
|
|
101
|
+
- 旧版 `ROADMAP.md` / `BACKLOG.md` 可以继续使用;建议在下次重跑 roadmap 时补齐 `Recommended Route` 和 ready rationale,以减少后续 `cc-plan` 阶段的解释成本。
|
|
102
|
+
|
|
103
|
+
## v2.0.0 - 2026-04-10
|
|
104
|
+
|
|
105
|
+
- 增加 `version` frontmatter,并定义 roadmap skill 的 semver 规则。
|
|
106
|
+
- 强化 `Context Sweep`,要求先读取现有 roadmap、文档、最近提交、forcing functions,再开始追问。
|
|
107
|
+
- 增加 `Approval Gates` 与 `Review Loop`,避免没有证据、没有退出信号的伪路线图。
|
|
108
|
+
- 升级 `ROADMAP_TEMPLATE.md`,加入 metadata、context snapshot、evidence ledger、route options、dependencies、kill signal、版本差异记录。
|
|
109
|
+
- 升级 `BACKLOG_TEMPLATE.md`,让事项带上 evidence、dependency、next decision、ready 状态。
|
|
110
|
+
- 新增 `scripts/bump-skill-version.sh`,用于递增 skill 版本并同步 changelog。
|
|
111
|
+
|
|
112
|
+
Migration note:
|
|
113
|
+
|
|
114
|
+
- 旧版 `ROADMAP.md` / `BACKLOG.md` 仍可继续使用,但建议补齐新模板里的 metadata、evidence、dependencies、kill signal、ready 字段。
|
|
115
|
+
- `Implementation Tracking` 表保持兼容,`scripts/sync-roadmap-progress.sh` 无需修改。
|
|
116
|
+
|
|
117
|
+
## v1.0.0 - 2026-04-10
|
|
118
|
+
|
|
119
|
+
- 初始版 roadmap skill,提供基础路线图和 backlog 产物。
|