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
|
@@ -1,161 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: flow-brainstorming
|
|
3
|
-
description: "在 /flow-init 阶段强制触发,用于捕捉需求的原始意图、探索方案、记录决策。确保后续流程有明确的北极星可追溯。"
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Flow Brainstorming - 需求头脑风暴
|
|
7
|
-
|
|
8
|
-
## Overview
|
|
9
|
-
|
|
10
|
-
将用户的模糊想法转化为清晰的设计规格,通过自然对话捕捉原始意图。
|
|
11
|
-
|
|
12
|
-
**核心原则**:需求的原始意图是整个开发流程的「北极星」,后续每个阶段都应能追溯并验证是否偏离。
|
|
13
|
-
|
|
14
|
-
## The Iron Law
|
|
15
|
-
|
|
16
|
-
```
|
|
17
|
-
NO FLOW EXECUTION WITHOUT BRAINSTORM ALIGNMENT
|
|
18
|
-
```
|
|
19
|
-
|
|
20
|
-
每个后续 flow-* 阶段开始前,必须确认与 BRAINSTORM.md 一致。
|
|
21
|
-
|
|
22
|
-
## The Process
|
|
23
|
-
|
|
24
|
-
### Phase 1: Understanding the Idea
|
|
25
|
-
|
|
26
|
-
**一次问一个问题**,不要用多个问题压垮用户:
|
|
27
|
-
|
|
28
|
-
1. 检查项目现状(文件、文档、最近提交)
|
|
29
|
-
2. 问问题来细化想法:
|
|
30
|
-
- 优先多选题(更容易回答)
|
|
31
|
-
- 一个消息只问一个问题
|
|
32
|
-
- 如果话题需要更多探索,分成多个问题
|
|
33
|
-
3. 聚焦理解:**目的、约束、成功标准**
|
|
34
|
-
|
|
35
|
-
**问题示例**:
|
|
36
|
-
```
|
|
37
|
-
这个需求主要解决什么问题?
|
|
38
|
-
A) 新增功能
|
|
39
|
-
B) 修复现有问题
|
|
40
|
-
C) 性能优化
|
|
41
|
-
D) 重构/技术债
|
|
42
|
-
```
|
|
43
|
-
|
|
44
|
-
### Phase 2: Exploring Approaches
|
|
45
|
-
|
|
46
|
-
- 提出 2-3 种不同方案,说明取舍
|
|
47
|
-
- 给出你的推荐方案及理由
|
|
48
|
-
- 让用户做决策
|
|
49
|
-
|
|
50
|
-
**方案呈现格式**:
|
|
51
|
-
```markdown
|
|
52
|
-
### 方案 A: {名称} ⭐ 推荐
|
|
53
|
-
|
|
54
|
-
**描述**: ...
|
|
55
|
-
**优势**: ...
|
|
56
|
-
**劣势**: ...
|
|
57
|
-
**适用场景**: ...
|
|
58
|
-
|
|
59
|
-
### 方案 B: {名称}
|
|
60
|
-
...
|
|
61
|
-
```
|
|
62
|
-
|
|
63
|
-
### Phase 3: Presenting the Design
|
|
64
|
-
|
|
65
|
-
一旦理解了要构建什么:
|
|
66
|
-
|
|
67
|
-
1. 分段呈现设计(每段 200-300 字)
|
|
68
|
-
2. 每段后询问是否正确
|
|
69
|
-
3. 涵盖:架构、组件、数据流、错误处理、测试
|
|
70
|
-
4. 准备好返回澄清
|
|
71
|
-
|
|
72
|
-
### Phase 4: Documentation
|
|
73
|
-
|
|
74
|
-
将验证过的设计写入 BRAINSTORM.md:
|
|
75
|
-
|
|
76
|
-
```
|
|
77
|
-
devflow/requirements/${REQ}/BRAINSTORM.md
|
|
78
|
-
```
|
|
79
|
-
|
|
80
|
-
**必须包含**:
|
|
81
|
-
- 原始需求(用户原话,一字不改)
|
|
82
|
-
- 核心问题定义
|
|
83
|
-
- 成功标准
|
|
84
|
-
- 约束条件
|
|
85
|
-
- 方案探索(2-3种)
|
|
86
|
-
- 最终决策及理由
|
|
87
|
-
|
|
88
|
-
## Key Principles
|
|
89
|
-
|
|
90
|
-
| 原则 | 说明 |
|
|
91
|
-
|------|------|
|
|
92
|
-
| **一次一个问题** | 不要用多个问题压垮用户 |
|
|
93
|
-
| **多选题优先** | 比开放问题更容易回答 |
|
|
94
|
-
| **YAGNI 无情** | 从所有设计中移除不必要的功能 |
|
|
95
|
-
| **探索替代方案** | 在确定前总是提出 2-3 种方案 |
|
|
96
|
-
| **增量验证** | 分段呈现设计,验证每段 |
|
|
97
|
-
| **灵活应变** | 有不明白的地方就返回澄清 |
|
|
98
|
-
|
|
99
|
-
## Rationalization Prevention
|
|
100
|
-
|
|
101
|
-
| Excuse | Reality |
|
|
102
|
-
|--------|---------|
|
|
103
|
-
| "需求已经很清楚了" | Brainstorm 确保没有遗漏假设 |
|
|
104
|
-
| "用户赶时间,跳过吧" | 头脑风暴节省的是后续返工时间 |
|
|
105
|
-
| "这是小需求" | 小需求也有核心问题和成功标准 |
|
|
106
|
-
| "方案很明显" | 明显的选择也需要记录理由 |
|
|
107
|
-
| "已经讨论过了" | 口头讨论不是文档,没有追溯性 |
|
|
108
|
-
| "先做再说" | 先想清楚再做,节省 3 倍时间 |
|
|
109
|
-
|
|
110
|
-
## Red Flags - STOP
|
|
111
|
-
|
|
112
|
-
如果你发现自己:
|
|
113
|
-
- 跳过问问题直接开始做
|
|
114
|
-
- 用户说"我知道要什么"就不问了
|
|
115
|
-
- 没有记录方案取舍就选定
|
|
116
|
-
- 没有写 BRAINSTORM.md 就进入下一阶段
|
|
117
|
-
|
|
118
|
-
**STOP。返回正确流程。**
|
|
119
|
-
|
|
120
|
-
## Integration with CC-DevFlow
|
|
121
|
-
|
|
122
|
-
### flow-init 阶段
|
|
123
|
-
|
|
124
|
-
```yaml
|
|
125
|
-
Entry Gate:
|
|
126
|
-
- 解析 REQ-ID 和标题
|
|
127
|
-
- 触发 flow-brainstorming skill
|
|
128
|
-
|
|
129
|
-
Brainstorm Phase:
|
|
130
|
-
1. 问问题理解需求(一次一个)
|
|
131
|
-
2. 探索 2-3 种方案
|
|
132
|
-
3. 确认最终方案
|
|
133
|
-
4. 输出 BRAINSTORM.md
|
|
134
|
-
|
|
135
|
-
Exit Gate:
|
|
136
|
-
- 验证 BRAINSTORM.md 存在
|
|
137
|
-
- 验证包含必要章节
|
|
138
|
-
```
|
|
139
|
-
|
|
140
|
-
### 后续 flow-* 阶段
|
|
141
|
-
|
|
142
|
-
```yaml
|
|
143
|
-
Entry Gate 添加:
|
|
144
|
-
step: Brainstorm Alignment Check
|
|
145
|
-
- read: devflow/requirements/${REQ}/BRAINSTORM.md
|
|
146
|
-
- verify:
|
|
147
|
-
- 原始问题是否仍然是解决目标?
|
|
148
|
-
- 选定方案是否仍然适用?
|
|
149
|
-
- 约束条件是否发生变化?
|
|
150
|
-
- if 发现偏离:
|
|
151
|
-
- ask_user: "发现与原始意图偏离,是否更新 BRAINSTORM.md?"
|
|
152
|
-
- action: 记录偏离原因,更新文档
|
|
153
|
-
```
|
|
154
|
-
|
|
155
|
-
## Output Template
|
|
156
|
-
|
|
157
|
-
参见 `.claude/docs/templates/BRAINSTORM_TEMPLATE.md`
|
|
158
|
-
|
|
159
|
-
---
|
|
160
|
-
|
|
161
|
-
**[PROTOCOL]**: 变更时更新此头部,然后检查 CLAUDE.md
|
|
@@ -1,169 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: cc-devflow-orchestrator
|
|
3
|
-
description: CC-DevFlow workflow router and agent recommender. Use when starting requirements, running flow commands, or asking about devflow processes.
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# CC-DevFlow Orchestrator
|
|
7
|
-
|
|
8
|
-
## Purpose
|
|
9
|
-
Guide users to the correct command/skill without duplicating detailed implementation standards.
|
|
10
|
-
|
|
11
|
-
## Workflow Map
|
|
12
|
-
|
|
13
|
-
### Project-Level (run once per project)
|
|
14
|
-
|
|
15
|
-
```text
|
|
16
|
-
/core:roadmap → ROADMAP.md + BACKLOG.md
|
|
17
|
-
/core:architecture → ARCHITECTURE.md
|
|
18
|
-
/core:guidelines → frontend/backend guidelines
|
|
19
|
-
/core:style → STYLE.md
|
|
20
|
-
```
|
|
21
|
-
|
|
22
|
-
## Project-Level Harness Protocol (Long-running)
|
|
23
|
-
|
|
24
|
-
For `/core:*` commands, enforce a two-session model before declaring completion:
|
|
25
|
-
|
|
26
|
-
1. Initializer session
|
|
27
|
-
- establish/update `devflow/.core-harness/<command>/checklist.json`, `progress.md`, `session-handoff.md`
|
|
28
|
-
- convert high-level goal into structured acceptance checks (default all failing)
|
|
29
|
-
2. Worker session(s)
|
|
30
|
-
- resume from `session-handoff.md` + `progress.md`
|
|
31
|
-
- execute one smallest deliverable per session
|
|
32
|
-
- update checklist status only after command-specific validation
|
|
33
|
-
3. Completion gate
|
|
34
|
-
- completion is allowed only when checklist is fully passing and command validation gates pass
|
|
35
|
-
- never declare success from “looks complete”; require artifact evidence
|
|
36
|
-
|
|
37
|
-
### Core Route Defaults
|
|
38
|
-
|
|
39
|
-
- no `devflow/ROADMAP.md` → route to `/core:roadmap` (initializer first)
|
|
40
|
-
- roadmap exists but architecture missing/stale → route to `/core:architecture`
|
|
41
|
-
- architecture exists but guidelines missing/stale → route to `/core:guidelines`
|
|
42
|
-
- style missing/stale → route to `/core:style`
|
|
43
|
-
- interrupted core command → rerun same command from handoff (`/core:roadmap --resume` if supported; otherwise run command again and continue from `session-handoff.md`)
|
|
44
|
-
|
|
45
|
-
### Requirement-Level Canonical Mainline (v6)
|
|
46
|
-
|
|
47
|
-
```text
|
|
48
|
-
/flow:init → harness:init + harness:pack
|
|
49
|
-
→ context-package.md + harness-state.json
|
|
50
|
-
↓
|
|
51
|
-
/flow:spec → harness:plan
|
|
52
|
-
→ task-manifest.json
|
|
53
|
-
↓
|
|
54
|
-
/flow:dev → harness:dispatch / harness:resume
|
|
55
|
-
→ runtime events + checkpoints + manifest status
|
|
56
|
-
↓
|
|
57
|
-
/flow:verify → harness:verify
|
|
58
|
-
→ report-card.json (quick/strict gates)
|
|
59
|
-
↓
|
|
60
|
-
/flow:release → harness:release + harness:janitor
|
|
61
|
-
→ RELEASE_NOTE.md + released state
|
|
62
|
-
```
|
|
63
|
-
|
|
64
|
-
### Bug Workflow
|
|
65
|
-
|
|
66
|
-
```text
|
|
67
|
-
/flow:fix "BUG-123|描述" → 系统化调试与修复
|
|
68
|
-
```
|
|
69
|
-
|
|
70
|
-
### Deprecated Migrations (keep for compatibility)
|
|
71
|
-
|
|
72
|
-
```text
|
|
73
|
-
/flow:new → /flow:init → /flow:spec → /flow:dev → /flow:verify → /flow:release
|
|
74
|
-
/flow:clarify → merged into /flow:spec
|
|
75
|
-
/flow:checklist → merged into /flow:verify --strict
|
|
76
|
-
/flow:quality → merged into /flow:verify
|
|
77
|
-
```
|
|
78
|
-
|
|
79
|
-
## Routing Guide
|
|
80
|
-
|
|
81
|
-
### Requirement kickoff
|
|
82
|
-
- Recommend: `/flow:init "REQ-123|Title|URLs?"`
|
|
83
|
-
- Then: `/flow:spec "REQ-123"`
|
|
84
|
-
|
|
85
|
-
### Planning/specification questions
|
|
86
|
-
- Recommend: `/flow:spec`
|
|
87
|
-
- Notes: this is the unified planning stage for executable task-manifest generation.
|
|
88
|
-
|
|
89
|
-
### Development execution / interrupted execution
|
|
90
|
-
- Recommend: `/flow:dev "REQ-123"`
|
|
91
|
-
- If interrupted/failed: `/flow:dev "REQ-123" --resume`
|
|
92
|
-
|
|
93
|
-
### QA/security/release readiness
|
|
94
|
-
- Recommend: `/flow:verify "REQ-123"`
|
|
95
|
-
- Strict gate: `/flow:verify "REQ-123" --strict`
|
|
96
|
-
|
|
97
|
-
### Release
|
|
98
|
-
- Recommend: `/flow:release "REQ-123"`
|
|
99
|
-
- Release is blocked when report-card overall is fail.
|
|
100
|
-
|
|
101
|
-
### Code review requests
|
|
102
|
-
- Recommend: `/flow:verify "REQ-123" --strict`
|
|
103
|
-
- Optional deep review: `/util:code-review "<diff>"`
|
|
104
|
-
|
|
105
|
-
## Phase Gates (Quick Reference)
|
|
106
|
-
|
|
107
|
-
### Entry Gates
|
|
108
|
-
- `flow:init`: repository and requirement id are valid.
|
|
109
|
-
- `flow:spec`: `context-package.md` and `harness-state.json` exist.
|
|
110
|
-
- `flow:dev`: `task-manifest.json` exists and is schema-valid.
|
|
111
|
-
- `flow:verify`: task dispatch completed or at least one dispatch/resume run exists.
|
|
112
|
-
- `flow:release`: `report-card.json.overall == pass`.
|
|
113
|
-
|
|
114
|
-
### Exit Gates
|
|
115
|
-
- `flow:init`: requirement context packaged.
|
|
116
|
-
- `flow:spec`: task-manifest generated.
|
|
117
|
-
- `flow:dev`: task statuses updated with runtime checkpoints/events.
|
|
118
|
-
- `flow:verify`: report-card emitted (quick/strict/review sections).
|
|
119
|
-
- `flow:release`: release note generated and harness state marked released.
|
|
120
|
-
|
|
121
|
-
## State → Recommended Command
|
|
122
|
-
|
|
123
|
-
```yaml
|
|
124
|
-
no_requirement_context:
|
|
125
|
-
recommend: /flow:init
|
|
126
|
-
|
|
127
|
-
initialized_or_context_packed:
|
|
128
|
-
recommend: /flow:spec
|
|
129
|
-
|
|
130
|
-
manifest_exists_with_pending_or_failed:
|
|
131
|
-
recommend: /flow:dev
|
|
132
|
-
alternative: /flow:dev --resume
|
|
133
|
-
|
|
134
|
-
manifest_all_passed_without_report_card:
|
|
135
|
-
recommend: /flow:verify --strict
|
|
136
|
-
|
|
137
|
-
report_card_fail:
|
|
138
|
-
recommend: /flow:dev --resume
|
|
139
|
-
then: /flow:verify --strict
|
|
140
|
-
|
|
141
|
-
report_card_pass:
|
|
142
|
-
recommend: /flow:release
|
|
143
|
-
|
|
144
|
-
released:
|
|
145
|
-
recommend: /flow:archive (optional)
|
|
146
|
-
```
|
|
147
|
-
|
|
148
|
-
## Auxiliary Commands
|
|
149
|
-
|
|
150
|
-
### Progress and recovery
|
|
151
|
-
- `/flow:status` - query requirement progress
|
|
152
|
-
- `/flow:update "REQ-123" "T012"` - update task progress
|
|
153
|
-
- `/flow:restart "REQ-123" --from=dev` - recover interrupted workflow state
|
|
154
|
-
|
|
155
|
-
### Upgrade and governance
|
|
156
|
-
- `/flow:upgrade "REQ-123" --analyze` - PRD version impact analysis
|
|
157
|
-
- `/flow:constitution` - constitution governance
|
|
158
|
-
- `/flow:verify "REQ-123"` - consistency and quality verification
|
|
159
|
-
|
|
160
|
-
## Design Principle
|
|
161
|
-
|
|
162
|
-
This skill only does routing:
|
|
163
|
-
- Which command to run next
|
|
164
|
-
- Which gate blocks progress
|
|
165
|
-
- Which migration path applies for deprecated commands
|
|
166
|
-
- Prefer incremental convergence over one-shot generation
|
|
167
|
-
- Require artifact-backed completion for long-running sessions
|
|
168
|
-
|
|
169
|
-
Detailed quality standards stay in command files and workflow skills.
|
|
@@ -1,306 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: constitution-guardian
|
|
3
|
-
description: Real-time Constitution compliance checker for devflow documents. Blocks partial implementations and hardcoded secrets during file editing.
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Constitution Guardian
|
|
7
|
-
|
|
8
|
-
## Purpose
|
|
9
|
-
Enforce CC-DevFlow Constitution compliance by detecting violations in real-time during document editing, preventing non-compliant content from being saved.
|
|
10
|
-
|
|
11
|
-
**Trigger**: PreToolUse hook when editing devflow documents (PRD.md, EPIC.md, TASKS.md, TECH_DESIGN.md)
|
|
12
|
-
|
|
13
|
-
## Enforcement Scope
|
|
14
|
-
|
|
15
|
-
**Focus Articles** (Real-time prevention):
|
|
16
|
-
- **Article I.1**: Quality First - No Partial Implementation
|
|
17
|
-
- **Article III.1**: Security First - No Hardcoded Secrets
|
|
18
|
-
|
|
19
|
-
**Note**: Full Constitution has 10 Articles. This guardrail focuses on the most critical real-time violations. Batch validation by `validate-constitution.sh` covers all Articles.
|
|
20
|
-
|
|
21
|
-
## Violation Patterns
|
|
22
|
-
|
|
23
|
-
### Article I.1: No Partial Implementation
|
|
24
|
-
|
|
25
|
-
#### Pattern 1: TODO placeholders
|
|
26
|
-
```markdown
|
|
27
|
-
# ❌ BLOCKED
|
|
28
|
-
## User Stories
|
|
29
|
-
### US1: User Registration
|
|
30
|
-
TODO later: Add email verification flow
|
|
31
|
-
FIXME: Implement password strength validation
|
|
32
|
-
```
|
|
33
|
-
|
|
34
|
-
**Regex Patterns**:
|
|
35
|
-
- `TODO.*later`
|
|
36
|
-
- `FIXME`
|
|
37
|
-
- `\[placeholder\]`
|
|
38
|
-
- `// TODO:.*later`
|
|
39
|
-
- `# FIXME:.*`
|
|
40
|
-
|
|
41
|
-
#### Pattern 2: Simplified/Partial notes
|
|
42
|
-
```markdown
|
|
43
|
-
# ❌ BLOCKED
|
|
44
|
-
## Implementation Notes
|
|
45
|
-
This is simplified for now, complete implementation would require...
|
|
46
|
-
```
|
|
47
|
-
|
|
48
|
-
**Regex Pattern**: `simplified for now`
|
|
49
|
-
|
|
50
|
-
#### Pattern 3: Version deferral
|
|
51
|
-
```markdown
|
|
52
|
-
# ❌ BLOCKED
|
|
53
|
-
## Acceptance Criteria
|
|
54
|
-
- [ ] Basic login (v1)
|
|
55
|
-
- [ ] Remember me (defer to v2)
|
|
56
|
-
```
|
|
57
|
-
|
|
58
|
-
**Regex Pattern**: `defer to v\d|will complete in v\d`
|
|
59
|
-
|
|
60
|
-
### Article III.1: No Hardcoded Secrets
|
|
61
|
-
|
|
62
|
-
#### Pattern 1: Environment variables with secrets
|
|
63
|
-
```markdown
|
|
64
|
-
# ❌ BLOCKED
|
|
65
|
-
## Configuration
|
|
66
|
-
API_KEY=sk-abc123def456
|
|
67
|
-
JWT_SECRET=mysecretkey123
|
|
68
|
-
PASSWORD=admin123
|
|
69
|
-
```
|
|
70
|
-
|
|
71
|
-
**Regex Patterns**:
|
|
72
|
-
- `API_KEY\s*=\s*['"]?[a-zA-Z0-9_-]{10,}`
|
|
73
|
-
- `SECRET\s*=\s*['"]?[a-zA-Z0-9_-]+`
|
|
74
|
-
- `PASSWORD\s*=\s*['"]?[^\s]+`
|
|
75
|
-
- `TOKEN\s*=\s*['"]?[a-zA-Z0-9_-]{10,}`
|
|
76
|
-
|
|
77
|
-
#### Pattern 2: Code snippets with hardcoded secrets
|
|
78
|
-
```typescript
|
|
79
|
-
// ❌ BLOCKED
|
|
80
|
-
const config = {
|
|
81
|
-
apiKey: "sk-abc123def456",
|
|
82
|
-
dbPassword: "postgres123"
|
|
83
|
-
};
|
|
84
|
-
```
|
|
85
|
-
|
|
86
|
-
**Regex Patterns**:
|
|
87
|
-
- `apiKey:\s*['"][^'"]+['"]`
|
|
88
|
-
- `password:\s*['"][^'"]+['"]`
|
|
89
|
-
- `secret:\s*['"][^'"]+['"]`
|
|
90
|
-
|
|
91
|
-
## Blocking Message
|
|
92
|
-
|
|
93
|
-
When violation detected, PreToolUse hook returns **exit code 2** (blocks file save):
|
|
94
|
-
|
|
95
|
-
```
|
|
96
|
-
⚠️ BLOCKED - Constitution Violation
|
|
97
|
-
|
|
98
|
-
Detected:
|
|
99
|
-
- [Line 42] TODO placeholder (Article I.1 - No Partial Implementation)
|
|
100
|
-
- [Line 58] Hardcoded API key (Article III.1 - No Hardcoded Secrets)
|
|
101
|
-
|
|
102
|
-
📋 ACTION:
|
|
103
|
-
1. Complete all TODOs/FIXMEs before saving
|
|
104
|
-
2. Move secrets to environment variables (.env, not committed)
|
|
105
|
-
3. Review `.claude/rules/project-constitution.md` v2.0.0
|
|
106
|
-
4. Run /flow-verify for comprehensive check
|
|
107
|
-
|
|
108
|
-
Source: Constitution Articles I.1, III.1
|
|
109
|
-
File: {file_path}
|
|
110
|
-
|
|
111
|
-
Constitutional Basis:
|
|
112
|
-
Article I.1: "NO PARTIAL IMPLEMENTATION: Complete implementation or no implementation"
|
|
113
|
-
Article III.1: "NO HARDCODED SECRETS: Use environment variables or secret management"
|
|
114
|
-
|
|
115
|
-
💡 SKIP: Add `@constitution-verified` comment or set SKIP_CONSTITUTION_CHECK=1
|
|
116
|
-
```
|
|
117
|
-
|
|
118
|
-
## Constitutional Basis
|
|
119
|
-
|
|
120
|
-
### Article I: Quality First
|
|
121
|
-
|
|
122
|
-
```yaml
|
|
123
|
-
I.1 Complete Implementation Mandate:
|
|
124
|
-
Prohibition: Any form of partial implementation or placeholder code
|
|
125
|
-
Requirement: Complete implementation or no implementation
|
|
126
|
-
Examples:
|
|
127
|
-
❌ Forbidden: "// TODO: Implement this later"
|
|
128
|
-
❌ Forbidden: "// Simplified for now, will complete in v2"
|
|
129
|
-
✅ Required: Fully functional, production-ready code
|
|
130
|
-
```
|
|
131
|
-
|
|
132
|
-
**Enforcement**:
|
|
133
|
-
- **Generation time**: prd-writer, tech-architect, planner agents check output
|
|
134
|
-
- **Edit time**: constitution-guardian guardrail blocks save (this skill)
|
|
135
|
-
- **Phase completion**: validate-constitution.sh batch validation
|
|
136
|
-
|
|
137
|
-
### Article III: Security First
|
|
138
|
-
|
|
139
|
-
```yaml
|
|
140
|
-
III.1 No Hardcoded Secrets:
|
|
141
|
-
Prohibited:
|
|
142
|
-
❌ API_KEY = "sk-abc123..." in source code
|
|
143
|
-
❌ PASSWORD = "admin123" in config files
|
|
144
|
-
❌ JWT_SECRET embedded in code
|
|
145
|
-
|
|
146
|
-
Required:
|
|
147
|
-
✅ Environment variables (.env files, not committed)
|
|
148
|
-
✅ Secret management services (AWS Secrets Manager, etc.)
|
|
149
|
-
✅ Configuration injection at runtime
|
|
150
|
-
|
|
151
|
-
Detection: Pre-push guard scans for secret patterns
|
|
152
|
-
```
|
|
153
|
-
|
|
154
|
-
**Enforcement**:
|
|
155
|
-
- **Generation time**: All agents avoid secrets in generated docs
|
|
156
|
-
- **Edit time**: constitution-guardian guardrail blocks save (this skill)
|
|
157
|
-
- **Pre-push**: Git pre-push hook scans for secrets
|
|
158
|
-
|
|
159
|
-
## Skip Conditions
|
|
160
|
-
|
|
161
|
-
Users can bypass Constitution guardian in specific scenarios:
|
|
162
|
-
|
|
163
|
-
### 1. Session Skip (One-time per session)
|
|
164
|
-
- **Mechanism**: `sessionSkillUsed: true` in skill-rules.json
|
|
165
|
-
- **Behavior**: Guardrail only triggers once per Claude session
|
|
166
|
-
- **Use case**: User acknowledged violation, working on fix
|
|
167
|
-
|
|
168
|
-
### 2. File Marker (Permanent skip for specific file)
|
|
169
|
-
- **Marker**: Add `@constitution-verified` comment in document
|
|
170
|
-
- **Example**:
|
|
171
|
-
```markdown
|
|
172
|
-
<!-- @constitution-verified: Legacy doc migration, compliance review completed -->
|
|
173
|
-
```
|
|
174
|
-
- **Use case**: Legacy documentation, special cases
|
|
175
|
-
|
|
176
|
-
### 3. Environment Variable (Temporary global skip)
|
|
177
|
-
- **Variable**: `SKIP_CONSTITUTION_CHECK=1`
|
|
178
|
-
- **Scope**: Current terminal session
|
|
179
|
-
- **Use case**: Bulk imports, automated migrations
|
|
180
|
-
|
|
181
|
-
## Relationship with Other Components
|
|
182
|
-
|
|
183
|
-
### validate-constitution.sh (Script)
|
|
184
|
-
- **Purpose**: Batch validation of all 10 Constitutional Articles
|
|
185
|
-
- **Scope**: Complete document/codebase scan
|
|
186
|
-
- **Timing**: Phase completion (e.g., /flow-prd Exit Gate)
|
|
187
|
-
- **Articles**: I, II, III, IV, V, VI, VII, VIII, IX, X
|
|
188
|
-
|
|
189
|
-
### constitution-guardian (Guardrail)
|
|
190
|
-
- **Purpose**: Real-time prevention of critical violations
|
|
191
|
-
- **Scope**: Single document being edited
|
|
192
|
-
- **Timing**: During file editing (PreToolUse hook)
|
|
193
|
-
- **Articles**: Focus on I.1, III.1 (most critical for documents)
|
|
194
|
-
|
|
195
|
-
**Relationship**: **Complementary (互补)**
|
|
196
|
-
- Guardrail: Real-time prevention (write-time, partial Articles)
|
|
197
|
-
- Script: Batch validation (phase-time, all Articles)
|
|
198
|
-
- Double insurance: Guardrail catches most issues, Script catches remaining
|
|
199
|
-
|
|
200
|
-
### Constitution Document
|
|
201
|
-
- **Source of Truth**: `.claude/rules/project-constitution.md` v2.0.0
|
|
202
|
-
- **Contains**: All 10 Articles with detailed rules
|
|
203
|
-
- **This guardrail**: Extracts Articles I.1, III.1 prohibition rules only
|
|
204
|
-
|
|
205
|
-
## Configuration
|
|
206
|
-
|
|
207
|
-
In `.claude/skills/skill-rules.json`:
|
|
208
|
-
|
|
209
|
-
```json
|
|
210
|
-
{
|
|
211
|
-
"constitution-guardian": {
|
|
212
|
-
"type": "guardrail",
|
|
213
|
-
"enforcement": "block",
|
|
214
|
-
"priority": "critical",
|
|
215
|
-
"description": "Real-time Constitution compliance, extracted from Constitution v2.0.0",
|
|
216
|
-
"fileTriggers": {
|
|
217
|
-
"pathPatterns": [
|
|
218
|
-
"devflow/requirements/**/PRD.md",
|
|
219
|
-
"devflow/requirements/**/EPIC.md",
|
|
220
|
-
"devflow/requirements/**/TASKS.md",
|
|
221
|
-
"devflow/requirements/**/TECH_DESIGN.md",
|
|
222
|
-
"devflow/requirements/**/contracts/**/*.yaml",
|
|
223
|
-
"devflow/requirements/**/data-model.md"
|
|
224
|
-
],
|
|
225
|
-
"contentPatterns": [
|
|
226
|
-
"TODO.*later",
|
|
227
|
-
"FIXME",
|
|
228
|
-
"\\[placeholder\\]",
|
|
229
|
-
"simplified for now",
|
|
230
|
-
"defer to v\\d",
|
|
231
|
-
"API_KEY\\s*=\\s*['\"]?[a-zA-Z0-9_-]{10,}",
|
|
232
|
-
"SECRET\\s*=\\s*['\"]?[a-zA-Z0-9_-]+",
|
|
233
|
-
"PASSWORD\\s*=\\s*['\"]?[^\\s]+",
|
|
234
|
-
"TOKEN\\s*=\\s*['\"]?[a-zA-Z0-9_-]{10,}",
|
|
235
|
-
"apiKey:\\s*['\"][^'\"]+['\"]",
|
|
236
|
-
"password:\\s*['\"][^'\"]+['\"]"
|
|
237
|
-
]
|
|
238
|
-
},
|
|
239
|
-
"blockMessage": "⚠️ BLOCKED - Constitution Violation\n\nDetected:\n- Partial implementation (Article I.1)\n- Hardcoded secrets (Article III.1)\n\n📋 ACTION:\n1. Complete all TODOs/FIXMEs\n2. Move secrets to config system\n3. Run /flow-verify\n\nSource: .claude/rules/project-constitution.md v2.0.0",
|
|
240
|
-
"skipConditions": {
|
|
241
|
-
"sessionSkillUsed": true,
|
|
242
|
-
"fileMarkers": ["@constitution-verified"],
|
|
243
|
-
"envOverride": "SKIP_CONSTITUTION_CHECK"
|
|
244
|
-
}
|
|
245
|
-
}
|
|
246
|
-
}
|
|
247
|
-
```
|
|
248
|
-
|
|
249
|
-
## Line Number Reporting (Enhancement)
|
|
250
|
-
|
|
251
|
-
**Goal**: Precise violation location reporting
|
|
252
|
-
|
|
253
|
-
**Implementation** (in PreToolUse hook):
|
|
254
|
-
```typescript
|
|
255
|
-
function detectViolations(content: string, patterns: string[]) {
|
|
256
|
-
const lines = content.split('\n');
|
|
257
|
-
const violations: Array<{line: number, pattern: string, text: string}> = [];
|
|
258
|
-
|
|
259
|
-
lines.forEach((line, index) => {
|
|
260
|
-
patterns.forEach(pattern => {
|
|
261
|
-
if (new RegExp(pattern, 'i').test(line)) {
|
|
262
|
-
violations.push({
|
|
263
|
-
line: index + 1,
|
|
264
|
-
pattern: pattern,
|
|
265
|
-
text: line.trim()
|
|
266
|
-
});
|
|
267
|
-
}
|
|
268
|
-
});
|
|
269
|
-
});
|
|
270
|
-
|
|
271
|
-
return violations;
|
|
272
|
-
}
|
|
273
|
-
```
|
|
274
|
-
|
|
275
|
-
**Enhanced Blocking Message**:
|
|
276
|
-
```
|
|
277
|
-
⚠️ BLOCKED - Constitution Violation
|
|
278
|
-
|
|
279
|
-
Detected 3 violations:
|
|
280
|
-
[Line 42] TODO placeholder (Article I.1)
|
|
281
|
-
→ "TODO later: Add email verification"
|
|
282
|
-
|
|
283
|
-
[Line 58] Hardcoded API key (Article III.1)
|
|
284
|
-
→ "API_KEY=sk-abc123def456"
|
|
285
|
-
|
|
286
|
-
[Line 73] FIXME comment (Article I.1)
|
|
287
|
-
→ "FIXME: Complete error handling"
|
|
288
|
-
|
|
289
|
-
📋 ACTION: ...
|
|
290
|
-
```
|
|
291
|
-
|
|
292
|
-
## Design Principle
|
|
293
|
-
|
|
294
|
-
**This guardrail does NOT contain**:
|
|
295
|
-
- ❌ Complete Constitution (all 10 Articles are in project-constitution.md)
|
|
296
|
-
- ❌ All violation patterns (only Articles I.1, III.1)
|
|
297
|
-
- ❌ Batch validation logic (that's in validate-constitution.sh)
|
|
298
|
-
|
|
299
|
-
**This guardrail ONLY contains**:
|
|
300
|
-
- ✅ Articles I.1, III.1 prohibition rule extraction
|
|
301
|
-
- ✅ Real-time violation detection (content pattern matching)
|
|
302
|
-
- ✅ Blocking mechanism (PreToolUse hook, exit code 2)
|
|
303
|
-
- ✅ Precise line number reporting
|
|
304
|
-
- ✅ Links to full Constitution document
|
|
305
|
-
|
|
306
|
-
**Rationale**: Avoid duplication ("不重不漏" principle). Constitution document owns full text, guardrail owns real-time enforcement of critical rules.
|