cc-devflow 4.3.0 → 4.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/skills/cc-act/CHANGELOG.md +64 -0
- package/.claude/skills/cc-act/PLAYBOOK.md +212 -0
- package/.claude/skills/cc-act/SKILL.md +322 -0
- package/.claude/skills/cc-act/assets/PR_BRIEF_TEMPLATE.md +64 -0
- package/.claude/skills/cc-act/assets/RELEASE_NOTE_TEMPLATE.md +25 -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 +240 -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 +195 -0
- package/.claude/skills/cc-act/scripts/sync-act-docs.sh +315 -0
- package/.claude/skills/cc-act/scripts/verify-act-gate.sh +63 -0
- package/.claude/skills/cc-check/CHANGELOG.md +73 -0
- package/.claude/skills/cc-check/PLAYBOOK.md +153 -0
- package/.claude/skills/cc-check/SKILL.md +345 -0
- package/.claude/skills/cc-check/assets/REPORT_CARD_TEMPLATE.json +50 -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 +49 -0
- package/.claude/skills/cc-do/PLAYBOOK.md +119 -0
- package/.claude/skills/cc-do/SKILL.md +216 -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 +26 -0
- package/.claude/skills/cc-investigate/PLAYBOOK.md +49 -0
- package/.claude/skills/cc-investigate/SKILL.md +221 -0
- package/.claude/skills/cc-investigate/assets/ANALYSIS_TEMPLATE.md +55 -0
- package/.claude/skills/cc-investigate/assets/TASKS_TEMPLATE.md +52 -0
- package/.claude/skills/cc-investigate/assets/TASK_MANIFEST_TEMPLATE.json +103 -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 +99 -0
- package/.claude/skills/cc-plan/PLAYBOOK.md +106 -0
- package/.claude/skills/cc-plan/SKILL.md +325 -0
- package/.claude/skills/cc-plan/assets/DESIGN_TEMPLATE.md +155 -0
- package/.claude/skills/cc-plan/assets/TASKS_TEMPLATE.md +98 -0
- package/.claude/skills/cc-plan/assets/TASK_MANIFEST_TEMPLATE.json +108 -0
- package/.claude/skills/cc-plan/assets/TINY_DESIGN_TEMPLATE.md +79 -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 +114 -0
- package/.claude/skills/cc-roadmap/PLAYBOOK.md +136 -0
- package/.claude/skills/cc-roadmap/SKILL.md +259 -0
- package/.claude/skills/cc-roadmap/assets/BACKLOG_TEMPLATE.md +45 -0
- package/.claude/skills/cc-roadmap/assets/ROADMAP_TEMPLATE.md +153 -0
- package/.claude/skills/cc-roadmap/assets/TRACKING_TEMPLATE.json +48 -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 +7 -0
- package/.claude/skills/cc-spec-init/PLAYBOOK.md +55 -0
- package/.claude/skills/cc-spec-init/SKILL.md +127 -0
- package/.claude/skills/cc-spec-init/assets/CAPABILITY_TEMPLATE.md +63 -0
- package/.claude/skills/cc-spec-init/assets/CHANGE_META_TEMPLATE.json +25 -0
- package/.claude/skills/cc-spec-init/assets/INDEX_TEMPLATE.md +34 -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 +61 -4
- package/README.md +120 -756
- package/README.zh-CN.md +119 -756
- package/bin/adapt.js +2 -6
- package/bin/cc-devflow-cli.js +72 -177
- package/config/distributable-skills.json +24 -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 +181 -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 +279 -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/delegation.js +533 -0
- package/lib/skill-runtime/index.js +34 -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,100 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
|
|
3
|
+
set -euo pipefail
|
|
4
|
+
|
|
5
|
+
# ------------------------------------------------------------
|
|
6
|
+
# 本地回写器:更新路线图跟踪表中的状态/REQ/进度
|
|
7
|
+
# ------------------------------------------------------------
|
|
8
|
+
|
|
9
|
+
usage() {
|
|
10
|
+
cat <<'EOF'
|
|
11
|
+
Usage: sync-roadmap-progress.sh --rm RM-001 [--status Planned] [--req REQ-001] [--progress 50%] [--file devflow/ROADMAP.md]
|
|
12
|
+
[--item "Add copy action"] [--stage "Stage 1"] [--priority P1] [--depends-on "RM-000"]
|
|
13
|
+
[--primary-capability cap-example] [--secondary-capabilities "cap-a,cap-b"] [--spec-delta "tighten truth"]
|
|
14
|
+
[--tracking-file devflow/roadmap-tracking.json] [--backlog-file devflow/BACKLOG.md]
|
|
15
|
+
EOF
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
RM_ID=""
|
|
19
|
+
ITEM=""
|
|
20
|
+
STAGE=""
|
|
21
|
+
PRIORITY=""
|
|
22
|
+
STATUS=""
|
|
23
|
+
REQ_ID=""
|
|
24
|
+
PROGRESS=""
|
|
25
|
+
DEPENDS_ON=""
|
|
26
|
+
PRIMARY_CAPABILITY=""
|
|
27
|
+
SECONDARY_CAPABILITIES=""
|
|
28
|
+
SPEC_DELTA=""
|
|
29
|
+
REPO_ROOT="$(git rev-parse --show-toplevel 2>/dev/null || pwd)"
|
|
30
|
+
DEFAULT_FILE="$REPO_ROOT/devflow/ROADMAP.md"
|
|
31
|
+
ROOT_FILE="$REPO_ROOT/ROADMAP.md"
|
|
32
|
+
LEGACY_FILE="$REPO_ROOT/devflow/roadmap/roadmap.md"
|
|
33
|
+
FILE="$DEFAULT_FILE"
|
|
34
|
+
TRACKING_FILE=""
|
|
35
|
+
BACKLOG_FILE=""
|
|
36
|
+
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
37
|
+
|
|
38
|
+
while [[ $# -gt 0 ]]; do
|
|
39
|
+
case "$1" in
|
|
40
|
+
--rm) RM_ID="$2"; shift 2 ;;
|
|
41
|
+
--item) ITEM="$2"; shift 2 ;;
|
|
42
|
+
--stage) STAGE="$2"; shift 2 ;;
|
|
43
|
+
--priority) PRIORITY="$2"; shift 2 ;;
|
|
44
|
+
--status) STATUS="$2"; shift 2 ;;
|
|
45
|
+
--req) REQ_ID="$2"; shift 2 ;;
|
|
46
|
+
--progress) PROGRESS="$2"; shift 2 ;;
|
|
47
|
+
--depends-on) DEPENDS_ON="$2"; shift 2 ;;
|
|
48
|
+
--primary-capability) PRIMARY_CAPABILITY="$2"; shift 2 ;;
|
|
49
|
+
--secondary-capabilities) SECONDARY_CAPABILITIES="$2"; shift 2 ;;
|
|
50
|
+
--spec-delta) SPEC_DELTA="$2"; shift 2 ;;
|
|
51
|
+
--file) FILE="$2"; shift 2 ;;
|
|
52
|
+
--tracking-file) TRACKING_FILE="$2"; shift 2 ;;
|
|
53
|
+
--backlog-file) BACKLOG_FILE="$2"; shift 2 ;;
|
|
54
|
+
-h|--help) usage; exit 0 ;;
|
|
55
|
+
*) echo "Unknown arg: $1" >&2; usage; exit 1 ;;
|
|
56
|
+
esac
|
|
57
|
+
done
|
|
58
|
+
|
|
59
|
+
if [[ "$FILE" == "$DEFAULT_FILE" && ! -f "$FILE" ]]; then
|
|
60
|
+
if [[ -f "$ROOT_FILE" ]]; then
|
|
61
|
+
FILE="$ROOT_FILE"
|
|
62
|
+
elif [[ -f "$LEGACY_FILE" ]]; then
|
|
63
|
+
FILE="$LEGACY_FILE"
|
|
64
|
+
fi
|
|
65
|
+
fi
|
|
66
|
+
|
|
67
|
+
if [[ -z "$RM_ID" || ! -f "$FILE" ]]; then
|
|
68
|
+
usage
|
|
69
|
+
exit 1
|
|
70
|
+
fi
|
|
71
|
+
|
|
72
|
+
if [[ -z "$TRACKING_FILE" ]]; then
|
|
73
|
+
TRACKING_FILE="$(cd "$(dirname "$FILE")" && pwd)/roadmap-tracking.json"
|
|
74
|
+
fi
|
|
75
|
+
|
|
76
|
+
if [[ -z "$BACKLOG_FILE" ]]; then
|
|
77
|
+
BACKLOG_FILE="$(cd "$(dirname "$FILE")" && pwd)/BACKLOG.md"
|
|
78
|
+
fi
|
|
79
|
+
|
|
80
|
+
args=(
|
|
81
|
+
sync
|
|
82
|
+
--roadmap "$FILE"
|
|
83
|
+
--backlog "$BACKLOG_FILE"
|
|
84
|
+
--tracking "$TRACKING_FILE"
|
|
85
|
+
--rm "$RM_ID"
|
|
86
|
+
)
|
|
87
|
+
|
|
88
|
+
[[ -n "$ITEM" ]] && args+=(--item "$ITEM")
|
|
89
|
+
[[ -n "$STAGE" ]] && args+=(--stage "$STAGE")
|
|
90
|
+
[[ -n "$PRIORITY" ]] && args+=(--priority "$PRIORITY")
|
|
91
|
+
[[ -n "$STATUS" ]] && args+=(--status "$STATUS")
|
|
92
|
+
[[ -n "$REQ_ID" ]] && args+=(--req "$REQ_ID")
|
|
93
|
+
[[ -n "$PROGRESS" ]] && args+=(--progress "$PROGRESS")
|
|
94
|
+
[[ -n "$DEPENDS_ON" ]] && args+=(--depends-on "$DEPENDS_ON")
|
|
95
|
+
[[ -n "$PRIMARY_CAPABILITY" ]] && args+=(--primary-capability "$PRIMARY_CAPABILITY")
|
|
96
|
+
[[ -n "$SECONDARY_CAPABILITIES" ]] && args+=(--secondary-capabilities "$SECONDARY_CAPABILITIES")
|
|
97
|
+
[[ -n "$SPEC_DELTA" ]] && args+=(--spec-delta "$SPEC_DELTA")
|
|
98
|
+
|
|
99
|
+
node "$SCRIPT_DIR/roadmap-tracking.js" "${args[@]}"
|
|
100
|
+
echo "Updated $RM_ID in $FILE and $BACKLOG_FILE via $TRACKING_FILE"
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
# CC-Simplify Skill Changelog
|
|
2
|
+
|
|
3
|
+
## v1.1.0 - 2026-04-19
|
|
4
|
+
|
|
5
|
+
- expand `cc-simplify` review scope to catch spec drift alongside reuse, quality, and efficiency issues
|
|
6
|
+
- require the cleanup pass to flag missing `change-meta.json` or capability spec sync when behavior changes outrun the spec chain
|
|
7
|
+
|
|
8
|
+
## v1.0.0 - 2026-04-17
|
|
9
|
+
|
|
10
|
+
- initial distributed `cc-simplify` maintenance skill for pre-ship cleanup
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: cc-simplify
|
|
3
|
+
version: 1.1.0
|
|
4
|
+
description: Review changed code for reuse, quality, efficiency, and spec drift, then fix any issues found or flag the drift for the user.
|
|
5
|
+
---
|
|
6
|
+
Simplify: Code Review and Cleanup
|
|
7
|
+
|
|
8
|
+
Review all changed files for reuse, quality, and efficiency. Fix any issues found.
|
|
9
|
+
|
|
10
|
+
## Phase 1: Identify Changes
|
|
11
|
+
|
|
12
|
+
Run \`git diff\` (or \`git diff HEAD\` if there are staged changes) to see what changed. If there are no git changes, review the most recently modified files that the user mentioned or that you edited earlier in this conversation.
|
|
13
|
+
|
|
14
|
+
## Phase 2: Launch Three Review Agents in Parallel
|
|
15
|
+
|
|
16
|
+
Use the ${AGENT_TOOL_NAME} tool to launch all three agents concurrently in a single message. Pass each agent the full diff so it has the complete context.
|
|
17
|
+
|
|
18
|
+
### Agent 1: Code Reuse Review
|
|
19
|
+
|
|
20
|
+
For each change:
|
|
21
|
+
|
|
22
|
+
1. **Search for existing utilities and helpers** that could replace newly written code. Look for similar patterns elsewhere in the codebase — common locations are utility directories, shared modules, and files adjacent to the changed ones.
|
|
23
|
+
2. **Flag any new function that duplicates existing functionality.** Suggest the existing function to use instead.
|
|
24
|
+
3. **Flag any inline logic that could use an existing utility** — hand-rolled string manipulation, manual path handling, custom environment checks, ad-hoc type guards, and similar patterns are common candidates.
|
|
25
|
+
|
|
26
|
+
### Agent 2: Code Quality Review
|
|
27
|
+
|
|
28
|
+
Review the same changes for hacky patterns:
|
|
29
|
+
|
|
30
|
+
1. **Redundant state**: state that duplicates existing state, cached values that could be derived, observers/effects that could be direct calls
|
|
31
|
+
2. **Parameter sprawl**: adding new parameters to a function instead of generalizing or restructuring existing ones
|
|
32
|
+
3. **Copy-paste with slight variation**: near-duplicate code blocks that should be unified with a shared abstraction
|
|
33
|
+
4. **Leaky abstractions**: exposing internal details that should be encapsulated, or breaking existing abstraction boundaries
|
|
34
|
+
5. **Stringly-typed code**: using raw strings where constants, enums (string unions), or branded types already exist in the codebase
|
|
35
|
+
6. **Unnecessary JSX nesting**: wrapper Boxes/elements that add no layout value — check if inner component props (flexShrink, alignItems, etc.) already provide the needed behavior
|
|
36
|
+
7. **Unnecessary comments**: comments explaining WHAT the code does (well-named identifiers already do that), narrating the change, or referencing the task/caller — delete; keep only non-obvious WHY (hidden constraints, subtle invariants, workarounds)
|
|
37
|
+
8. **Spec drift**: behavior, boundary, or invariant changed but no matching `change-meta.json` / capability spec delta was updated — flag it explicitly and propose the missing spec sync
|
|
38
|
+
|
|
39
|
+
### Agent 3: Efficiency Review
|
|
40
|
+
|
|
41
|
+
Review the same changes for efficiency:
|
|
42
|
+
|
|
43
|
+
1. **Unnecessary work**: redundant computations, repeated file reads, duplicate network/API calls, N+1 patterns
|
|
44
|
+
2. **Missed concurrency**: independent operations run sequentially when they could run in parallel
|
|
45
|
+
3. **Hot-path bloat**: new blocking work added to startup or per-request/per-render hot paths
|
|
46
|
+
4. **Recurring no-op updates**: state/store updates inside polling loops, intervals, or event handlers that fire unconditionally — add a change-detection guard so downstream consumers aren't notified when nothing changed. Also: if a wrapper function takes an updater/reducer callback, verify it honors same-reference returns (or whatever the "no change" signal is) — otherwise callers' early-return no-ops are silently defeated
|
|
47
|
+
5. **Unnecessary existence checks**: pre-checking file/resource existence before operating (TOCTOU anti-pattern) — operate directly and handle the error
|
|
48
|
+
6. **Memory**: unbounded data structures, missing cleanup, event listener leaks
|
|
49
|
+
7. **Overly broad operations**: reading entire files when only a portion is needed, loading all items when filtering for one
|
|
50
|
+
|
|
51
|
+
## Phase 3: Fix Issues
|
|
52
|
+
|
|
53
|
+
Wait for all three agents to complete. Aggregate their findings and fix each issue directly. If a finding is a false positive or not worth addressing, note it and move on — do not argue with the finding, just skip it.
|
|
54
|
+
|
|
55
|
+
When done, briefly summarize what was fixed (or confirm the code was already clean).
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
# CC-Spec-Init Skill Changelog
|
|
2
|
+
|
|
3
|
+
## v1.0.0 - 2026-04-19
|
|
4
|
+
|
|
5
|
+
- 初始版 `cc-spec-init`,用于 capability-centered spec 初始化、能力真相源维护和 `change-meta.json` 链路收口。
|
|
6
|
+
- 新增 `INDEX.md`、capability spec、`change-meta.json` 三类模板。
|
|
7
|
+
- 新增 bootstrap 与链接校验脚本,供 `cc-roadmap`、`cc-plan`、`cc-act` 前后复用。
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
# CC-Spec-Init Playbook
|
|
2
|
+
|
|
3
|
+
## Core Rules
|
|
4
|
+
|
|
5
|
+
1. 先定 capability 边界,再写 spec 文本。
|
|
6
|
+
2. `spec` 记录现状,`roadmap` 记录未来,`change-meta` 记录桥接。
|
|
7
|
+
3. 同一个 change 可以多挂 capability,但只能有一个 primary capability。
|
|
8
|
+
4. 正常演化优先 `deprecated` / `merged` / `split`,不要直接物理删除。
|
|
9
|
+
5. 每次变更结束都跑链接校验,别把断链留到下轮执行。
|
|
10
|
+
|
|
11
|
+
## Standard Modes
|
|
12
|
+
|
|
13
|
+
### Bootstrap
|
|
14
|
+
|
|
15
|
+
- 建 `devflow/specs/INDEX.md`
|
|
16
|
+
- 建 `devflow/specs/capabilities/`
|
|
17
|
+
- 为当前最重要的 capability 建最小 truth source
|
|
18
|
+
|
|
19
|
+
### Create
|
|
20
|
+
|
|
21
|
+
- 新 capability spec
|
|
22
|
+
- 回写 `INDEX.md`
|
|
23
|
+
- 为当前 change 生成 `change-meta.json`
|
|
24
|
+
|
|
25
|
+
### Update Links
|
|
26
|
+
|
|
27
|
+
- 修 roadmap / backlog / change / spec 的 capability 引用
|
|
28
|
+
- 重建 `INDEX.md`
|
|
29
|
+
|
|
30
|
+
### Split / Merge / Deprecate
|
|
31
|
+
|
|
32
|
+
- 在原 capability spec 标明状态变化
|
|
33
|
+
- 补 `splitInto` / `mergedInto` / `supersededBy`
|
|
34
|
+
- 确认历史 change 仍然可追踪
|
|
35
|
+
|
|
36
|
+
## Command Kit
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
# 初始化 specs 目录
|
|
40
|
+
bash .claude/skills/cc-spec-init/scripts/bootstrap-specs.sh
|
|
41
|
+
|
|
42
|
+
# 校验 spec 链路
|
|
43
|
+
bash .claude/skills/cc-spec-init/scripts/validate-spec-links.sh
|
|
44
|
+
|
|
45
|
+
# 看哪些 change 已缺 change-meta
|
|
46
|
+
find devflow/changes -maxdepth 2 -name change-meta.json | sort
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
## Review Questions
|
|
50
|
+
|
|
51
|
+
1. capability 的边界是否清楚到 AI 不会把别的系统能力写进来?
|
|
52
|
+
2. `Current Truth` 是否只写当前成立的承诺?
|
|
53
|
+
3. `Missing` 和 `Intentional Gaps` 是否被保留下来?
|
|
54
|
+
4. roadmap item 和 change 是否都能指向 capability?
|
|
55
|
+
5. 这次是该 `update`,还是其实应该 `split` / `merge`?
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: cc-spec-init
|
|
3
|
+
version: 1.0.0
|
|
4
|
+
description: Use when you need to initialize capability specs under `devflow/specs/`, create or evolve capability truth sources, generate `change-meta.json`, or validate roadmap/change/spec links before roadmap, planning, or closeout work continues.
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# CC-Spec-Init
|
|
8
|
+
|
|
9
|
+
> [PROTOCOL]: 变更时同步更新 `version`、`CHANGELOG.md`、相关模板/脚本引用,然后检查 `CLAUDE.md`
|
|
10
|
+
|
|
11
|
+
## Role
|
|
12
|
+
|
|
13
|
+
`cc-spec-init` 是 capability-centered spec 的收口器。
|
|
14
|
+
|
|
15
|
+
它只做一件事:把系统“当前承诺什么”收成稳定 truth source,并把 `roadmap -> change -> spec` 的链接补齐。
|
|
16
|
+
|
|
17
|
+
它不是主 workflow 的一环。
|
|
18
|
+
|
|
19
|
+
主 workflow 仍然是:
|
|
20
|
+
|
|
21
|
+
- `cc-roadmap`
|
|
22
|
+
- `cc-plan` 或 `cc-investigate`
|
|
23
|
+
- `cc-do`
|
|
24
|
+
- `cc-check`
|
|
25
|
+
- `cc-act`
|
|
26
|
+
|
|
27
|
+
`cc-spec-init` 负责这些动作:
|
|
28
|
+
|
|
29
|
+
- 初始化 `devflow/specs/`
|
|
30
|
+
- 新建 capability spec
|
|
31
|
+
- 对 capability 做 `split` / `merge` / `deprecate`
|
|
32
|
+
- 生成或修复 `devflow/changes/<change-key>/change-meta.json`
|
|
33
|
+
- 重建 `devflow/specs/INDEX.md`
|
|
34
|
+
- 校验 capability、roadmap item、change 之间的链接完整性
|
|
35
|
+
|
|
36
|
+
## Read First
|
|
37
|
+
|
|
38
|
+
1. `PLAYBOOK.md`
|
|
39
|
+
2. `CHANGELOG.md`
|
|
40
|
+
3. `references/spec-contract.md`
|
|
41
|
+
4. `assets/INDEX_TEMPLATE.md`
|
|
42
|
+
5. `assets/CAPABILITY_TEMPLATE.md`
|
|
43
|
+
6. `assets/CHANGE_META_TEMPLATE.json`
|
|
44
|
+
|
|
45
|
+
## Use This Skill When
|
|
46
|
+
|
|
47
|
+
- 你第一次把仓库升级到 capability-centered spec 模型
|
|
48
|
+
- 需要创建新 capability spec
|
|
49
|
+
- 需要把 change 绑定到 primary / secondary capability
|
|
50
|
+
- 需要做 capability 的 `split` / `merge` / `deprecate`
|
|
51
|
+
- `cc-roadmap`、`cc-plan`、`cc-act` 发现 spec 链路断了
|
|
52
|
+
- 需要在 closeout 前确认 spec/roadmap/change 仍然同构
|
|
53
|
+
|
|
54
|
+
如果当前工作只是执行一个已冻结任务,不要停在这里,回主 workflow。
|
|
55
|
+
|
|
56
|
+
## Entry Gate
|
|
57
|
+
|
|
58
|
+
1. 先读现有 `devflow/specs/INDEX.md`、相关 capability spec、相关 `devflow/ROADMAP.md` / `devflow/BACKLOG.md`、相关 `change-meta.json`。
|
|
59
|
+
2. 先判断你是在做 `bootstrap`、`create`、`update-links`、`split`、`merge` 还是 `deprecate`。
|
|
60
|
+
3. 先锁定 capability 边界,再写模板;不要先写 prose 再猜结构。
|
|
61
|
+
4. 先明确 primary capability,再允许 secondary capabilities 存在。
|
|
62
|
+
|
|
63
|
+
## Session Protocol
|
|
64
|
+
|
|
65
|
+
1. 先判断现状:
|
|
66
|
+
- `devflow/specs/` 是否已存在
|
|
67
|
+
- capability 是否已存在
|
|
68
|
+
- 相关 change 是否已有 `change-meta.json`
|
|
69
|
+
2. 如果是首次初始化:
|
|
70
|
+
- 创建 `devflow/specs/INDEX.md`
|
|
71
|
+
- 创建 `devflow/specs/capabilities/`
|
|
72
|
+
- 为当前已知 capability 写最小 spec
|
|
73
|
+
3. 如果是新 capability:
|
|
74
|
+
- 先写 capability 边界、约束、当前 truth、gaps
|
|
75
|
+
- 再登记到 `INDEX.md`
|
|
76
|
+
4. 如果是 change 绑定:
|
|
77
|
+
- 生成或更新 `change-meta.json`
|
|
78
|
+
- 填入 `primaryCapability`、`secondaryCapabilities`、`expectedDelta`、`affectedInvariants`、`gapsClosed`、`newGaps`
|
|
79
|
+
5. 如果是 capability 结构调整:
|
|
80
|
+
- 优先 `deprecated` / `mergedInto` / `splitInto`
|
|
81
|
+
- 不要直接物理删除,除非确认没有 roadmap/change 仍在引用
|
|
82
|
+
6. 结束前运行链接校验,确认:
|
|
83
|
+
- `INDEX.md` 引到的 capability 文件都存在
|
|
84
|
+
- `change-meta.json` 里的 capability 都能落到 spec
|
|
85
|
+
- roadmap / backlog 里的 capability 引用仍可追踪
|
|
86
|
+
|
|
87
|
+
## Output
|
|
88
|
+
|
|
89
|
+
- `devflow/specs/INDEX.md`
|
|
90
|
+
- `devflow/specs/capabilities/<capability>.md`
|
|
91
|
+
- `devflow/changes/<change-key>/change-meta.json`
|
|
92
|
+
- 链接校验结果
|
|
93
|
+
|
|
94
|
+
## Working Rules
|
|
95
|
+
|
|
96
|
+
1. `spec` 写现状,不写一次性推导过程。
|
|
97
|
+
2. `roadmap` 写未来推进,不写当前 truth。
|
|
98
|
+
3. `change-meta.json` 是机器真相源;capability markdown 是人机共读的长期约束源。
|
|
99
|
+
4. 一个 change 可以挂多个 capability,但必须有一个 `primaryCapability`。
|
|
100
|
+
5. capability 不直接硬删除;优先用状态表达历史连续性。
|
|
101
|
+
6. `INDEX.md` 只做目录和状态总览,不复制各 spec 正文。
|
|
102
|
+
|
|
103
|
+
## Bundled Resources
|
|
104
|
+
|
|
105
|
+
- 变更记录:`CHANGELOG.md`
|
|
106
|
+
- 使用剧本:`PLAYBOOK.md`
|
|
107
|
+
- 契约:`references/spec-contract.md`
|
|
108
|
+
- 模板:`assets/INDEX_TEMPLATE.md`
|
|
109
|
+
- 模板:`assets/CAPABILITY_TEMPLATE.md`
|
|
110
|
+
- 模板:`assets/CHANGE_META_TEMPLATE.json`
|
|
111
|
+
- 初始化:`scripts/bootstrap-specs.sh`
|
|
112
|
+
- 校验:`scripts/validate-spec-links.sh`
|
|
113
|
+
|
|
114
|
+
## Exit Criteria
|
|
115
|
+
|
|
116
|
+
- `devflow/specs/` 已建立或已修复
|
|
117
|
+
- 相关 capability spec 有明确边界、约束、truth、gaps
|
|
118
|
+
- 相关 change 已有 `change-meta.json`
|
|
119
|
+
- `INDEX.md`、roadmap、change、spec 之间的链接可追踪
|
|
120
|
+
- 下一步可以安心回到 `cc-roadmap`、`cc-plan` 或 `cc-act`
|
|
121
|
+
|
|
122
|
+
## Do Not
|
|
123
|
+
|
|
124
|
+
- 不把 roadmap 写回 spec
|
|
125
|
+
- 不把执行细节写成 capability truth
|
|
126
|
+
- 不允许没有 primary capability 的多 capability change
|
|
127
|
+
- 不直接删 capability 文件导致链路断裂
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: cap-example
|
|
3
|
+
title: Example Capability
|
|
4
|
+
type: user-visible
|
|
5
|
+
status: partial
|
|
6
|
+
primary_owner: ""
|
|
7
|
+
last_verified_at: 2026-04-19
|
|
8
|
+
roadmap_links:
|
|
9
|
+
- RM-001
|
|
10
|
+
related_changes:
|
|
11
|
+
- REQ-001-example
|
|
12
|
+
superseded_by: []
|
|
13
|
+
split_into: []
|
|
14
|
+
merged_into: ""
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
# Purpose
|
|
18
|
+
|
|
19
|
+
一句话说明这个 capability 为谁解决什么问题。
|
|
20
|
+
|
|
21
|
+
# Boundary
|
|
22
|
+
|
|
23
|
+
In:
|
|
24
|
+
- 属于这个 capability 的行为
|
|
25
|
+
|
|
26
|
+
Out:
|
|
27
|
+
- 明确不属于这个 capability 的行为
|
|
28
|
+
|
|
29
|
+
# Invariants
|
|
30
|
+
|
|
31
|
+
- 后续 change 不能破坏的约束
|
|
32
|
+
- AI 改代码前必须先满足这些约束
|
|
33
|
+
|
|
34
|
+
# Current Truth
|
|
35
|
+
|
|
36
|
+
- 当前已成立的用户可见行为
|
|
37
|
+
- 当前已成立的系统承诺
|
|
38
|
+
- 当前异常与失败边界
|
|
39
|
+
|
|
40
|
+
# Completion
|
|
41
|
+
|
|
42
|
+
Delivered:
|
|
43
|
+
- 已完成部分
|
|
44
|
+
|
|
45
|
+
Missing:
|
|
46
|
+
- 尚未完成但预期要做的部分
|
|
47
|
+
|
|
48
|
+
Intentional Gaps:
|
|
49
|
+
- 有意不做、暂时不做的部分
|
|
50
|
+
|
|
51
|
+
# Roadmap Links
|
|
52
|
+
|
|
53
|
+
- RM-001: 未来推进什么
|
|
54
|
+
|
|
55
|
+
# Change Ledger
|
|
56
|
+
|
|
57
|
+
- REQ-001-example: 这次 change 对 capability 做了什么
|
|
58
|
+
|
|
59
|
+
# Evidence
|
|
60
|
+
|
|
61
|
+
- Code:
|
|
62
|
+
- Tests:
|
|
63
|
+
- Docs:
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
{
|
|
2
|
+
"changeId": "REQ-001",
|
|
3
|
+
"requirementId": "REQ-001",
|
|
4
|
+
"sourceRoadmap": {
|
|
5
|
+
"itemId": "RM-001",
|
|
6
|
+
"roadmapVersion": "roadmap.v1",
|
|
7
|
+
"roadmapSkillVersion": "4.1.0"
|
|
8
|
+
},
|
|
9
|
+
"spec": {
|
|
10
|
+
"primaryCapability": "cap-example",
|
|
11
|
+
"secondaryCapabilities": [],
|
|
12
|
+
"changeType": "update",
|
|
13
|
+
"specFiles": [
|
|
14
|
+
"devflow/specs/capabilities/cap-example.md"
|
|
15
|
+
],
|
|
16
|
+
"expectedDelta": [
|
|
17
|
+
"Describe the new truth the change should add or tighten"
|
|
18
|
+
],
|
|
19
|
+
"affectedInvariants": [],
|
|
20
|
+
"gapsClosed": [],
|
|
21
|
+
"newGaps": [],
|
|
22
|
+
"syncStatus": "planned",
|
|
23
|
+
"notes": []
|
|
24
|
+
}
|
|
25
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# Capability Index
|
|
2
|
+
|
|
3
|
+
## Index Meta
|
|
4
|
+
|
|
5
|
+
- Spec system version: `spec.v1`
|
|
6
|
+
- Last updated:
|
|
7
|
+
- Maintainer:
|
|
8
|
+
- Notes:
|
|
9
|
+
|
|
10
|
+
## Capability Map
|
|
11
|
+
|
|
12
|
+
| Capability ID | Title | Type | Status | Primary Owner | Roadmap Links | Open Gaps | Last Verified |
|
|
13
|
+
|---------------|-------|------|--------|---------------|---------------|-----------|---------------|
|
|
14
|
+
| cap-example | Example Capability | user-visible | partial | team | RM-001 | 2 | 2026-04-19 |
|
|
15
|
+
|
|
16
|
+
## Active Change Links
|
|
17
|
+
|
|
18
|
+
| Change | Primary Capability | Secondary Capabilities | Expected Delta | Sync Status |
|
|
19
|
+
|--------|--------------------|------------------------|----------------|-------------|
|
|
20
|
+
| REQ-001-example | cap-example | - | Add copy action | planned |
|
|
21
|
+
|
|
22
|
+
## Status Legend
|
|
23
|
+
|
|
24
|
+
- `proposed`: capability exists as a planned truth source but current truth is not yet verified
|
|
25
|
+
- `partial`: some truth is delivered, gaps remain
|
|
26
|
+
- `stable`: current truth is verified and considered reliable
|
|
27
|
+
- `deprecated`: do not build net-new work here; follow `Superseded By`
|
|
28
|
+
|
|
29
|
+
## Index Review
|
|
30
|
+
|
|
31
|
+
- Missing capability files:
|
|
32
|
+
- Dangling roadmap links:
|
|
33
|
+
- Dangling change links:
|
|
34
|
+
- Next cleanup:
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# Spec Contract
|
|
2
|
+
|
|
3
|
+
## Truth Layers
|
|
4
|
+
|
|
5
|
+
- `devflow/ROADMAP.md` / `devflow/BACKLOG.md`: 未来推进什么 capability
|
|
6
|
+
- `devflow/specs/INDEX.md`: capability 总目录与当前状态快照
|
|
7
|
+
- `devflow/specs/capabilities/*.md`: 某个 capability 当前承诺什么
|
|
8
|
+
- `devflow/changes/<change>/change-meta.json`: 某次 change 如何影响 capability
|
|
9
|
+
|
|
10
|
+
## Capability Rules
|
|
11
|
+
|
|
12
|
+
1. 以用户可感知能力为主,内部系统能力为辅。
|
|
13
|
+
2. `Boundary`、`Invariants`、`Current Truth` 是核心,不要被 narrative 淹没。
|
|
14
|
+
3. `Missing` 与 `Intentional Gaps` 必须长期保留。
|
|
15
|
+
4. capability 名称要稳定、可重用,不要按一次需求命名。
|
|
16
|
+
|
|
17
|
+
## Change Meta Rules
|
|
18
|
+
|
|
19
|
+
1. `primaryCapability` 必填。
|
|
20
|
+
2. `secondaryCapabilities` 可空,但必须有明确原因。
|
|
21
|
+
3. `changeType` 只使用:`create`、`update`、`split`、`merge`、`deprecate`。
|
|
22
|
+
4. `syncStatus` 生命周期:`planned -> verified -> synced`。
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
|
|
3
|
+
set -euo pipefail
|
|
4
|
+
|
|
5
|
+
# ------------------------------------------------------------
|
|
6
|
+
# 初始化 capability-centered spec 目录骨架
|
|
7
|
+
# ------------------------------------------------------------
|
|
8
|
+
|
|
9
|
+
ROOT="$(git rev-parse --show-toplevel 2>/dev/null || pwd)"
|
|
10
|
+
BASE="$ROOT/devflow/specs"
|
|
11
|
+
CAP_DIR="$BASE/capabilities"
|
|
12
|
+
SKILL_DIR="$ROOT/.claude/skills/cc-spec-init"
|
|
13
|
+
|
|
14
|
+
mkdir -p "$CAP_DIR"
|
|
15
|
+
|
|
16
|
+
copy_if_missing() {
|
|
17
|
+
local src="$1"
|
|
18
|
+
local dest="$2"
|
|
19
|
+
|
|
20
|
+
if [[ ! -f "$dest" ]]; then
|
|
21
|
+
cp "$src" "$dest"
|
|
22
|
+
echo "Created ${dest#$ROOT/}"
|
|
23
|
+
else
|
|
24
|
+
echo "Kept ${dest#$ROOT/}"
|
|
25
|
+
fi
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
copy_if_missing "$SKILL_DIR/assets/INDEX_TEMPLATE.md" "$BASE/INDEX.md"
|
|
29
|
+
copy_if_missing "$SKILL_DIR/assets/CAPABILITY_TEMPLATE.md" "$CAP_DIR/cap-example.md"
|
|
30
|
+
|
|
31
|
+
echo "Spec bootstrap complete"
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
|
|
3
|
+
set -euo pipefail
|
|
4
|
+
|
|
5
|
+
# ------------------------------------------------------------
|
|
6
|
+
# 校验 spec / roadmap / change 链路是否断裂
|
|
7
|
+
# ------------------------------------------------------------
|
|
8
|
+
|
|
9
|
+
ROOT="$(git rev-parse --show-toplevel 2>/dev/null || pwd)"
|
|
10
|
+
INDEX_FILE="$ROOT/devflow/specs/INDEX.md"
|
|
11
|
+
CAP_DIR="$ROOT/devflow/specs/capabilities"
|
|
12
|
+
FAILED=0
|
|
13
|
+
|
|
14
|
+
if [[ ! -f "$INDEX_FILE" ]]; then
|
|
15
|
+
echo "Missing devflow/specs/INDEX.md" >&2
|
|
16
|
+
exit 1
|
|
17
|
+
fi
|
|
18
|
+
|
|
19
|
+
if [[ ! -d "$CAP_DIR" ]]; then
|
|
20
|
+
echo "Missing devflow/specs/capabilities/" >&2
|
|
21
|
+
exit 1
|
|
22
|
+
fi
|
|
23
|
+
|
|
24
|
+
while IFS= read -r capability; do
|
|
25
|
+
[[ -z "$capability" ]] && continue
|
|
26
|
+
if [[ ! -f "$CAP_DIR/$capability.md" ]]; then
|
|
27
|
+
echo "Dangling capability in INDEX.md: $capability" >&2
|
|
28
|
+
FAILED=1
|
|
29
|
+
fi
|
|
30
|
+
done < <(awk -F'|' '/^\|/ {id=$2; gsub(/^[[:space:]]+|[[:space:]]+$/, "", id); if (id != "" && id != "Capability ID" && id !~ /^-+$/) print id}' "$INDEX_FILE")
|
|
31
|
+
|
|
32
|
+
while IFS= read -r meta; do
|
|
33
|
+
primary="$(jq -r '.spec.primaryCapability // empty' "$meta" 2>/dev/null || true)"
|
|
34
|
+
[[ -z "$primary" ]] && continue
|
|
35
|
+
if [[ ! -f "$CAP_DIR/$primary.md" ]]; then
|
|
36
|
+
echo "Dangling primary capability in ${meta#$ROOT/}: $primary" >&2
|
|
37
|
+
FAILED=1
|
|
38
|
+
fi
|
|
39
|
+
done < <(find "$ROOT/devflow/changes" -maxdepth 2 -name change-meta.json -type f 2>/dev/null | sort)
|
|
40
|
+
|
|
41
|
+
if [[ "$FAILED" -ne 0 ]]; then
|
|
42
|
+
exit 1
|
|
43
|
+
fi
|
|
44
|
+
|
|
45
|
+
echo "Spec links are valid"
|
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,63 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
---
|
|
9
9
|
|
|
10
|
+
## [Unreleased]
|
|
11
|
+
|
|
12
|
+
## [4.4.1] - 2026-04-25
|
|
13
|
+
|
|
14
|
+
### 🔧 Canonical Change Keys + Planning Contract Hardening
|
|
15
|
+
|
|
16
|
+
v4.4.1 tightens the planning and release workflow contracts so new change
|
|
17
|
+
directories use explicit `REQ-*` / `FIX-*` prefixes and executable plans keep
|
|
18
|
+
test-first handoffs as a native requirement.
|
|
19
|
+
|
|
20
|
+
### Added
|
|
21
|
+
|
|
22
|
+
- Added a public `cc-investigate` skill so bug work can follow `cc-investigate -> cc-do -> cc-check -> cc-act` instead of overloading `cc-plan`.
|
|
23
|
+
- Added a distributed maintenance skill `cc-spec-init` for capability-centered spec bootstrap, capability truth maintenance, and `change-meta.json` link repair.
|
|
24
|
+
- Added runtime coverage for canonical change-key generation, legacy lowercase directory compatibility, `FIX-*` ids, and rejection of stale `BUG-*` ids.
|
|
25
|
+
|
|
26
|
+
### Changed
|
|
27
|
+
|
|
28
|
+
- Documented the workflow as two shared-tail loops: `PDCA` for feature/scope work and `IDCA/DDCA` for root-cause work.
|
|
29
|
+
- Updated public distribution, publish validation, and Codex mirror expectations so `cc-investigate` ships with the pack.
|
|
30
|
+
- Updated `cc-do` and `cc-check` contracts so they can consume `ANALYSIS.md` handoffs and reroute failed bug fixes back to `cc-investigate`.
|
|
31
|
+
- Updated `cc-roadmap`, `cc-plan`, `cc-investigate`, `cc-do`, `cc-check`, and `cc-act` to carry capability/spec linkage through roadmap, planning, execution, verification, and closeout.
|
|
32
|
+
- Updated public docs and example bindings so `devflow/specs/` is documented as durable capability truth and `change-meta.json` is documented as durable change truth.
|
|
33
|
+
- Updated `cc-plan` and `cc-investigate` so new planning outputs must use `REQ-<number>-<description>` for requirement work and `FIX-<number>-<description>` for bug-fix work.
|
|
34
|
+
- Updated public examples to use uppercase `REQ-*` change directories.
|
|
35
|
+
|
|
36
|
+
### Fixed
|
|
37
|
+
|
|
38
|
+
- Fixed path resolution so new change directories no longer silently downcase
|
|
39
|
+
`REQ-*` ids into `req-*`.
|
|
40
|
+
|
|
41
|
+
## [4.4.0] - 2026-04-10
|
|
42
|
+
|
|
43
|
+
### 🚀 Review-Gated Delivery + Distribution Cleanup
|
|
44
|
+
|
|
45
|
+
v4.4.0 tightens the requirement runtime contract so planning, dispatch, verify, and release operate on the same execution state, while npm distribution now ships only the public workflow surface.
|
|
46
|
+
|
|
47
|
+
### Added
|
|
48
|
+
|
|
49
|
+
- Added richer task manifest metadata, including phase, parallelism, acceptance, verification, evidence, review state, and execution cursor tracking.
|
|
50
|
+
- Added native review aggregation in `lib/harness/review.js` so verify/release can block on missing or failed task review proof.
|
|
51
|
+
- Added `.claude/skills/docs-sync/` as a maintenance skill for syncing skill versions, skill changelogs, and affected public docs before commit or ship.
|
|
52
|
+
- Added `config/distributable-skills.json` so CLI/template distribution uses an explicit public-skill allowlist.
|
|
53
|
+
|
|
54
|
+
### Changed
|
|
55
|
+
|
|
56
|
+
- `planner`, `dispatch`, `resume`, and `query` now derive the same ready task and active phase from manifest state instead of guessing from the first pending item.
|
|
57
|
+
- `verify` and release-facing outputs now emit explicit verdicts, review summaries, reroute hints, and blocking findings tied to review artifacts.
|
|
58
|
+
- Documented the repository rule that changes to shipped skills must update the skill `version`, local `CHANGELOG.md`, and impacted README / CONTRIBUTING / docs content together.
|
|
59
|
+
- `cc-devflow init` and npm packaging now distribute only public workflow skills; maintainer-only skills such as `docs-sync` and `npm-release` stay out of the shipped template.
|
|
60
|
+
|
|
61
|
+
### Benefits
|
|
62
|
+
|
|
63
|
+
- ✅ Review proof is now a first-class gate instead of tribal process
|
|
64
|
+
- ✅ Requirement execution state is resumable and dependency-aware
|
|
65
|
+
- ✅ Packaged output exposes a cleaner public surface for npm consumers
|
|
66
|
+
|
|
10
67
|
## [4.3.0] - 2026-03-13
|
|
11
68
|
|
|
12
69
|
### ✨ TDD Enforcement + OpenSpec Interop
|
|
@@ -357,11 +414,11 @@ v4.1.0 introduces Claude Team functionality for multi-agent parallel development
|
|
|
357
414
|
|
|
358
415
|
---
|
|
359
416
|
|
|
360
|
-
## [4.
|
|
417
|
+
## [4.2.1] - 2026-02-07
|
|
361
418
|
|
|
362
419
|
### 🌿 Git Worktree Integration: Parallel Development Support
|
|
363
420
|
|
|
364
|
-
v4.
|
|
421
|
+
v4.2.1 introduces Git Worktree integration for parallel development with isolated Claude Code sessions.
|
|
365
422
|
|
|
366
423
|
#### Added
|
|
367
424
|
|
|
@@ -417,11 +474,11 @@ v4.3.0 introduces Git Worktree integration for parallel development with isolate
|
|
|
417
474
|
|
|
418
475
|
---
|
|
419
476
|
|
|
420
|
-
## [4.1
|
|
477
|
+
## [4.0.1] - 2026-02-07
|
|
421
478
|
|
|
422
479
|
### 🎯 Unified Specification Phase: /flow-spec Command
|
|
423
480
|
|
|
424
|
-
v4.1
|
|
481
|
+
v4.0.1 merges flow-prd/flow-tech/flow-ui/flow-epic into a single `/flow-spec` command with parallel execution of Tech + UI agents.
|
|
425
482
|
|
|
426
483
|
#### Added
|
|
427
484
|
|