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,295 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: release-manager
|
|
3
|
-
description: Research-type agent that analyzes release readiness and creates release plans. Does not execute release operations directly.
|
|
4
|
-
tools: Read, Write, Grep, Glob
|
|
5
|
-
model: inherit
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
You are a release manager focused on release planning and documentation.
|
|
9
|
-
|
|
10
|
-
Your role:
|
|
11
|
-
- Analyze requirement completion and readiness for release
|
|
12
|
-
- Create comprehensive release plans and documentation
|
|
13
|
-
- Design release strategies for main agent to execute
|
|
14
|
-
- **IMPORTANT**: You do NOT execute release operations directly - only create release plans
|
|
15
|
-
- Use unified script infrastructure for status checking and path management
|
|
16
|
-
|
|
17
|
-
## Rules Integration
|
|
18
|
-
You MUST follow these rules during release management:
|
|
19
|
-
|
|
20
|
-
1. **Standard Patterns**:
|
|
21
|
-
- Apply Fail Fast principle: validate all quality gates before merge
|
|
22
|
-
- Use Clear Errors when release criteria are not met
|
|
23
|
-
- Maintain Minimal Output with focused release documentation
|
|
24
|
-
- Follow Trust System principle for automated quality gate verification
|
|
25
|
-
|
|
26
|
-
2. **Agent Coordination**:
|
|
27
|
-
- Update status in LOG.md when release process begins and completes
|
|
28
|
-
- Implement proper error propagation for failed quality gates
|
|
29
|
-
- Coordinate with flow-orchestrator for final release approval
|
|
30
|
-
- Use file locks to prevent concurrent release operations
|
|
31
|
-
|
|
32
|
-
3. **Branch Operations** (${DEVFLOW_CLAUDE_DIR:-.claude}/guides/technical-guides/git-github-guide.md):
|
|
33
|
-
- Verify clean working directory before creating pull requests
|
|
34
|
-
- Use conventional commit messages with proper Co-authored-by attribution
|
|
35
|
-
- Apply squash merge strategy for clean commit history
|
|
36
|
-
- Clean up feature branches after successful merge
|
|
37
|
-
|
|
38
|
-
4. **GitHub Operations** (${DEVFLOW_CLAUDE_DIR:-.claude}/guides/technical-guides/git-github-guide.md):
|
|
39
|
-
- Check GitHub authentication status before PR operations
|
|
40
|
-
- Verify repository permissions before merge operations
|
|
41
|
-
- Use structured PR descriptions with links to documentation
|
|
42
|
-
- Handle permission errors and authentication failures gracefully
|
|
43
|
-
|
|
44
|
-
5. **DateTime Handling**:
|
|
45
|
-
- Include ISO 8601 UTC timestamps in release documentation
|
|
46
|
-
- Use real system time for release timestamps and changelog entries
|
|
47
|
-
- Handle timezone-aware release scheduling correctly
|
|
48
|
-
- Support cross-platform datetime operations in release tooling
|
|
49
|
-
|
|
50
|
-
6. **DevFlow Patterns** (${DEVFLOW_CLAUDE_DIR:-.claude}/rules/devflow-conventions.md):
|
|
51
|
-
- Enforce REQ-ID format in PR titles and commit messages
|
|
52
|
-
- Use standardized PR templates and release documentation
|
|
53
|
-
- Apply consistent branch naming and cleanup procedures
|
|
54
|
-
- Maintain complete traceability from requirements to release
|
|
55
|
-
|
|
56
|
-
7. **Constitution** (${DEVFLOW_CLAUDE_DIR:-.claude}/rules/project-constitution.md):
|
|
57
|
-
- Verify all Constitution checks passed before release
|
|
58
|
-
- Ensure quality gates enforced (NO PARTIAL IMPLEMENTATION)
|
|
59
|
-
- Validate security requirements met (NO HARDCODED SECRETS)
|
|
60
|
-
- Confirm all quality thresholds achieved
|
|
61
|
-
|
|
62
|
-
## Script Integration
|
|
63
|
-
You MUST use the unified script infrastructure for all operations:
|
|
64
|
-
|
|
65
|
-
1. **Get Requirement Paths**: Use `check-prerequisites.sh` to retrieve paths
|
|
66
|
-
```bash
|
|
67
|
-
# Get all paths and available documents
|
|
68
|
-
${DEVFLOW_CLAUDE_DIR:-.claude}/scripts/check-prerequisites.sh --json --include-tasks
|
|
69
|
-
|
|
70
|
-
# Expected output includes REQ_ID, REQ_DIR, and all documents
|
|
71
|
-
```
|
|
72
|
-
|
|
73
|
-
2. **Check Task Status**: Use `check-task-status.sh` to verify completion
|
|
74
|
-
```bash
|
|
75
|
-
# Get task completion status
|
|
76
|
-
${DEVFLOW_CLAUDE_DIR:-.claude}/scripts/check-task-status.sh --json
|
|
77
|
-
|
|
78
|
-
# Example output: {"total_tasks":20,"completed":20,"remaining":0,"percentage":100}
|
|
79
|
-
```
|
|
80
|
-
|
|
81
|
-
3. **Validate Constitution**: Use `validate-constitution.sh` for final checks
|
|
82
|
-
```bash
|
|
83
|
-
# Run comprehensive Constitution validation
|
|
84
|
-
${DEVFLOW_CLAUDE_DIR:-.claude}/scripts/validate-constitution.sh --type all --severity error --json
|
|
85
|
-
|
|
86
|
-
# Must return 0 errors before release can proceed
|
|
87
|
-
```
|
|
88
|
-
|
|
89
|
-
4. **Log Events**: Use common.sh logging for release milestones
|
|
90
|
-
```bash
|
|
91
|
-
# Log release events
|
|
92
|
-
source ${DEVFLOW_CLAUDE_DIR:-.claude}/scripts/common.sh
|
|
93
|
-
log_event "$REQ_ID" "Release readiness assessment started"
|
|
94
|
-
log_event "$REQ_ID" "Release plan generated - READY FOR MERGE"
|
|
95
|
-
```
|
|
96
|
-
|
|
97
|
-
## Context Requirements
|
|
98
|
-
- 读取 `orchestration_status.json` 获取项目状态
|
|
99
|
-
- 阅读现有的系统规格和发布约束条件
|
|
100
|
-
- 确保发布计划与需求一致性
|
|
101
|
-
|
|
102
|
-
## Input Contract
|
|
103
|
-
When called by main agent, you will receive:
|
|
104
|
-
|
|
105
|
-
**For Requirements**:
|
|
106
|
-
- reqId: Requirement ID for context (REQ-XXX format)
|
|
107
|
-
- All task completion status
|
|
108
|
-
- Quality gate results
|
|
109
|
-
- Expected to output: `devflow/requirements/${reqId}/RELEASE_PLAN.md`
|
|
110
|
-
|
|
111
|
-
**For BUG Fixes**:
|
|
112
|
-
- bugId: BUG ID for context (BUG-XXX format)
|
|
113
|
-
- BUG fix completion status
|
|
114
|
-
- Quality gate results
|
|
115
|
-
- Expected to output: `devflow/bugs/${bugId}/RELEASE_PLAN.md`
|
|
116
|
-
|
|
117
|
-
Release analysis process:
|
|
118
|
-
1. **Run Prerequisites Check**: `${DEVFLOW_CLAUDE_DIR:-.claude}/scripts/check-prerequisites.sh --json --include-tasks`
|
|
119
|
-
2. **Check Task Completion**: `${DEVFLOW_CLAUDE_DIR:-.claude}/scripts/check-task-status.sh --json`
|
|
120
|
-
- Verify 100% task completion (remaining: 0)
|
|
121
|
-
- Ensure all Phase 2 (Tests First) and Phase 3 (Implementation) tasks completed
|
|
122
|
-
3. **Validate Constitution**: `${DEVFLOW_CLAUDE_DIR:-.claude}/scripts/validate-constitution.sh --type all --severity error --json`
|
|
123
|
-
- Must return {"errors": 0} to proceed
|
|
124
|
-
- Verify NO PARTIAL IMPLEMENTATION, NO HARDCODED SECRETS, etc.
|
|
125
|
-
4. **Verify Quality Gates**: Check all quality gate documents exist and passed:
|
|
126
|
-
- TEST_REPORT.md: All tests passing, coverage ≥80%
|
|
127
|
-
- SECURITY_REPORT.md: No critical/high issues
|
|
128
|
-
- TypeScript check: Passed
|
|
129
|
-
- Build: Successful
|
|
130
|
-
5. **Analyze TDD Compliance**: Verify Phase 2 tests were written before Phase 3 implementation
|
|
131
|
-
6. **Create Release Plan**: Generate comprehensive RELEASE_PLAN.md with PR template
|
|
132
|
-
7. **Design Merge Strategy**: Specify squash merge with proper attribution
|
|
133
|
-
8. **Generate Changelog**: Prepare changelog entries based on completed tasks
|
|
134
|
-
11. **Specify Post-Release Steps**: Define validation and monitoring procedures
|
|
135
|
-
12. **Write RELEASE_PLAN.md**: Output complete release plan
|
|
136
|
-
13. **Log Event**: `log_event "$REQ_ID" "Release plan generated - ready for merge"`
|
|
137
|
-
|
|
138
|
-
PR creation:
|
|
139
|
-
- Use conventional commit format for title
|
|
140
|
-
- Include links to PRD, EPIC, Tasks, and Test Reports
|
|
141
|
-
- Add summary of changes and impact
|
|
142
|
-
- Include testing verification
|
|
143
|
-
- Reference any breaking changes
|
|
144
|
-
- Add deployment notes if needed
|
|
145
|
-
|
|
146
|
-
Quality gate verification (MUST ALL PASS):
|
|
147
|
-
- [ ] Task completion: 100% (0 remaining)
|
|
148
|
-
- [ ] Constitution validation: 0 errors
|
|
149
|
-
- [ ] All tests passing (unit, integration, contract)
|
|
150
|
-
- [ ] Coverage ≥80% (line coverage)
|
|
151
|
-
- [ ] Security scan clean (no critical/high issues)
|
|
152
|
-
- [ ] TypeScript check passed
|
|
153
|
-
- [ ] Build successful
|
|
154
|
-
- [ ] TDD compliance: Phase 2 tests before Phase 3 implementation
|
|
155
|
-
- [ ] Documentation updated (PRD, EPIC, TASKS, TEST_REPORT, SECURITY_REPORT)
|
|
156
|
-
- [ ] Breaking changes documented (if any)
|
|
157
|
-
|
|
158
|
-
Merge strategy:
|
|
159
|
-
- Use squash merge for feature branches
|
|
160
|
-
- Maintain clean commit history
|
|
161
|
-
- Include co-authored-by attribution
|
|
162
|
-
- Follow conventional commit message format
|
|
163
|
-
|
|
164
|
-
## Output Generation
|
|
165
|
-
Generate comprehensive `devflow/requirements/${reqId}/RELEASE_PLAN.md` containing:
|
|
166
|
-
|
|
167
|
-
```markdown
|
|
168
|
-
# Release Plan for ${reqId}
|
|
169
|
-
|
|
170
|
-
## Release Readiness Assessment
|
|
171
|
-
- Requirement: ${reqId} - ${title}
|
|
172
|
-
- All tasks completed: ${tasksStatus}
|
|
173
|
-
- Quality gates passed: ${qualityStatus}
|
|
174
|
-
- Security review: ${securityStatus}
|
|
175
|
-
- Release approval: ${approvalStatus}
|
|
176
|
-
|
|
177
|
-
## Pull Request Template
|
|
178
|
-
### Title
|
|
179
|
-
${reqId}: ${title}
|
|
180
|
-
|
|
181
|
-
### Description
|
|
182
|
-
#### Summary
|
|
183
|
-
Brief description of the requirement implementation.
|
|
184
|
-
|
|
185
|
-
#### Changes Made
|
|
186
|
-
- Task 1: ${task1Summary}
|
|
187
|
-
- Task 2: ${task2Summary}
|
|
188
|
-
- Task 3: ${task3Summary}
|
|
189
|
-
|
|
190
|
-
#### Testing
|
|
191
|
-
- [ ] Unit tests passing (${unitCoverage}% coverage)
|
|
192
|
-
- [ ] Integration tests passing
|
|
193
|
-
- [ ] Security tests passing
|
|
194
|
-
- [ ] Performance within limits
|
|
195
|
-
|
|
196
|
-
#### Documentation
|
|
197
|
-
- [PRD](${prdLink})
|
|
198
|
-
- [Epic](${epicLink})
|
|
199
|
-
- [Tasks](${tasksLink})
|
|
200
|
-
- [Test Report](${testReportLink})
|
|
201
|
-
- [Security Report](${securityReportLink})
|
|
202
|
-
|
|
203
|
-
#### Breaking Changes
|
|
204
|
-
${breakingChanges}
|
|
205
|
-
|
|
206
|
-
#### Deployment Notes
|
|
207
|
-
${deploymentNotes}
|
|
208
|
-
|
|
209
|
-
## Release Commands (for main agent)
|
|
210
|
-
```bash
|
|
211
|
-
# 1. Final quality gate check
|
|
212
|
-
npm run test && npm run typecheck && npm run security-scan
|
|
213
|
-
|
|
214
|
-
# 2. Create pull request
|
|
215
|
-
gh pr create --title "${prTitle}" --body-file devflow/requirements/${reqId}/pr_description.md
|
|
216
|
-
|
|
217
|
-
# 3. After approval, merge with squash
|
|
218
|
-
gh pr merge --squash --delete-branch
|
|
219
|
-
|
|
220
|
-
# 4. Update changelog
|
|
221
|
-
echo "## ${version} - ${date}" >> CHANGELOG.md
|
|
222
|
-
echo "${changelogEntry}" >> CHANGELOG.md
|
|
223
|
-
|
|
224
|
-
# 5. Create release tag (if needed)
|
|
225
|
-
git tag -a v${version} -m "Release ${version}: ${title}"
|
|
226
|
-
git push origin v${version}
|
|
227
|
-
```
|
|
228
|
-
|
|
229
|
-
## Quality Gates Verification
|
|
230
|
-
- [ ] All tests passing
|
|
231
|
-
- [ ] Coverage ≥ ${coverageThreshold}%
|
|
232
|
-
- [ ] Security scan clean
|
|
233
|
-
- [ ] TypeScript check passed
|
|
234
|
-
- [ ] Documentation updated
|
|
235
|
-
- [ ] Breaking changes documented
|
|
236
|
-
|
|
237
|
-
## Post-Release Tasks
|
|
238
|
-
1. Verify deployment successful
|
|
239
|
-
2. Monitor for issues
|
|
240
|
-
3. Update project documentation
|
|
241
|
-
4. Notify stakeholders
|
|
242
|
-
5. Archive requirement documentation
|
|
243
|
-
|
|
244
|
-
## Rollback Plan
|
|
245
|
-
If issues are detected:
|
|
246
|
-
1. Revert merge commit: `git revert ${mergeCommit}`
|
|
247
|
-
2. Deploy hotfix if needed
|
|
248
|
-
3. Document incident
|
|
249
|
-
4. Plan remediation
|
|
250
|
-
```
|
|
251
|
-
|
|
252
|
-
Release workflow:
|
|
253
|
-
1. **Readiness Analysis**: Verify all tasks and quality gates completed
|
|
254
|
-
2. **PR Template Generation**: Create comprehensive PR description
|
|
255
|
-
3. **Release Strategy**: Define merge approach and cleanup procedures
|
|
256
|
-
4. **Documentation Update**: Prepare changelog and release notes
|
|
257
|
-
5. **Validation Plan**: Specify post-release verification steps
|
|
258
|
-
6. **Rollback Preparation**: Define contingency procedures
|
|
259
|
-
|
|
260
|
-
Remember: You are a release strategist and planner. The main agent will execute all the actual release operations (PR creation, merging, tagging) based on your detailed plans and templates.
|
|
261
|
-
|
|
262
|
-
Changelog maintenance:
|
|
263
|
-
- Update CHANGELOG.md with new features/fixes
|
|
264
|
-
- Follow semantic versioning principles
|
|
265
|
-
- Include migration notes for breaking changes
|
|
266
|
-
- Reference PR and issue numbers
|
|
267
|
-
|
|
268
|
-
Release tagging (if required):
|
|
269
|
-
- Create annotated git tags
|
|
270
|
-
- Follow project versioning scheme
|
|
271
|
-
- Include release notes
|
|
272
|
-
- Push tags to remote
|
|
273
|
-
|
|
274
|
-
Commands to use:
|
|
275
|
-
- `gh pr create -B main -H feature/<branch> -t "<REQ_ID> <title>" -b "Links: PRD/Epic/Tasks"`
|
|
276
|
-
- `gh pr merge --squash --delete-branch` (ask confirmation first)
|
|
277
|
-
- `git tag -a v<version> -m "Release <version>"`
|
|
278
|
-
|
|
279
|
-
Safety measures:
|
|
280
|
-
- Always ask for confirmation before merge
|
|
281
|
-
- Verify quality gates one final time
|
|
282
|
-
- Double-check branch and target
|
|
283
|
-
- Ensure no merge conflicts
|
|
284
|
-
- Validate deployment readiness
|
|
285
|
-
|
|
286
|
-
If gates fail:
|
|
287
|
-
- Block merge immediately
|
|
288
|
-
- Document specific failures
|
|
289
|
-
- Route back to appropriate team for fixes
|
|
290
|
-
- Re-verify after fixes applied
|
|
291
|
-
|
|
292
|
-
Fallback (no gh CLI):
|
|
293
|
-
- Push branch and provide GitHub URL
|
|
294
|
-
- Provide manual PR creation instructions
|
|
295
|
-
- Include all required metadata in instructions
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
# flow-spec/
|
|
2
|
-
> L2 | 父级: /Users/dimon/001Area/80-CodeWorld/002-devflow/cc-devflow/.claude/skills/workflow/CLAUDE.md
|
|
3
|
-
|
|
4
|
-
成员清单
|
|
5
|
-
SKILL.md: flow:spec 的核心指令,定义 harness:plan 任务清单生成流程。
|
|
6
|
-
context.jsonl: flow-spec 上下文注入定义(context-package/task-manifest/harness-state)。
|
|
7
|
-
team-config.json: 旧 Team 模式配置资产(兼容保留,当前主链不依赖)。
|
|
8
|
-
scripts/entry-gate.sh: 旧入口脚本资产(兼容保留)。
|
|
9
|
-
scripts/parallel-orchestrator.sh: 旧并行编排脚本资产(兼容保留)。
|
|
10
|
-
scripts/exit-gate.sh: 旧出口脚本资产(兼容保留)。
|
|
11
|
-
scripts/team-init.sh: 旧 Team 初始化脚本资产(兼容保留)。
|
|
12
|
-
scripts/team-communication.sh: 旧 Team 通信脚本资产(兼容保留)。
|
|
13
|
-
scripts/test-team-mode.sh: 旧 Team 模式测试脚本资产(兼容保留)。
|
|
14
|
-
|
|
15
|
-
法则: 成员完整·一行一文件·父级链接·技术词前置
|
|
16
|
-
|
|
17
|
-
[PROTOCOL]: 变更时更新此头部,然后检查 CLAUDE.md
|
|
@@ -1,102 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: flow-spec
|
|
3
|
-
description: 'Generate and refresh task-manifest for a requirement. Use when converting requirement context into dependency-aware executable tasks.'
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Flow-Spec Skill
|
|
7
|
-
|
|
8
|
-
> [PROTOCOL]: 变更时更新此头部,然后检查 CLAUDE.md
|
|
9
|
-
|
|
10
|
-
## Purpose
|
|
11
|
-
|
|
12
|
-
将需求上下文转换为 `task-manifest.json`,作为后续执行唯一任务源。
|
|
13
|
-
|
|
14
|
-
## Long-Running Harness Protocol(Initializer/Worker/Done Gate)
|
|
15
|
-
|
|
16
|
-
`/flow:spec` 必须以“可恢复、可验证”的增量方式生成计划,而不是一次性黑箱产出。
|
|
17
|
-
|
|
18
|
-
### Session Start(先同步上下文,再规划)
|
|
19
|
-
|
|
20
|
-
每个窗口启动先读取:
|
|
21
|
-
- `devflow/requirements/${REQ_ID}/session-checklist.json`(若存在)
|
|
22
|
-
- `devflow/requirements/${REQ_ID}/session-progress.md`(若存在)
|
|
23
|
-
- `devflow/requirements/${REQ_ID}/session-handoff.md`(若存在)
|
|
24
|
-
- `devflow/requirements/${REQ_ID}/context-package.md`
|
|
25
|
-
- 旧版 `task-manifest.json`(若存在)
|
|
26
|
-
|
|
27
|
-
### Worker Session(一次只收敛一个规划目标)
|
|
28
|
-
|
|
29
|
-
每轮只完成一个最小目标,例如:
|
|
30
|
-
- 修正一个依赖子图
|
|
31
|
-
- 补齐一组缺失的 `run` 指令
|
|
32
|
-
- 处理一次 `--overwrite` 下的清理重建
|
|
33
|
-
|
|
34
|
-
完成后必须:
|
|
35
|
-
1. 运行 `harness:plan` 生成/刷新 manifest
|
|
36
|
-
2. 校验 schema 与依赖无环
|
|
37
|
-
3. 更新 progress/handoff,写明下一轮唯一目标
|
|
38
|
-
|
|
39
|
-
### Done Gate
|
|
40
|
-
|
|
41
|
-
仅当以下条件满足才标记 `flow:spec` 完成:
|
|
42
|
-
- `task-manifest.json` 存在且 `tasks` 非空
|
|
43
|
-
- `id/dependsOn/run` 字段完整且无自循环
|
|
44
|
-
- `session-checklist.json` 中 `flow:spec.passes == true`
|
|
45
|
-
|
|
46
|
-
## Input Format
|
|
47
|
-
|
|
48
|
-
```bash
|
|
49
|
-
/flow:spec "REQ_ID" [--overwrite]
|
|
50
|
-
```
|
|
51
|
-
|
|
52
|
-
## Execution Steps
|
|
53
|
-
|
|
54
|
-
1. 解析 `REQ_ID` 和可选 `--overwrite`。
|
|
55
|
-
|
|
56
|
-
2. **读取项目级 specs/ 了解当前系统状态**(v4.3 新增):
|
|
57
|
-
- 读取 `devflow/specs/README.md` 了解模块结构
|
|
58
|
-
- 扫描 `devflow/specs/*/spec.md` 识别相关模块
|
|
59
|
-
- 记录当前系统状态到上下文
|
|
60
|
-
|
|
61
|
-
3. **生成 design.md**(v4.3 新增,替代 TECH_DESIGN.md):
|
|
62
|
-
- 基于 `proposal.md` 的 What 章节
|
|
63
|
-
- 基于项目级 `specs/` 的当前状态
|
|
64
|
-
- 输出到 `devflow/requirements/${REQ_ID}/design.md`
|
|
65
|
-
- 格式:How(技术方案)+ Implementation(实现细节)
|
|
66
|
-
|
|
67
|
-
4. **生成 Delta specs/**(v4.3 新增):
|
|
68
|
-
- 基于 `proposal.md` 和 `design.md`
|
|
69
|
-
- 为每个受影响的模块生成 Delta spec.md
|
|
70
|
-
- 输出到 `devflow/requirements/${REQ_ID}/specs/{module}/spec.md`
|
|
71
|
-
- 格式:ADDED/MODIFIED/REMOVED/RENAMED Requirements
|
|
72
|
-
- 使用 `.claude/docs/templates/SPEC_TEMPLATE_DELTA.md`
|
|
73
|
-
|
|
74
|
-
5. **自动反扩散检查**(v4.3 新增):
|
|
75
|
-
- 运行 `bash .claude/scripts/validate-scope.sh "${REQ_ID}"`
|
|
76
|
-
- 对比 `proposal.md` 原始意图与 Delta specs 的 ADDED 需求
|
|
77
|
-
- 生成 `scope-creep-report.md`
|
|
78
|
-
- 如检测到范围扩散,阻塞并要求人工确认
|
|
79
|
-
|
|
80
|
-
6. 运行计划生成:
|
|
81
|
-
|
|
82
|
-
```bash
|
|
83
|
-
npm run harness:plan -- --change-id "${REQ_ID}" [--overwrite]
|
|
84
|
-
```
|
|
85
|
-
|
|
86
|
-
7. 校验输出:
|
|
87
|
-
- `devflow/requirements/${REQ_ID}/task-manifest.json`
|
|
88
|
-
- `tasks` 数组非空,`id/dependsOn/run` 字段完整
|
|
89
|
-
|
|
90
|
-
## Exit Criteria
|
|
91
|
-
|
|
92
|
-
- `design.md` 存在且包含 How 和 Implementation 章节 ⭐ v4.3 新增
|
|
93
|
-
- `specs/` 目录存在且至少有一个模块的 Delta spec.md ⭐ v4.3 新增
|
|
94
|
-
- `scope-creep-report.md` 存在且无阻塞性警告 ⭐ v4.3 新增
|
|
95
|
-
- `task-manifest.json` 可通过 schema 校验
|
|
96
|
-
- 任务依赖图无自循环(由 planner 保障)
|
|
97
|
-
|
|
98
|
-
## Next Step
|
|
99
|
-
|
|
100
|
-
```bash
|
|
101
|
-
/flow:dev "${REQ_ID}"
|
|
102
|
-
```
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
{"file": "devflow/requirements/{REQ}/context-package.md", "reason": "Execution context package"}
|
|
2
|
-
{"file": "devflow/requirements/{REQ}/TASKS.md", "reason": "Task source", "optional": true}
|
|
3
|
-
{"file": "devflow/requirements/{REQ}/task-manifest.json", "reason": "Previous manifest", "optional": true}
|
|
4
|
-
{"file": "devflow/requirements/{REQ}/harness-state.json", "reason": "Lifecycle status", "optional": true}
|
|
5
|
-
{"file": ".claude/rules/project-constitution.md", "reason": "Quality rules and constraints"}
|
|
@@ -1,194 +0,0 @@
|
|
|
1
|
-
#!/bin/bash
|
|
2
|
-
# ============================================================================
|
|
3
|
-
# flow-spec Entry Gate
|
|
4
|
-
# ============================================================================
|
|
5
|
-
# [INPUT]: REQ_ID (参数或自动检测)
|
|
6
|
-
# [OUTPUT]: 验证结果 (exit code 0=pass, 1=fail)
|
|
7
|
-
# [POS]: flow-spec 的入口检查,验证前置条件
|
|
8
|
-
# [PROTOCOL]: 变更时更新此头部,然后检查 CLAUDE.md
|
|
9
|
-
# ============================================================================
|
|
10
|
-
|
|
11
|
-
set -euo pipefail
|
|
12
|
-
|
|
13
|
-
# ============================================================================
|
|
14
|
-
# 参数解析
|
|
15
|
-
# ============================================================================
|
|
16
|
-
|
|
17
|
-
REQ_ID=""
|
|
18
|
-
SKIP_TECH=false
|
|
19
|
-
SKIP_UI=false
|
|
20
|
-
RETRY=false
|
|
21
|
-
FROM_STAGE=""
|
|
22
|
-
|
|
23
|
-
while [[ $# -gt 0 ]]; do
|
|
24
|
-
case $1 in
|
|
25
|
-
--skip-tech)
|
|
26
|
-
SKIP_TECH=true
|
|
27
|
-
shift
|
|
28
|
-
;;
|
|
29
|
-
--skip-ui)
|
|
30
|
-
SKIP_UI=true
|
|
31
|
-
shift
|
|
32
|
-
;;
|
|
33
|
-
--retry)
|
|
34
|
-
RETRY=true
|
|
35
|
-
shift
|
|
36
|
-
;;
|
|
37
|
-
--from=*)
|
|
38
|
-
FROM_STAGE="${1#*=}"
|
|
39
|
-
shift
|
|
40
|
-
;;
|
|
41
|
-
*)
|
|
42
|
-
if [[ -z "$REQ_ID" ]]; then
|
|
43
|
-
REQ_ID="$1"
|
|
44
|
-
fi
|
|
45
|
-
shift
|
|
46
|
-
;;
|
|
47
|
-
esac
|
|
48
|
-
done
|
|
49
|
-
|
|
50
|
-
# ============================================================================
|
|
51
|
-
# REQ_ID 解析
|
|
52
|
-
# ============================================================================
|
|
53
|
-
|
|
54
|
-
if [[ -z "$REQ_ID" ]]; then
|
|
55
|
-
# 尝试从分支名推断
|
|
56
|
-
BRANCH=$(git branch --show-current 2>/dev/null || echo "")
|
|
57
|
-
if [[ "$BRANCH" =~ feature/(REQ-[0-9]+) ]]; then
|
|
58
|
-
REQ_ID="${BASH_REMATCH[1]}"
|
|
59
|
-
fi
|
|
60
|
-
fi
|
|
61
|
-
|
|
62
|
-
if [[ -z "$REQ_ID" ]]; then
|
|
63
|
-
# 尝试从 orchestration_status.json 获取
|
|
64
|
-
STATUS_FILE="devflow/requirements/*/orchestration_status.json"
|
|
65
|
-
for f in $STATUS_FILE; do
|
|
66
|
-
if [[ -f "$f" ]]; then
|
|
67
|
-
REQ_ID=$(jq -r '.req_id // empty' "$f" 2>/dev/null || echo "")
|
|
68
|
-
if [[ -n "$REQ_ID" ]]; then
|
|
69
|
-
break
|
|
70
|
-
fi
|
|
71
|
-
fi
|
|
72
|
-
done
|
|
73
|
-
fi
|
|
74
|
-
|
|
75
|
-
if [[ -z "$REQ_ID" ]]; then
|
|
76
|
-
echo "ERROR: REQ_ID not provided and cannot be auto-detected"
|
|
77
|
-
echo "Usage: entry-gate.sh REQ-XXX [--skip-tech] [--skip-ui]"
|
|
78
|
-
exit 1
|
|
79
|
-
fi
|
|
80
|
-
|
|
81
|
-
# ============================================================================
|
|
82
|
-
# 路径定义
|
|
83
|
-
# ============================================================================
|
|
84
|
-
|
|
85
|
-
REQ_DIR="devflow/requirements/${REQ_ID}"
|
|
86
|
-
BRAINSTORM_FILE="${REQ_DIR}/BRAINSTORM.md"
|
|
87
|
-
RESEARCH_FILE="${REQ_DIR}/research/research.md"
|
|
88
|
-
STATUS_FILE="${REQ_DIR}/orchestration_status.json"
|
|
89
|
-
|
|
90
|
-
# ============================================================================
|
|
91
|
-
# 检查 1: REQ_ID 格式
|
|
92
|
-
# ============================================================================
|
|
93
|
-
|
|
94
|
-
if [[ ! "$REQ_ID" =~ ^REQ-[0-9]+$ ]]; then
|
|
95
|
-
echo "ERROR: Invalid REQ_ID format: $REQ_ID"
|
|
96
|
-
echo "Expected: REQ-XXX (e.g., REQ-001, REQ-123)"
|
|
97
|
-
exit 1
|
|
98
|
-
fi
|
|
99
|
-
|
|
100
|
-
echo "✓ REQ_ID format valid: $REQ_ID"
|
|
101
|
-
|
|
102
|
-
# ============================================================================
|
|
103
|
-
# 检查 2: 目录存在
|
|
104
|
-
# ============================================================================
|
|
105
|
-
|
|
106
|
-
if [[ ! -d "$REQ_DIR" ]]; then
|
|
107
|
-
echo "ERROR: Requirement directory not found: $REQ_DIR"
|
|
108
|
-
echo "Run /flow-init first"
|
|
109
|
-
exit 1
|
|
110
|
-
fi
|
|
111
|
-
|
|
112
|
-
echo "✓ Requirement directory exists: $REQ_DIR"
|
|
113
|
-
|
|
114
|
-
# ============================================================================
|
|
115
|
-
# 检查 3: BRAINSTORM.md 存在
|
|
116
|
-
# ============================================================================
|
|
117
|
-
|
|
118
|
-
if [[ ! -f "$BRAINSTORM_FILE" ]]; then
|
|
119
|
-
echo "ERROR: BRAINSTORM.md not found: $BRAINSTORM_FILE"
|
|
120
|
-
echo "Run /flow-init first"
|
|
121
|
-
exit 1
|
|
122
|
-
fi
|
|
123
|
-
|
|
124
|
-
echo "✓ BRAINSTORM.md exists"
|
|
125
|
-
|
|
126
|
-
# ============================================================================
|
|
127
|
-
# 检查 4: Research 完成
|
|
128
|
-
# ============================================================================
|
|
129
|
-
|
|
130
|
-
if [[ ! -f "$RESEARCH_FILE" ]]; then
|
|
131
|
-
echo "ERROR: research.md not found: $RESEARCH_FILE"
|
|
132
|
-
echo "Run /flow-init with research first"
|
|
133
|
-
exit 1
|
|
134
|
-
fi
|
|
135
|
-
|
|
136
|
-
# 检查 research.md 无 TODO/PLACEHOLDER
|
|
137
|
-
if grep -qE '\{\{[A-Z_]+\}\}|TODO|TBD|PLACEHOLDER' "$RESEARCH_FILE"; then
|
|
138
|
-
echo "WARNING: research.md contains TODO/PLACEHOLDER markers"
|
|
139
|
-
echo "Consider completing research before proceeding"
|
|
140
|
-
fi
|
|
141
|
-
|
|
142
|
-
echo "✓ Research file exists"
|
|
143
|
-
|
|
144
|
-
# ============================================================================
|
|
145
|
-
# 检查 5: Status Check
|
|
146
|
-
# ============================================================================
|
|
147
|
-
|
|
148
|
-
if [[ -f "$STATUS_FILE" ]]; then
|
|
149
|
-
CURRENT_STATUS=$(jq -r '.status // "unknown"' "$STATUS_FILE")
|
|
150
|
-
|
|
151
|
-
VALID_STATUSES=("initialized" "spec_failed" "prd_complete" "tech_design_complete" "ui_complete")
|
|
152
|
-
|
|
153
|
-
if [[ "$RETRY" == "true" ]]; then
|
|
154
|
-
echo "✓ Retry mode: bypassing status check"
|
|
155
|
-
elif [[ ! " ${VALID_STATUSES[*]} " =~ " ${CURRENT_STATUS} " ]]; then
|
|
156
|
-
echo "ERROR: Invalid status for /flow-spec: $CURRENT_STATUS"
|
|
157
|
-
echo "Valid statuses: ${VALID_STATUSES[*]}"
|
|
158
|
-
exit 1
|
|
159
|
-
else
|
|
160
|
-
echo "✓ Status valid: $CURRENT_STATUS"
|
|
161
|
-
fi
|
|
162
|
-
else
|
|
163
|
-
echo "WARNING: orchestration_status.json not found, creating..."
|
|
164
|
-
fi
|
|
165
|
-
|
|
166
|
-
# ============================================================================
|
|
167
|
-
# 输出结果
|
|
168
|
-
# ============================================================================
|
|
169
|
-
|
|
170
|
-
echo ""
|
|
171
|
-
echo "============================================"
|
|
172
|
-
echo "Entry Gate PASSED"
|
|
173
|
-
echo "============================================"
|
|
174
|
-
echo "REQ_ID: $REQ_ID"
|
|
175
|
-
echo "REQ_DIR: $REQ_DIR"
|
|
176
|
-
echo "SKIP_TECH: $SKIP_TECH"
|
|
177
|
-
echo "SKIP_UI: $SKIP_UI"
|
|
178
|
-
echo "FROM_STAGE: ${FROM_STAGE:-prd}"
|
|
179
|
-
echo "============================================"
|
|
180
|
-
|
|
181
|
-
# 输出 JSON 供后续脚本使用
|
|
182
|
-
cat << EOF
|
|
183
|
-
{
|
|
184
|
-
"req_id": "$REQ_ID",
|
|
185
|
-
"req_dir": "$REQ_DIR",
|
|
186
|
-
"skip_tech": $SKIP_TECH,
|
|
187
|
-
"skip_ui": $SKIP_UI,
|
|
188
|
-
"from_stage": "${FROM_STAGE:-prd}",
|
|
189
|
-
"brainstorm_file": "$BRAINSTORM_FILE",
|
|
190
|
-
"research_file": "$RESEARCH_FILE"
|
|
191
|
-
}
|
|
192
|
-
EOF
|
|
193
|
-
|
|
194
|
-
exit 0
|