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
|
@@ -1,282 +0,0 @@
|
|
|
1
|
-
# CC-DevFlow Rationalization Library
|
|
2
|
-
|
|
3
|
-
> **Version**: 1.0.0
|
|
4
|
-
> **Purpose**: Centralized defense against AI Agent rationalization attempts
|
|
5
|
-
> **Source**: Extracted from superpowers TDD skill + CC-DevFlow operational experience
|
|
6
|
-
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
## How to Use This Library
|
|
10
|
-
|
|
11
|
-
When an agent is about to violate a Constitutional Article, they will often produce
|
|
12
|
-
rationalizations. This library provides pre-crafted responses.
|
|
13
|
-
|
|
14
|
-
**Pattern**:
|
|
15
|
-
1. Agent produces excuse
|
|
16
|
-
2. Lookup excuse in relevant Article section
|
|
17
|
-
3. Respond with "Reality" column
|
|
18
|
-
4. If not found, add new rationalization to library
|
|
19
|
-
|
|
20
|
-
---
|
|
21
|
-
|
|
22
|
-
## Article I: Quality First - Rationalization Table
|
|
23
|
-
|
|
24
|
-
### Iron Law
|
|
25
|
-
```
|
|
26
|
-
NO PARTIAL IMPLEMENTATION - COMPLETE OR NOTHING
|
|
27
|
-
```
|
|
28
|
-
|
|
29
|
-
### Rationalizations
|
|
30
|
-
|
|
31
|
-
| Excuse | Reality |
|
|
32
|
-
|--------|---------|
|
|
33
|
-
| "This is simplified for now" | CONSTITUTIONAL VIOLATION. Complete it or don't ship it. |
|
|
34
|
-
| "Will complete in v2" | Future versions don't exist. Implement fully now. |
|
|
35
|
-
| "Core logic works, edge cases later" | Edge cases ARE the implementation. No later. |
|
|
36
|
-
| "Time constraint" | Ship later, ship complete. Never ship incomplete. |
|
|
37
|
-
| "MVP approach" | MVP = Minimum VIABLE. Viable means works completely. |
|
|
38
|
-
| "Placeholder for now" | Placeholders = technical debt = future bugs. |
|
|
39
|
-
| "I'll fix it before PR" | Fix it NOW. Not later. Now. |
|
|
40
|
-
| "80% is good enough" | 80% = broken for 20% of users. Not good enough. |
|
|
41
|
-
| "Works on my machine" | Production is not your machine. Test properly. |
|
|
42
|
-
|
|
43
|
-
---
|
|
44
|
-
|
|
45
|
-
## Article II: Architectural Consistency - Rationalization Table
|
|
46
|
-
|
|
47
|
-
### Iron Law
|
|
48
|
-
```
|
|
49
|
-
REUSE EXISTING CODE - NO DUPLICATION
|
|
50
|
-
```
|
|
51
|
-
|
|
52
|
-
### Rationalizations
|
|
53
|
-
|
|
54
|
-
| Excuse | Reality |
|
|
55
|
-
|--------|---------|
|
|
56
|
-
| "Faster to rewrite" | Faster now = slower forever. Find and reuse. |
|
|
57
|
-
| "That code is messy" | Refactor it. Don't duplicate it. |
|
|
58
|
-
| "Slightly different use case" | Extract common, parameterize difference. |
|
|
59
|
-
| "I don't have time to search" | Searching takes 5 min. Maintaining duplicates takes forever. |
|
|
60
|
-
| "The other code might change" | Good. Your copy will be outdated. Use shared version. |
|
|
61
|
-
| "It's just a small function" | Small duplications compound. No exceptions. |
|
|
62
|
-
| "I understand my version better" | Understand the shared version. That's your job. |
|
|
63
|
-
|
|
64
|
-
---
|
|
65
|
-
|
|
66
|
-
## Article III: Security First - Rationalization Table
|
|
67
|
-
|
|
68
|
-
### Iron Law
|
|
69
|
-
```
|
|
70
|
-
NO HARDCODED SECRETS - ENVIRONMENT VARIABLES ONLY
|
|
71
|
-
```
|
|
72
|
-
|
|
73
|
-
### Rationalizations
|
|
74
|
-
|
|
75
|
-
| Excuse | Reality |
|
|
76
|
-
|--------|---------|
|
|
77
|
-
| "It's just for testing" | Commits are forever. Use env vars even for tests. |
|
|
78
|
-
| "I'll remove it before commit" | You won't. You'll forget. Use env vars. |
|
|
79
|
-
| "It's not a real secret" | Any credential is a real secret. Treat it as such. |
|
|
80
|
-
| "Local development only" | Local becomes production. Start secure. |
|
|
81
|
-
| "Nobody will see the repo" | Repos get shared. Git history is permanent. |
|
|
82
|
-
| "I'll rotate it later" | Rotation doesn't erase history. Never commit secrets. |
|
|
83
|
-
| "It's encrypted" | Encrypted secrets in code are still secrets in code. |
|
|
84
|
-
|
|
85
|
-
---
|
|
86
|
-
|
|
87
|
-
## Article IV: Performance Accountability - Rationalization Table
|
|
88
|
-
|
|
89
|
-
### Iron Law
|
|
90
|
-
```
|
|
91
|
-
NO RESOURCE LEAKS - ALWAYS CLEANUP
|
|
92
|
-
```
|
|
93
|
-
|
|
94
|
-
### Rationalizations
|
|
95
|
-
|
|
96
|
-
| Excuse | Reality |
|
|
97
|
-
|--------|---------|
|
|
98
|
-
| "Garbage collector will handle it" | GC doesn't close files/connections. Explicit cleanup. |
|
|
99
|
-
| "Small leak, won't matter" | Small leaks become big crashes. Fix now. |
|
|
100
|
-
| "It's a short-lived process" | Process lifetime is not your decision. Always cleanup. |
|
|
101
|
-
| "I'll add cleanup later" | Later = never. Add cleanup with creation. |
|
|
102
|
-
| "Framework handles it" | Verify that. Don't assume. |
|
|
103
|
-
| "Only happens in edge case" | Edge cases run in production. Handle them. |
|
|
104
|
-
|
|
105
|
-
---
|
|
106
|
-
|
|
107
|
-
## Article V: Maintainability - Rationalization Table
|
|
108
|
-
|
|
109
|
-
### Iron Law
|
|
110
|
-
```
|
|
111
|
-
NO DEAD CODE - USE IT OR DELETE IT
|
|
112
|
-
```
|
|
113
|
-
|
|
114
|
-
### Rationalizations
|
|
115
|
-
|
|
116
|
-
| Excuse | Reality |
|
|
117
|
-
|--------|---------|
|
|
118
|
-
| "Might need it later" | Git history exists. Delete now, retrieve if needed. |
|
|
119
|
-
| "It's just commented out" | Commented code = noise. Delete it. |
|
|
120
|
-
| "Reference for future work" | Write docs. Don't keep dead code. |
|
|
121
|
-
| "Someone else might need it" | They'll write their own. Delete yours. |
|
|
122
|
-
| "Too risky to delete" | Tests exist. If tests pass after delete, it's safe. |
|
|
123
|
-
| "I worked hard on this" | Sunk cost fallacy. Delete it. |
|
|
124
|
-
|
|
125
|
-
---
|
|
126
|
-
|
|
127
|
-
## Article VI: Test-First Development - Rationalization Table
|
|
128
|
-
|
|
129
|
-
### Iron Law
|
|
130
|
-
```
|
|
131
|
-
NO PRODUCTION CODE WITHOUT A FAILING TEST FIRST
|
|
132
|
-
```
|
|
133
|
-
|
|
134
|
-
### Rationalizations
|
|
135
|
-
|
|
136
|
-
| Excuse | Reality |
|
|
137
|
-
|--------|---------|
|
|
138
|
-
| "Too simple to test" | Simple code breaks. Test takes 30 seconds. |
|
|
139
|
-
| "I'll test after" | Tests passing immediately prove nothing. |
|
|
140
|
-
| "Tests after achieve same goals" | Tests-after = "what does this do?" Tests-first = "what should this do?" |
|
|
141
|
-
| "Already manually tested" | Ad-hoc ≠ systematic. No record, can't re-run. |
|
|
142
|
-
| "Deleting X hours is wasteful" | Sunk cost fallacy. Keeping unverified code is technical debt. |
|
|
143
|
-
| "Keep as reference, write tests first" | You'll adapt it. That's testing after. Delete means delete. |
|
|
144
|
-
| "Need to explore first" | Fine. Throw away exploration, start with TDD. |
|
|
145
|
-
| "Test hard = design unclear" | Listen to test. Hard to test = hard to use. |
|
|
146
|
-
| "TDD slows me down" | TDD faster than debugging. Pragmatic = test-first. |
|
|
147
|
-
| "This is different because..." | No. This is rationalization. Follow the law. |
|
|
148
|
-
| "Spirit not letter" | Violating letter IS violating spirit. No loopholes. |
|
|
149
|
-
| "I'm being pragmatic, not dogmatic" | TDD IS pragmatic. Shortcuts = debugging in production = slower. |
|
|
150
|
-
| "Just this once" | No exceptions. Rules exist for this exact moment. |
|
|
151
|
-
| "Existing code has no tests" | You're improving it. Add tests for existing code. |
|
|
152
|
-
| "Manual test faster" | Manual doesn't prove edge cases. You'll re-test every change. |
|
|
153
|
-
|
|
154
|
-
---
|
|
155
|
-
|
|
156
|
-
## Article VII: Simplicity Gate - Rationalization Table
|
|
157
|
-
|
|
158
|
-
### Iron Law
|
|
159
|
-
```
|
|
160
|
-
MAXIMUM 3 PROJECTS - JUSTIFY ANY ADDITIONAL COMPLEXITY
|
|
161
|
-
```
|
|
162
|
-
|
|
163
|
-
### Rationalizations
|
|
164
|
-
|
|
165
|
-
| Excuse | Reality |
|
|
166
|
-
|--------|---------|
|
|
167
|
-
| "Microservices are better" | For your scale? Monolith is simpler. Start there. |
|
|
168
|
-
| "Future scalability" | YAGNI. Scale when you need to. |
|
|
169
|
-
| "Separation of concerns" | Modules separate concerns. Projects add overhead. |
|
|
170
|
-
| "Team autonomy" | Autonomy ≠ architectural chaos. Coordinate. |
|
|
171
|
-
| "Best practices say..." | Best practices assume scale you don't have. |
|
|
172
|
-
| "We might need it" | Might ≠ do. Build for now, refactor when needed. |
|
|
173
|
-
|
|
174
|
-
---
|
|
175
|
-
|
|
176
|
-
## Article VIII: Anti-Abstraction - Rationalization Table
|
|
177
|
-
|
|
178
|
-
### Iron Law
|
|
179
|
-
```
|
|
180
|
-
USE FRAMEWORKS DIRECTLY - NO UNNECESSARY WRAPPERS
|
|
181
|
-
```
|
|
182
|
-
|
|
183
|
-
### Rationalizations
|
|
184
|
-
|
|
185
|
-
| Excuse | Reality |
|
|
186
|
-
|--------|---------|
|
|
187
|
-
| "Abstraction for future flexibility" | YAGNI. You won't switch frameworks. |
|
|
188
|
-
| "Cleaner interface" | Framework interface IS clean. Learn it. |
|
|
189
|
-
| "Hide implementation details" | Framework IS implementation. Don't hide it. |
|
|
190
|
-
| "Consistent with other projects" | Consistency ≠ unnecessary abstraction. |
|
|
191
|
-
| "Easier testing" | Mock the framework. Don't wrap it. |
|
|
192
|
-
| "Best practice pattern" | Pattern ≠ always apply. Use judgment. |
|
|
193
|
-
|
|
194
|
-
---
|
|
195
|
-
|
|
196
|
-
## Article IX: Integration-First Testing - Rationalization Table
|
|
197
|
-
|
|
198
|
-
### Iron Law
|
|
199
|
-
```
|
|
200
|
-
CONTRACTS FIRST - REAL ENVIRONMENTS
|
|
201
|
-
```
|
|
202
|
-
|
|
203
|
-
### Rationalizations
|
|
204
|
-
|
|
205
|
-
| Excuse | Reality |
|
|
206
|
-
|--------|---------|
|
|
207
|
-
| "Unit tests are faster" | Fast wrong tests waste time. Integration tests catch real bugs. |
|
|
208
|
-
| "Mocks are simpler" | Mocks hide integration issues. Real databases find them. |
|
|
209
|
-
| "CI is slow" | CI is cheap. Production bugs are expensive. |
|
|
210
|
-
| "Docker is complex" | Docker is simpler than debugging integration issues. |
|
|
211
|
-
| "In-memory database works" | In-memory differs from production. Test with real DB. |
|
|
212
|
-
|
|
213
|
-
---
|
|
214
|
-
|
|
215
|
-
## Article X: Requirement Boundary - Rationalization Table
|
|
216
|
-
|
|
217
|
-
### Iron Law
|
|
218
|
-
```
|
|
219
|
-
IMPLEMENT WHAT'S REQUESTED, NOTHING MORE
|
|
220
|
-
```
|
|
221
|
-
|
|
222
|
-
### Rationalizations
|
|
223
|
-
|
|
224
|
-
| Excuse | Reality |
|
|
225
|
-
|--------|---------|
|
|
226
|
-
| "User might need this later" | User didn't ask. Don't add. YAGNI. |
|
|
227
|
-
| "It's just a small addition" | Small additions compound. Scope creep. |
|
|
228
|
-
| "This is a natural extension" | Extensions require explicit request. |
|
|
229
|
-
| "Would be nice to have" | Nice ≠ required. Focus on requirements. |
|
|
230
|
-
| "While I'm here anyway" | Stay on task. Create separate requirement. |
|
|
231
|
-
| "It's only 5 more lines" | 5 lines = testing + docs + maintenance. Not 5 lines. |
|
|
232
|
-
| "User will thank me" | User will thank you for ON-TIME, IN-SCOPE delivery. |
|
|
233
|
-
| "I'm being helpful" | Helpful = following spec. Unhelpful = scope creep. |
|
|
234
|
-
| "It's best practice" | Best practice: implement what's requested. |
|
|
235
|
-
| "Future-proofing" | Future-proofing = over-engineering = waste. |
|
|
236
|
-
| "Obvious feature" | If obvious, it should be in spec. Not in spec = don't do. |
|
|
237
|
-
|
|
238
|
-
---
|
|
239
|
-
|
|
240
|
-
## Cross-Article Rationalizations
|
|
241
|
-
|
|
242
|
-
These excuses appear across multiple Articles:
|
|
243
|
-
|
|
244
|
-
| Excuse | Reality | Articles |
|
|
245
|
-
|--------|---------|----------|
|
|
246
|
-
| "Just this once" | No exceptions. Rules exist for this exact moment. | All |
|
|
247
|
-
| "I'm being pragmatic" | Pragmatic = following rules. Shortcuts = technical debt. | All |
|
|
248
|
-
| "Time is tight" | Rushed work = bugs = more time spent debugging. | All |
|
|
249
|
-
| "It's obvious it works" | Nothing is obvious. Prove with tests. | I, VI |
|
|
250
|
-
| "Everyone does this" | Everyone is wrong. We do it right. | All |
|
|
251
|
-
| "Senior says skip it" | Constitution > authority. No skipping. | All |
|
|
252
|
-
| "Emergency situation" | Emergencies especially need rules. | III, VI |
|
|
253
|
-
| "This is different" | It's not different. Follow the rules. | All |
|
|
254
|
-
| "Spirit over letter" | Violating letter IS violating spirit. | VI |
|
|
255
|
-
| "Being practical" | Practical = disciplined. Shortcuts = impractical. | All |
|
|
256
|
-
|
|
257
|
-
---
|
|
258
|
-
|
|
259
|
-
## Adding New Rationalizations
|
|
260
|
-
|
|
261
|
-
When you encounter a new excuse not in this library:
|
|
262
|
-
|
|
263
|
-
1. **Capture verbatim** - Record exact words used
|
|
264
|
-
2. **Identify Article** - Which Constitutional Article does it violate?
|
|
265
|
-
3. **Craft Reality response** - Brief, direct, no compromise
|
|
266
|
-
4. **Add to library** - PR to update this document
|
|
267
|
-
5. **Update guardrails** - Add pattern to relevant skill if blocking needed
|
|
268
|
-
|
|
269
|
-
---
|
|
270
|
-
|
|
271
|
-
## Integration Points
|
|
272
|
-
|
|
273
|
-
This library is consumed by:
|
|
274
|
-
- `.claude/rules/project-constitution.md` (inline tables per Article)
|
|
275
|
-
- `.claude/agents/*.md` (relevant tables per agent role)
|
|
276
|
-
- `.claude/skills/devflow-tdd-enforcer/SKILL.md`
|
|
277
|
-
- `.claude/skills/constitution-guardian/SKILL.md`
|
|
278
|
-
- `tests/pressure-scenarios/` (test scenarios)
|
|
279
|
-
|
|
280
|
-
---
|
|
281
|
-
|
|
282
|
-
**[PROTOCOL]**: 变更时更新此头部,然后检查 CLAUDE.md
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
-
"$id": "https://cc-devflow.claude/.claude/schemas/constitution.schema.json",
|
|
4
|
-
"title": "Devflow Constitution Tracking",
|
|
5
|
-
"type": "object",
|
|
6
|
-
"required": [
|
|
7
|
-
"articles"
|
|
8
|
-
],
|
|
9
|
-
"properties": {
|
|
10
|
-
"articles": {
|
|
11
|
-
"type": "array",
|
|
12
|
-
"minItems": 1,
|
|
13
|
-
"items": {
|
|
14
|
-
"type": "object",
|
|
15
|
-
"required": [
|
|
16
|
-
"article",
|
|
17
|
-
"status"
|
|
18
|
-
],
|
|
19
|
-
"properties": {
|
|
20
|
-
"article": {
|
|
21
|
-
"type": "string",
|
|
22
|
-
"minLength": 1
|
|
23
|
-
},
|
|
24
|
-
"status": {
|
|
25
|
-
"type": "string",
|
|
26
|
-
"enum": [
|
|
27
|
-
"pending",
|
|
28
|
-
"in_progress",
|
|
29
|
-
"approved",
|
|
30
|
-
"waived",
|
|
31
|
-
"rejected"
|
|
32
|
-
]
|
|
33
|
-
},
|
|
34
|
-
"notes": {
|
|
35
|
-
"type": "string"
|
|
36
|
-
}
|
|
37
|
-
},
|
|
38
|
-
"additionalProperties": false
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
},
|
|
42
|
-
"additionalProperties": true
|
|
43
|
-
}
|
|
@@ -1,221 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: flow:export-openspec
|
|
3
|
-
description: Export CC-DevFlow spec.md to OpenSpec format (pure requirements, no metadata)
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# /flow:export-openspec - OpenSpec 导出命令
|
|
7
|
-
|
|
8
|
-
## Purpose
|
|
9
|
-
|
|
10
|
-
将 CC-DevFlow 的 spec.md 导出为 OpenSpec 格式,移除 CC-DevFlow 特定的元数据和实现细节。
|
|
11
|
-
|
|
12
|
-
## Usage
|
|
13
|
-
|
|
14
|
-
```bash
|
|
15
|
-
/flow:export-openspec "REQ-123" --output "<openspec-path>"
|
|
16
|
-
```
|
|
17
|
-
|
|
18
|
-
## Parameters
|
|
19
|
-
|
|
20
|
-
- `REQ-123`: CC-DevFlow 需求 ID (必需)
|
|
21
|
-
- `--output`: OpenSpec spec.md 输出路径 (必需)
|
|
22
|
-
|
|
23
|
-
## Examples
|
|
24
|
-
|
|
25
|
-
```bash
|
|
26
|
-
# 导出到 OpenSpec 项目
|
|
27
|
-
/flow:export-openspec "REQ-123" \
|
|
28
|
-
--output "/path/to/openspec/changes/add-auth/specs/auth/spec.md"
|
|
29
|
-
|
|
30
|
-
# 导出到当前目录
|
|
31
|
-
/flow:export-openspec "REQ-124" \
|
|
32
|
-
--output "./openspec-export/payments/spec.md"
|
|
33
|
-
```
|
|
34
|
-
|
|
35
|
-
## Workflow
|
|
36
|
-
|
|
37
|
-
```
|
|
38
|
-
1. 读取 devflow/requirements/{REQ-ID}/spec.md
|
|
39
|
-
↓
|
|
40
|
-
2. 解析 CC-DevFlow 格式
|
|
41
|
-
- 跳过 YAML frontmatter
|
|
42
|
-
- 提取 Purpose
|
|
43
|
-
- 提取 Requirements (with BDD scenarios)
|
|
44
|
-
- 忽略 Design / Tasks / Verification
|
|
45
|
-
↓
|
|
46
|
-
3. 转换为 OpenSpec 格式
|
|
47
|
-
- 移除所有元数据
|
|
48
|
-
- 移除 [NEEDS CLARIFICATION] 标记
|
|
49
|
-
- 保留纯 Requirements
|
|
50
|
-
↓
|
|
51
|
-
4. 写入 OpenSpec spec.md
|
|
52
|
-
↓
|
|
53
|
-
5. 输出转换结果
|
|
54
|
-
```
|
|
55
|
-
|
|
56
|
-
## CC-DevFlow Format (Input)
|
|
57
|
-
|
|
58
|
-
```markdown
|
|
59
|
-
---
|
|
60
|
-
req_id: "REQ-123"
|
|
61
|
-
title: "用户认证系统"
|
|
62
|
-
created_at: "2026-03-13T10:00:00Z"
|
|
63
|
-
version: "1.0.0"
|
|
64
|
-
---
|
|
65
|
-
|
|
66
|
-
# Authentication Module
|
|
67
|
-
|
|
68
|
-
## Purpose
|
|
69
|
-
Provides secure authentication.
|
|
70
|
-
|
|
71
|
-
## Requirements
|
|
72
|
-
|
|
73
|
-
### Requirement: User Login
|
|
74
|
-
The system SHALL allow login.
|
|
75
|
-
|
|
76
|
-
#### Scenario: Valid credentials
|
|
77
|
-
- GIVEN a registered user
|
|
78
|
-
- WHEN the user submits credentials
|
|
79
|
-
- THEN a JWT token is issued
|
|
80
|
-
|
|
81
|
-
## Design
|
|
82
|
-
[NEEDS CLARIFICATION: Implementation details]
|
|
83
|
-
|
|
84
|
-
## Tasks
|
|
85
|
-
- [ ] T001 [TEST] User Login - 测试
|
|
86
|
-
- [ ] T002 [IMPL] User Login - 实现
|
|
87
|
-
```
|
|
88
|
-
|
|
89
|
-
## OpenSpec Format (Output)
|
|
90
|
-
|
|
91
|
-
```markdown
|
|
92
|
-
# Authentication Module
|
|
93
|
-
|
|
94
|
-
## Purpose
|
|
95
|
-
Provides secure authentication.
|
|
96
|
-
|
|
97
|
-
## Requirements
|
|
98
|
-
|
|
99
|
-
### Requirement: User Login
|
|
100
|
-
The system SHALL allow login.
|
|
101
|
-
|
|
102
|
-
#### Scenario: Valid credentials
|
|
103
|
-
- GIVEN a registered user
|
|
104
|
-
- WHEN the user submits credentials
|
|
105
|
-
- THEN a JWT token is issued
|
|
106
|
-
```
|
|
107
|
-
|
|
108
|
-
## What Gets Removed
|
|
109
|
-
|
|
110
|
-
- ❌ YAML frontmatter (req_id, title, version, etc.)
|
|
111
|
-
- ❌ `## Design` section
|
|
112
|
-
- ❌ `## Tasks` section
|
|
113
|
-
- ❌ `## Verification` section
|
|
114
|
-
- ❌ `[NEEDS CLARIFICATION]` markers
|
|
115
|
-
- ❌ TDD task annotations ([TEST], [IMPL])
|
|
116
|
-
- ❌ CC-DevFlow specific metadata
|
|
117
|
-
|
|
118
|
-
## What Gets Preserved
|
|
119
|
-
|
|
120
|
-
- ✅ Module name (# heading)
|
|
121
|
-
- ✅ `## Purpose` section
|
|
122
|
-
- ✅ `## Requirements` section
|
|
123
|
-
- ✅ Requirement names and descriptions
|
|
124
|
-
- ✅ BDD scenarios (Given-When-Then)
|
|
125
|
-
- ✅ RFC 2119 keywords (SHALL, MUST, SHOULD, MAY)
|
|
126
|
-
|
|
127
|
-
## Error Handling
|
|
128
|
-
|
|
129
|
-
```bash
|
|
130
|
-
# REQ-ID 不存在
|
|
131
|
-
Error: REQ-123 not found in devflow/requirements/
|
|
132
|
-
|
|
133
|
-
# spec.md 不存在
|
|
134
|
-
Error: spec.md not found for REQ-123
|
|
135
|
-
|
|
136
|
-
# 输出目录不可写
|
|
137
|
-
Error: Cannot write to /path/to/openspec/
|
|
138
|
-
```
|
|
139
|
-
|
|
140
|
-
## Output
|
|
141
|
-
|
|
142
|
-
```json
|
|
143
|
-
{
|
|
144
|
-
"success": true,
|
|
145
|
-
"outputPath": "/path/to/openspec/changes/add-auth/specs/auth/spec.md",
|
|
146
|
-
"requirementsCount": 3
|
|
147
|
-
}
|
|
148
|
-
```
|
|
149
|
-
|
|
150
|
-
## Implementation
|
|
151
|
-
|
|
152
|
-
```bash
|
|
153
|
-
node .claude/scripts/export-openspec.js \
|
|
154
|
-
"devflow/requirements/<req-id>/spec.md" \
|
|
155
|
-
"<output-path>"
|
|
156
|
-
```
|
|
157
|
-
|
|
158
|
-
## Use Cases
|
|
159
|
-
|
|
160
|
-
### 1. 贡献到 OpenSpec 项目
|
|
161
|
-
|
|
162
|
-
```bash
|
|
163
|
-
# 在 CC-DevFlow 中开发完成
|
|
164
|
-
/flow:dev "REQ-123"
|
|
165
|
-
/flow:verify "REQ-123"
|
|
166
|
-
|
|
167
|
-
# 导出为 OpenSpec 格式
|
|
168
|
-
/flow:export-openspec "REQ-123" \
|
|
169
|
-
--output "/path/to/openspec/changes/add-feature/specs/module/spec.md"
|
|
170
|
-
|
|
171
|
-
# 提交到 OpenSpec 项目
|
|
172
|
-
cd /path/to/openspec
|
|
173
|
-
git add changes/add-feature/
|
|
174
|
-
git commit -m "Add feature specification"
|
|
175
|
-
```
|
|
176
|
-
|
|
177
|
-
### 2. 共享需求规格
|
|
178
|
-
|
|
179
|
-
```bash
|
|
180
|
-
# 导出纯需求文档(无实现细节)
|
|
181
|
-
/flow:export-openspec "REQ-124" \
|
|
182
|
-
--output "./shared-specs/payments.md"
|
|
183
|
-
|
|
184
|
-
# 分享给产品团队或其他项目
|
|
185
|
-
```
|
|
186
|
-
|
|
187
|
-
### 3. 需求归档
|
|
188
|
-
|
|
189
|
-
```bash
|
|
190
|
-
# 导出为标准格式归档
|
|
191
|
-
/flow:export-openspec "REQ-125" \
|
|
192
|
-
--output "./archive/specs/feature-v1.0.md"
|
|
193
|
-
```
|
|
194
|
-
|
|
195
|
-
## Round-Trip Compatibility
|
|
196
|
-
|
|
197
|
-
OpenSpec ↔ CC-DevFlow 双向转换保持需求完整性:
|
|
198
|
-
|
|
199
|
-
```bash
|
|
200
|
-
# Import: OpenSpec → CC-DevFlow
|
|
201
|
-
/flow:import-openspec "openspec/spec.md" --req-id "REQ-123" --title "Feature"
|
|
202
|
-
→ 生成 spec.md + 自动补充 TDD 任务
|
|
203
|
-
|
|
204
|
-
# Develop in CC-DevFlow
|
|
205
|
-
/flow:spec "REQ-123"
|
|
206
|
-
/flow:dev "REQ-123"
|
|
207
|
-
|
|
208
|
-
# Export: CC-DevFlow → OpenSpec
|
|
209
|
-
/flow:export-openspec "REQ-123" --output "openspec/spec.md"
|
|
210
|
-
→ 移除实现细节,保留纯需求
|
|
211
|
-
```
|
|
212
|
-
|
|
213
|
-
## Related Commands
|
|
214
|
-
|
|
215
|
-
- `/flow:import-openspec` - Import OpenSpec spec to CC-DevFlow
|
|
216
|
-
- `/flow:spec` - Generate task-manifest from spec.md
|
|
217
|
-
- `/flow:archive` - Archive completed requirements
|
|
218
|
-
|
|
219
|
-
---
|
|
220
|
-
|
|
221
|
-
**[PROTOCOL]**: 变更时更新此头部,然后检查 CLAUDE.md
|
|
@@ -1,171 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: flow:import-openspec
|
|
3
|
-
description: Import OpenSpec spec.md and convert to CC-DevFlow format with TDD tasks
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# /flow:import-openspec - OpenSpec 导入命令
|
|
7
|
-
|
|
8
|
-
## Purpose
|
|
9
|
-
|
|
10
|
-
从 OpenSpec 项目导入 spec.md 文件,转换为 CC-DevFlow 格式,自动补充 TDD 任务。
|
|
11
|
-
|
|
12
|
-
## Usage
|
|
13
|
-
|
|
14
|
-
```bash
|
|
15
|
-
/flow:import-openspec "<openspec-path>" --req-id "REQ-123" --title "功能标题"
|
|
16
|
-
```
|
|
17
|
-
|
|
18
|
-
## Parameters
|
|
19
|
-
|
|
20
|
-
- `<openspec-path>`: OpenSpec spec.md 文件的绝对路径或相对路径
|
|
21
|
-
- `--req-id`: CC-DevFlow 需求 ID (必需)
|
|
22
|
-
- `--title`: 需求标题 (必需)
|
|
23
|
-
|
|
24
|
-
## Examples
|
|
25
|
-
|
|
26
|
-
```bash
|
|
27
|
-
# 导入 OpenSpec 认证模块
|
|
28
|
-
/flow:import-openspec "/path/to/openspec/changes/add-auth/specs/auth/spec.md" \
|
|
29
|
-
--req-id "REQ-123" \
|
|
30
|
-
--title "用户认证系统"
|
|
31
|
-
|
|
32
|
-
# 导入支付模块
|
|
33
|
-
/flow:import-openspec "./openspec/specs/payments/spec.md" \
|
|
34
|
-
--req-id "REQ-124" \
|
|
35
|
-
--title "支付功能"
|
|
36
|
-
```
|
|
37
|
-
|
|
38
|
-
## Workflow
|
|
39
|
-
|
|
40
|
-
```
|
|
41
|
-
1. 读取 OpenSpec spec.md
|
|
42
|
-
↓
|
|
43
|
-
2. 解析 OpenSpec 格式
|
|
44
|
-
- Purpose
|
|
45
|
-
- Requirements (with BDD scenarios)
|
|
46
|
-
↓
|
|
47
|
-
3. 转换为 CC-DevFlow 格式
|
|
48
|
-
- 添加 YAML frontmatter
|
|
49
|
-
- 保留 Purpose + Requirements
|
|
50
|
-
- 添加 Design 部分 (标记 [NEEDS CLARIFICATION])
|
|
51
|
-
- 自动生成 TDD 任务 (TEST + IMPL)
|
|
52
|
-
- 生成 Verification 清单
|
|
53
|
-
↓
|
|
54
|
-
4. 写入 devflow/requirements/{REQ-ID}/spec.md
|
|
55
|
-
↓
|
|
56
|
-
5. 输出转换结果
|
|
57
|
-
```
|
|
58
|
-
|
|
59
|
-
## OpenSpec Format (Input)
|
|
60
|
-
|
|
61
|
-
```markdown
|
|
62
|
-
# Module Name
|
|
63
|
-
|
|
64
|
-
## Purpose
|
|
65
|
-
High-level description of the module.
|
|
66
|
-
|
|
67
|
-
## Requirements
|
|
68
|
-
|
|
69
|
-
### Requirement: Feature Name
|
|
70
|
-
The system SHALL/MUST/SHOULD/MAY do something.
|
|
71
|
-
|
|
72
|
-
#### Scenario: Case Name
|
|
73
|
-
- GIVEN precondition
|
|
74
|
-
- WHEN action
|
|
75
|
-
- THEN expected result
|
|
76
|
-
- AND additional assertion
|
|
77
|
-
```
|
|
78
|
-
|
|
79
|
-
## CC-DevFlow Format (Output)
|
|
80
|
-
|
|
81
|
-
```markdown
|
|
82
|
-
---
|
|
83
|
-
req_id: "REQ-123"
|
|
84
|
-
title: "功能标题"
|
|
85
|
-
created_at: "2026-03-13T10:00:00Z"
|
|
86
|
-
updated_at: "2026-03-13T10:00:00Z"
|
|
87
|
-
version: "1.0.0"
|
|
88
|
-
status: "draft"
|
|
89
|
-
source: "openspec"
|
|
90
|
-
---
|
|
91
|
-
|
|
92
|
-
# Module Name
|
|
93
|
-
|
|
94
|
-
## Purpose
|
|
95
|
-
[Preserved from OpenSpec]
|
|
96
|
-
|
|
97
|
-
## Requirements
|
|
98
|
-
[Preserved from OpenSpec with BDD scenarios]
|
|
99
|
-
|
|
100
|
-
## Design
|
|
101
|
-
[NEEDS CLARIFICATION: 技术实现方案]
|
|
102
|
-
|
|
103
|
-
## Tasks
|
|
104
|
-
- [ ] T001 [TEST] Feature Name - 测试
|
|
105
|
-
- [ ] T002 [IMPL] Feature Name - 实现 (dependsOn:T001)
|
|
106
|
-
|
|
107
|
-
## Verification
|
|
108
|
-
- [ ] Feature Name
|
|
109
|
-
- [ ] Scenario 1
|
|
110
|
-
- [ ] Scenario 2
|
|
111
|
-
```
|
|
112
|
-
|
|
113
|
-
## Auto-Generated TDD Tasks
|
|
114
|
-
|
|
115
|
-
For each Requirement in OpenSpec:
|
|
116
|
-
1. **TEST task** (T001, T003, T005...)
|
|
117
|
-
2. **IMPL task** (T002, T004, T006...) with `dependsOn` to TEST
|
|
118
|
-
|
|
119
|
-
This ensures Constitution Article VI compliance (Test-First Development).
|
|
120
|
-
|
|
121
|
-
## Error Handling
|
|
122
|
-
|
|
123
|
-
```bash
|
|
124
|
-
# OpenSpec 文件不存在
|
|
125
|
-
Error: OpenSpec file not found: /path/to/spec.md
|
|
126
|
-
|
|
127
|
-
# REQ-ID 格式错误
|
|
128
|
-
Error: Invalid REQ-ID format. Expected: REQ-\d+
|
|
129
|
-
|
|
130
|
-
# REQ-ID 已存在
|
|
131
|
-
Error: REQ-123 already exists in devflow/requirements/
|
|
132
|
-
```
|
|
133
|
-
|
|
134
|
-
## Output
|
|
135
|
-
|
|
136
|
-
```json
|
|
137
|
-
{
|
|
138
|
-
"success": true,
|
|
139
|
-
"outputPath": "devflow/requirements/REQ-123/spec.md",
|
|
140
|
-
"requirementsCount": 3,
|
|
141
|
-
"tasksCount": 6
|
|
142
|
-
}
|
|
143
|
-
```
|
|
144
|
-
|
|
145
|
-
## Implementation
|
|
146
|
-
|
|
147
|
-
```bash
|
|
148
|
-
node .claude/scripts/import-openspec.js \
|
|
149
|
-
"<openspec-path>" \
|
|
150
|
-
"<req-id>" \
|
|
151
|
-
"<title>" \
|
|
152
|
-
"devflow/requirements/<req-id>/spec.md"
|
|
153
|
-
```
|
|
154
|
-
|
|
155
|
-
## Next Steps
|
|
156
|
-
|
|
157
|
-
After import:
|
|
158
|
-
1. Review generated spec.md
|
|
159
|
-
2. Fill in `[NEEDS CLARIFICATION]` sections in Design
|
|
160
|
-
3. Run `/flow:spec "REQ-123"` to generate task-manifest.json
|
|
161
|
-
4. Proceed with `/flow:dev "REQ-123"`
|
|
162
|
-
|
|
163
|
-
## Related Commands
|
|
164
|
-
|
|
165
|
-
- `/flow:export-openspec` - Export CC-DevFlow spec to OpenSpec format
|
|
166
|
-
- `/flow:spec` - Generate task-manifest from spec.md
|
|
167
|
-
- `/flow:init` - Initialize new requirement (alternative to import)
|
|
168
|
-
|
|
169
|
-
---
|
|
170
|
-
|
|
171
|
-
**[PROTOCOL]**: 变更时更新此头部,然后检查 CLAUDE.md
|