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
package/bin/adapt.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* CLI Entry Point - bin/adapt.js (v2.0)
|
|
4
4
|
*
|
|
5
5
|
* Usage:
|
|
6
|
-
* npm run adapt # Compile all (
|
|
6
|
+
* npm run adapt # Compile all platform outputs (skills + optional commands + rules)
|
|
7
7
|
* npm run adapt -- --platform codex # Compile for Codex only
|
|
8
8
|
* npm run adapt -- --all # Compile for all platforms (explicit)
|
|
9
9
|
* npm run adapt -- --check # Check for drift
|
|
@@ -80,7 +80,7 @@ function showHelp() {
|
|
|
80
80
|
console.log(`
|
|
81
81
|
Usage: npm run adapt [options]
|
|
82
82
|
|
|
83
|
-
Adapter Compiler - Compile CC-DevFlow
|
|
83
|
+
Adapter Compiler - Compile CC-DevFlow skills, optional commands, and rules
|
|
84
84
|
|
|
85
85
|
Options:
|
|
86
86
|
--platform <name> Compile for specific platform (${PLATFORMS.join(', ')})
|
|
@@ -215,10 +215,6 @@ async function main() {
|
|
|
215
215
|
console.log(` Files skipped: ${result.filesSkipped}`);
|
|
216
216
|
console.log(` Resources copied: ${result.resourcesCopied}`);
|
|
217
217
|
console.log(` Resources skipped: ${result.resourcesSkipped}`);
|
|
218
|
-
console.log(` Skills emitted: ${result.skillsEmitted}`);
|
|
219
|
-
console.log(` Agents emitted: ${result.agentsEmitted}`);
|
|
220
|
-
console.log(` Module rules emitted: ${result.moduleRulesEmitted}`);
|
|
221
|
-
console.log(` Hooks emitted: ${result.hooksEmitted}`);
|
|
222
218
|
console.log(` Skills registered: ${result.skillsRegistered}`);
|
|
223
219
|
console.log(` Rules generated: ${result.rulesGenerated}`);
|
|
224
220
|
process.exit(0);
|
package/bin/cc-devflow-cli.js
CHANGED
|
@@ -1,29 +1,39 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
/**
|
|
3
|
-
* [INPUT]: 依赖 .claude 模板、adapt 编译入口与 harness 运行时入口。
|
|
4
|
-
* [OUTPUT]: 提供 init/adapt/harness 命令,并在目标仓库自动补齐 harness npm scripts。
|
|
5
|
-
* [POS]: cc-devflow 的统一 CLI 门面,串联安装、编译与运行时发布链路。
|
|
6
|
-
* [PROTOCOL]: 变更时更新此头部,然后检查 CLAUDE.md
|
|
7
|
-
*/
|
|
8
2
|
const fs = require('fs');
|
|
9
3
|
const path = require('path');
|
|
10
4
|
const { spawnSync } = require('child_process');
|
|
11
5
|
|
|
12
6
|
const PACKAGE_ROOT = path.resolve(__dirname, '..');
|
|
13
7
|
const TEMPLATE_DIR = path.join(PACKAGE_ROOT, '.claude');
|
|
8
|
+
const TEMPLATE_SKILLS_DIR = path.join(TEMPLATE_DIR, 'skills');
|
|
9
|
+
const DISTRIBUTION_CONFIG = require(path.join(PACKAGE_ROOT, 'config', 'distributable-skills.json'));
|
|
14
10
|
const ADAPT_BIN = path.join(PACKAGE_ROOT, 'bin', 'adapt.js');
|
|
15
11
|
const ADAPTER_BIN = path.join(PACKAGE_ROOT, 'bin', 'cc-devflow.js');
|
|
16
|
-
const
|
|
17
|
-
const
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
'
|
|
26
|
-
|
|
12
|
+
const TEMPLATE_IGNORES = new Set(['.DS_Store', 'tsc-cache']);
|
|
13
|
+
const DISTRIBUTED_SKILLS = Array.from(
|
|
14
|
+
new Set(DISTRIBUTION_CONFIG.distributedSkills || DISTRIBUTION_CONFIG.publicSkills || [])
|
|
15
|
+
);
|
|
16
|
+
const DISTRIBUTED_SKILL_SET = new Set(DISTRIBUTED_SKILLS);
|
|
17
|
+
|
|
18
|
+
function shouldIncludeTemplatePath(src) {
|
|
19
|
+
const relativePath = path.relative(TEMPLATE_DIR, src);
|
|
20
|
+
|
|
21
|
+
if (!relativePath || relativePath === '') {
|
|
22
|
+
return true;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
const segments = relativePath.split(path.sep);
|
|
26
|
+
const skillIndex = segments.indexOf('skills');
|
|
27
|
+
|
|
28
|
+
if (skillIndex !== -1 && segments.length > skillIndex + 1) {
|
|
29
|
+
const skillName = segments[skillIndex + 1];
|
|
30
|
+
if (!DISTRIBUTED_SKILL_SET.has(skillName)) {
|
|
31
|
+
return false;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
return !segments.some((segment) => TEMPLATE_IGNORES.has(segment));
|
|
36
|
+
}
|
|
27
37
|
|
|
28
38
|
function showHelp() {
|
|
29
39
|
console.log(`
|
|
@@ -32,11 +42,10 @@ Usage: cc-devflow <command> [options]
|
|
|
32
42
|
Commands:
|
|
33
43
|
init Install .claude template into a project
|
|
34
44
|
adapt Compile .claude into multi-platform outputs
|
|
35
|
-
harness Run harness runtime commands (init/verify/release/janitor...)
|
|
36
45
|
|
|
37
46
|
Init options:
|
|
38
47
|
--dir <path> Target project path (default: cwd)
|
|
39
|
-
--force
|
|
48
|
+
--force Force-upgrade managed skills without deleting other .claude files
|
|
40
49
|
|
|
41
50
|
Adapt options:
|
|
42
51
|
--cwd <path> Target project path (default: cwd)
|
|
@@ -52,7 +61,6 @@ Examples:
|
|
|
52
61
|
cc-devflow init --dir /path/to/project
|
|
53
62
|
cc-devflow adapt --platform cursor
|
|
54
63
|
cc-devflow adapt --cwd /path/to/project --platform codex
|
|
55
|
-
cc-devflow harness release --change-id REQ-123
|
|
56
64
|
`);
|
|
57
65
|
}
|
|
58
66
|
|
|
@@ -106,146 +114,61 @@ function parseCliArgs(args) {
|
|
|
106
114
|
return { options, rest };
|
|
107
115
|
}
|
|
108
116
|
|
|
109
|
-
function
|
|
117
|
+
function copyManagedDirectory(src, dest, options = {}) {
|
|
118
|
+
const { force = false } = options;
|
|
119
|
+
|
|
120
|
+
if (!shouldIncludeTemplatePath(src)) {
|
|
121
|
+
return;
|
|
122
|
+
}
|
|
123
|
+
|
|
110
124
|
const stats = fs.statSync(src);
|
|
111
125
|
if (stats.isDirectory()) {
|
|
112
|
-
|
|
113
|
-
fs.mkdirSync(dest);
|
|
114
|
-
}
|
|
126
|
+
fs.mkdirSync(dest, { recursive: true });
|
|
115
127
|
const entries = fs.readdirSync(src);
|
|
116
128
|
for (const entry of entries) {
|
|
117
|
-
|
|
118
|
-
}
|
|
119
|
-
} else {
|
|
120
|
-
if (!fs.existsSync(dest)) {
|
|
121
|
-
// Case 1: File missing - Copy it
|
|
122
|
-
fs.copyFileSync(src, dest);
|
|
123
|
-
console.log(`[NEW] ${path.relative(process.cwd(), dest)}`);
|
|
124
|
-
} else {
|
|
125
|
-
// Case 2: File exists - Compare content
|
|
126
|
-
try {
|
|
127
|
-
const srcContent = fs.readFileSync(src);
|
|
128
|
-
const destContent = fs.readFileSync(dest);
|
|
129
|
-
|
|
130
|
-
if (!srcContent.equals(destContent)) {
|
|
131
|
-
// Content differs - Overwrite original
|
|
132
|
-
fs.unlinkSync(dest);
|
|
133
|
-
fs.copyFileSync(src, dest);
|
|
134
|
-
console.log(`[UPDATE] ${path.relative(process.cwd(), dest)}`);
|
|
135
|
-
}
|
|
136
|
-
// else: Content identical - Silent skip
|
|
137
|
-
} catch (err) {
|
|
138
|
-
console.warn(`[WARN] Could not compare ${path.relative(process.cwd(), dest)}: ${err.message}`);
|
|
139
|
-
}
|
|
129
|
+
copyManagedDirectory(path.join(src, entry), path.join(dest, entry), options);
|
|
140
130
|
}
|
|
131
|
+
return;
|
|
141
132
|
}
|
|
142
|
-
}
|
|
143
|
-
|
|
144
|
-
function detectJsonIndent(content) {
|
|
145
|
-
const match = content.match(/\n([ \t]+)"[^"\n]+":/);
|
|
146
|
-
if (!match) {
|
|
147
|
-
return 2;
|
|
148
|
-
}
|
|
149
|
-
|
|
150
|
-
const indent = match[1];
|
|
151
|
-
return indent.includes('\t') ? '\t' : indent.length;
|
|
152
|
-
}
|
|
153
|
-
|
|
154
|
-
function hasLocalHarnessBinary(targetRoot) {
|
|
155
|
-
return fs.existsSync(path.join(targetRoot, 'bin', 'harness.js'));
|
|
156
|
-
}
|
|
157
|
-
|
|
158
|
-
function getHarnessScriptCommand(targetRoot, subcommand) {
|
|
159
|
-
if (hasLocalHarnessBinary(targetRoot)) {
|
|
160
|
-
return `node bin/harness.js ${subcommand}`;
|
|
161
|
-
}
|
|
162
|
-
return `cc-devflow harness ${subcommand}`;
|
|
163
|
-
}
|
|
164
133
|
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
console.
|
|
134
|
+
if (!fs.existsSync(dest)) {
|
|
135
|
+
fs.mkdirSync(path.dirname(dest), { recursive: true });
|
|
136
|
+
fs.copyFileSync(src, dest);
|
|
137
|
+
console.log(`[NEW] ${path.relative(process.cwd(), dest)}`);
|
|
169
138
|
return;
|
|
170
139
|
}
|
|
171
140
|
|
|
172
|
-
let raw;
|
|
173
|
-
let packageJson;
|
|
174
141
|
try {
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
} catch (error) {
|
|
178
|
-
console.warn(`[WARN] Skipping harness script bootstrap: cannot parse package.json (${error.message})`);
|
|
179
|
-
return;
|
|
180
|
-
}
|
|
142
|
+
const srcContent = fs.readFileSync(src);
|
|
143
|
+
const destContent = fs.readFileSync(dest);
|
|
181
144
|
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
}
|
|
145
|
+
if (!force && srcContent.equals(destContent)) {
|
|
146
|
+
return;
|
|
147
|
+
}
|
|
186
148
|
|
|
187
|
-
|
|
188
|
-
|
|
149
|
+
fs.copyFileSync(src, dest);
|
|
150
|
+
console.log(`[UPDATE] ${path.relative(process.cwd(), dest)}`);
|
|
151
|
+
} catch (err) {
|
|
152
|
+
console.warn(`[WARN] Could not compare ${path.relative(process.cwd(), dest)}: ${err.message}`);
|
|
189
153
|
}
|
|
154
|
+
}
|
|
190
155
|
|
|
191
|
-
|
|
192
|
-
const
|
|
193
|
-
const
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
for (const [scriptName, subcommand] of Object.entries(HARNESS_SCRIPT_COMMANDS)) {
|
|
197
|
-
const desired = getHarnessScriptCommand(targetRoot, subcommand);
|
|
198
|
-
const existing = packageJson.scripts[scriptName];
|
|
199
|
-
|
|
200
|
-
if (typeof existing === 'undefined') {
|
|
201
|
-
packageJson.scripts[scriptName] = desired;
|
|
202
|
-
added.push(scriptName);
|
|
203
|
-
changed = true;
|
|
204
|
-
continue;
|
|
205
|
-
}
|
|
156
|
+
function syncDistributedSkills(targetRoot, options = {}) {
|
|
157
|
+
const { force = false } = options;
|
|
158
|
+
const targetClaudeDir = path.join(targetRoot, '.claude');
|
|
159
|
+
const targetSkillsDir = path.join(targetClaudeDir, 'skills');
|
|
206
160
|
|
|
207
|
-
|
|
208
|
-
continue;
|
|
209
|
-
}
|
|
161
|
+
fs.mkdirSync(targetSkillsDir, { recursive: true });
|
|
210
162
|
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
repaired.push(scriptName);
|
|
215
|
-
changed = true;
|
|
216
|
-
continue;
|
|
217
|
-
}
|
|
163
|
+
for (const skillName of DISTRIBUTED_SKILLS) {
|
|
164
|
+
const sourceSkillDir = path.join(TEMPLATE_SKILLS_DIR, skillName);
|
|
165
|
+
const targetSkillDir = path.join(targetSkillsDir, skillName);
|
|
218
166
|
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
packageJson.scripts[scriptName] = desired;
|
|
222
|
-
repaired.push(scriptName);
|
|
223
|
-
changed = true;
|
|
224
|
-
continue;
|
|
167
|
+
if (!fs.existsSync(sourceSkillDir)) {
|
|
168
|
+
throw new Error(`Managed skill template not found: ${sourceSkillDir}`);
|
|
225
169
|
}
|
|
226
170
|
|
|
227
|
-
|
|
228
|
-
const escapedHarnessBin = HARNESS_BIN.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
|
|
229
|
-
const absoluteLegacy = new RegExp(`^node\\s+["']?${escapedHarnessBin}["']?\\s+${subcommand}(\\s*\\|\\|\\s*cc-devflow\\s+harness\\s+${subcommand})?$`);
|
|
230
|
-
if (!hasLocalBinary && absoluteLegacy.test(existing.trim())) {
|
|
231
|
-
packageJson.scripts[scriptName] = desired;
|
|
232
|
-
repaired.push(scriptName);
|
|
233
|
-
changed = true;
|
|
234
|
-
}
|
|
235
|
-
}
|
|
236
|
-
|
|
237
|
-
if (!changed) {
|
|
238
|
-
return;
|
|
239
|
-
}
|
|
240
|
-
|
|
241
|
-
const indent = detectJsonIndent(raw);
|
|
242
|
-
fs.writeFileSync(pkgPath, `${JSON.stringify(packageJson, null, indent)}\n`);
|
|
243
|
-
|
|
244
|
-
if (added.length > 0) {
|
|
245
|
-
console.log(`[UPDATE] package.json (added ${added.join(', ')})`);
|
|
246
|
-
}
|
|
247
|
-
if (repaired.length > 0) {
|
|
248
|
-
console.log(`[UPDATE] package.json (repaired ${repaired.join(', ')})`);
|
|
171
|
+
copyManagedDirectory(sourceSkillDir, targetSkillDir, { force });
|
|
249
172
|
}
|
|
250
173
|
}
|
|
251
174
|
|
|
@@ -265,29 +188,25 @@ function runInit(args) {
|
|
|
265
188
|
return 1;
|
|
266
189
|
}
|
|
267
190
|
|
|
268
|
-
// Case 1: Directory does not exist -
|
|
191
|
+
// Case 1: Directory does not exist - Create managed skill roots only
|
|
269
192
|
if (!fs.existsSync(targetDir)) {
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
console.log(`Initialized .claude in ${targetRoot}`);
|
|
193
|
+
syncDistributedSkills(targetRoot);
|
|
194
|
+
console.log(`Initialized managed .claude skills in ${targetRoot}`);
|
|
273
195
|
return 0;
|
|
274
196
|
}
|
|
275
197
|
|
|
276
|
-
// Case 2: Directory exists + Force -
|
|
198
|
+
// Case 2: Directory exists + Force - Force-upgrade managed skills only
|
|
277
199
|
if (options.force) {
|
|
278
|
-
console.log('Force flag detected.
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
ensureHarnessScripts(targetRoot);
|
|
282
|
-
console.log(`Re-initialized .claude in ${targetRoot}`);
|
|
200
|
+
console.log('Force flag detected. Reinstalling managed skills without deleting unrelated .claude files...');
|
|
201
|
+
syncDistributedSkills(targetRoot, { force: true });
|
|
202
|
+
console.log(`Reinstalled managed .claude skills in ${targetRoot}`);
|
|
283
203
|
return 0;
|
|
284
204
|
}
|
|
285
205
|
|
|
286
206
|
// Case 3: Directory exists - Incremental Update
|
|
287
207
|
console.log(`Target ${targetDir} already exists. Performing incremental update...`);
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
console.log('Incremental update complete. Existing files were preserved.');
|
|
208
|
+
syncDistributedSkills(targetRoot);
|
|
209
|
+
console.log('Incremental update complete. Existing .claude files were preserved.');
|
|
291
210
|
return 0;
|
|
292
211
|
}
|
|
293
212
|
|
|
@@ -308,8 +227,6 @@ function runAdapt(args) {
|
|
|
308
227
|
return 1;
|
|
309
228
|
}
|
|
310
229
|
|
|
311
|
-
ensureHarnessScripts(targetRoot);
|
|
312
|
-
|
|
313
230
|
const result = spawnSync(process.execPath, [ADAPT_BIN, ...rest], {
|
|
314
231
|
stdio: 'inherit',
|
|
315
232
|
cwd: targetRoot
|
|
@@ -323,24 +240,6 @@ function runAdapt(args) {
|
|
|
323
240
|
return typeof result.status === 'number' ? result.status : 1;
|
|
324
241
|
}
|
|
325
242
|
|
|
326
|
-
function runHarness(args) {
|
|
327
|
-
const { options, rest } = parseCliArgs(args);
|
|
328
|
-
|
|
329
|
-
const targetRoot = path.resolve(options.cwd || process.cwd());
|
|
330
|
-
const cliArgs = options.help || rest.length === 0 ? ['--help'] : rest;
|
|
331
|
-
const result = spawnSync(process.execPath, [HARNESS_BIN, ...cliArgs], {
|
|
332
|
-
stdio: 'inherit',
|
|
333
|
-
cwd: targetRoot
|
|
334
|
-
});
|
|
335
|
-
|
|
336
|
-
if (result.error) {
|
|
337
|
-
console.error(`Failed to run harness: ${result.error.message}`);
|
|
338
|
-
return 1;
|
|
339
|
-
}
|
|
340
|
-
|
|
341
|
-
return typeof result.status === 'number' ? result.status : 1;
|
|
342
|
-
}
|
|
343
|
-
|
|
344
243
|
function runAdapter(command, args) {
|
|
345
244
|
const result = spawnSync(process.execPath, [ADAPTER_BIN, command, ...args], {
|
|
346
245
|
stdio: 'inherit'
|
|
@@ -371,10 +270,6 @@ function main() {
|
|
|
371
270
|
return runAdapt(rest);
|
|
372
271
|
}
|
|
373
272
|
|
|
374
|
-
if (command === 'harness') {
|
|
375
|
-
return runHarness(rest);
|
|
376
|
-
}
|
|
377
|
-
|
|
378
273
|
return runAdapter(command, rest);
|
|
379
274
|
}
|
|
380
275
|
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
{
|
|
2
|
+
"publicSkills": [
|
|
3
|
+
"cc-roadmap",
|
|
4
|
+
"cc-plan",
|
|
5
|
+
"cc-investigate",
|
|
6
|
+
"cc-do",
|
|
7
|
+
"cc-check",
|
|
8
|
+
"cc-act"
|
|
9
|
+
],
|
|
10
|
+
"distributedSkills": [
|
|
11
|
+
"cc-roadmap",
|
|
12
|
+
"cc-plan",
|
|
13
|
+
"cc-investigate",
|
|
14
|
+
"cc-do",
|
|
15
|
+
"cc-check",
|
|
16
|
+
"cc-act",
|
|
17
|
+
"cc-spec-init",
|
|
18
|
+
"cc-simplify"
|
|
19
|
+
],
|
|
20
|
+
"internalSkills": [
|
|
21
|
+
"docs-sync",
|
|
22
|
+
"npm-release"
|
|
23
|
+
]
|
|
24
|
+
}
|
package/docs/CLAUDE.md
CHANGED
|
@@ -7,20 +7,24 @@
|
|
|
7
7
|
```text
|
|
8
8
|
docs/
|
|
9
9
|
├── CLAUDE.md
|
|
10
|
-
├── SPEC_KIT_REFERENCE_ANALYSIS.md
|
|
11
|
-
├── SPEC_KIT_ITERATION_BORROWING.md
|
|
12
10
|
├── commands/
|
|
13
|
-
|
|
11
|
+
├── examples/
|
|
12
|
+
├── guides/
|
|
13
|
+
├── skill-runtime-migration.md
|
|
14
|
+
└── v4.3.0-migration-guide.md
|
|
14
15
|
```
|
|
15
16
|
|
|
16
17
|
## 文件职责(一句话说清)
|
|
17
18
|
|
|
18
|
-
- `docs/
|
|
19
|
-
- `docs/
|
|
19
|
+
- `docs/commands/`: CLI、分发与平台适配相关文档。
|
|
20
|
+
- `docs/examples/`: 端到端样例与样例绑定真相源。
|
|
21
|
+
- `docs/guides/`: 上手与迁移类说明。
|
|
22
|
+
- `docs/skill-runtime-migration.md`: 旧 runtime 叙事迁移说明。
|
|
23
|
+
- `docs/v4.3.0-migration-guide.md`: 对外版本迁移说明。
|
|
20
24
|
|
|
21
25
|
## 编写约定
|
|
22
26
|
|
|
23
27
|
- 面向使用者:优先写“怎么用/怎么做”,其次再写“为什么”。
|
|
24
28
|
- 可检索:标题清晰、关键词统一(`/flow-*`、`/core-*`、`/speckit.*`)。
|
|
25
29
|
- 可落地:结论必须能映射到具体命令、脚本或模板文件路径。
|
|
26
|
-
|
|
30
|
+
- change 目录命名必须保留大写逻辑 ID 前缀:`REQ-123-...` 表示需求变更,`FIX-123-...` 表示缺陷修复;描述部分使用 kebab-case。
|
package/docs/commands/README.md
CHANGED
|
@@ -1,57 +1,30 @@
|
|
|
1
|
-
#
|
|
1
|
+
# CLI And Skills
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
CC-DevFlow no longer uses the old `/flow:*` command surface as the primary interface.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
Use the repository CLI for whole-pack setup and platform adaptation:
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
```bash
|
|
8
|
+
npx cc-devflow init --dir /path/to/your/project
|
|
9
|
+
npx cc-devflow adapt --cwd /path/to/your/project --platform codex
|
|
10
|
+
```
|
|
8
11
|
|
|
9
|
-
|
|
10
|
-
|---------|---------|---------------|---------------|
|
|
11
|
-
| `/flow:init` | 📦 Initialize requirement context | `/flow:init "REQ-123\|Feature"` | [→](../../.claude/commands/flow/init.md) |
|
|
12
|
-
| `/flow:spec` | 📋 Generate task-manifest | `/flow:spec "REQ-123"` | [→](../../.claude/commands/flow/spec.md) |
|
|
13
|
-
| `/flow:dev` | 🛠️ Dispatch or resume task execution | `/flow:dev "REQ-123" --resume` | [→](../../.claude/commands/flow/dev.md) |
|
|
14
|
-
| `/flow:verify` | ✅ Quick/strict quality gates | `/flow:verify "REQ-123" --strict` | [→](../../.claude/commands/flow/verify.md) |
|
|
15
|
-
| `/flow:release` | 🚢 Release + runtime cleanup | `/flow:release "REQ-123"` | [→](../../.claude/commands/flow/release.md) |
|
|
16
|
-
| `/flow:status` | 📊 Query progress snapshot | `/flow:status REQ-123` | [→](../../.claude/commands/flow/status.md) |
|
|
17
|
-
| `/flow:restart` | 🔄 Recover interrupted workflow | `/flow:restart "REQ-123" --from=dev` | [→](../../.claude/commands/flow/restart.md) |
|
|
18
|
-
| `/flow:update` | ✅ Update task progress | `/flow:update "REQ-123" "T001"` | [→](../../.claude/commands/flow/update.md) |
|
|
19
|
-
| `/flow:fix` | 🐛 Bug fix workflow | `/flow:fix "BUG-001\|Description"` | [→](../../.claude/commands/flow/fix.md) |
|
|
12
|
+
Use skills directly for the workflow itself:
|
|
20
13
|
|
|
21
|
-
|
|
14
|
+
```text
|
|
15
|
+
cc-roadmap
|
|
22
16
|
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
| `/flow:clarify` | Use `/flow:spec` |
|
|
27
|
-
| `/flow:checklist` | Use `/flow:verify --strict` |
|
|
28
|
-
| `/flow:quality` | Use `/flow:verify` |
|
|
17
|
+
PDCA: cc-plan -> cc-do -> cc-check -> cc-act
|
|
18
|
+
IDCA: cc-investigate -> cc-do -> cc-check -> cc-act
|
|
19
|
+
```
|
|
29
20
|
|
|
30
|
-
|
|
21
|
+
Use maintenance skills separately when needed:
|
|
31
22
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
| `/core:roadmap` | 🗺️ Generate product roadmap | `/core:roadmap` | [→](./core-roadmap.md) |
|
|
35
|
-
| `/core:architecture` | 🏛️ Generate system architecture | `/core:architecture` | [→](./core-architecture.md) |
|
|
36
|
-
| `/core:guidelines` | 📘 Generate project guidelines | `/core:guidelines` | [→](./core-guidelines.md) |
|
|
37
|
-
| `/core:style` | 🎨 Generate style system guide | `/core:style` | [→](./core-style.md) |
|
|
23
|
+
- `cc-spec-init`: bootstrap or repair `devflow/specs/` and `change-meta.json`
|
|
24
|
+
- `cc-simplify`: cleanup pass before ship
|
|
38
25
|
|
|
39
|
-
|
|
26
|
+
Use [skills.sh CLI](https://skills.sh/docs/cli) when you only want one skill:
|
|
40
27
|
|
|
41
|
-
```
|
|
42
|
-
|
|
43
|
-
├─ Start requirement delivery? → /flow:init "REQ-123|Feature|URLs"
|
|
44
|
-
├─ Need executable plan? → /flow:spec "REQ-123"
|
|
45
|
-
├─ Need implementation/resume? → /flow:dev "REQ-123" [--resume]
|
|
46
|
-
├─ Need release gates? → /flow:verify "REQ-123" --strict
|
|
47
|
-
├─ Ready to ship? → /flow:release "REQ-123"
|
|
48
|
-
├─ Check progress? → /flow:status REQ-123
|
|
49
|
-
├─ Fix production bug? → /flow:fix "BUG-001|Description"
|
|
50
|
-
└─ Project-level planning? → /core:roadmap /core:architecture /core:guidelines
|
|
28
|
+
```bash
|
|
29
|
+
npx skills add https://github.com/Dimon94/cc-devflow --skill cc-roadmap
|
|
51
30
|
```
|
|
52
|
-
|
|
53
|
-
## 📚 Related Documentation
|
|
54
|
-
|
|
55
|
-
- [Getting Started Guide](../guides/getting-started.md)
|
|
56
|
-
- [Workflow Guide](../guides/workflow-guide.md)
|
|
57
|
-
- [Best Practices](../guides/best-practices.md)
|
|
@@ -1,53 +1,30 @@
|
|
|
1
|
-
#
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
| `/flow:restart` | 🔄 恢复中断工作流 | `/flow:restart "REQ-123" --from=dev` → [详细文档](../../.claude/commands/flow/restart.md) |
|
|
14
|
-
| `/flow:update` | ✅ 更新任务进度 | `/flow:update "REQ-123" "T001"` → [详细文档](../../.claude/commands/flow/update.md) |
|
|
15
|
-
| `/flow:fix` | 🐛 Bug 修复流程 | `/flow:fix "BUG-001\|描述"` → [详细文档](../../.claude/commands/flow/fix.md) |
|
|
16
|
-
|
|
17
|
-
## ⚠️ 已废弃命令
|
|
18
|
-
|
|
19
|
-
| 废弃命令 | 迁移路径 |
|
|
20
|
-
|----------|----------|
|
|
21
|
-
| `/flow:new` | `/flow:init -> /flow:spec -> /flow:dev -> /flow:verify -> /flow:release` |
|
|
22
|
-
| `/flow:clarify` | 使用 `/flow:spec` |
|
|
23
|
-
| `/flow:checklist` | 使用 `/flow:verify --strict` |
|
|
24
|
-
| `/flow:quality` | 使用 `/flow:verify` |
|
|
25
|
-
|
|
26
|
-
## 🏗️ 核心命令
|
|
27
|
-
|
|
28
|
-
| 命令 | 用途 | 快速示例 |
|
|
29
|
-
|------|------|----------|
|
|
30
|
-
| `/core:roadmap` | 🗺️ 生成产品路线图 | `/core:roadmap` → [详细文档](./core-roadmap.md) |
|
|
31
|
-
| `/core:architecture` | 🏛️ 生成系统架构 | `/core:architecture` → [详细文档](./core-architecture.md) |
|
|
32
|
-
| `/core:guidelines` | 📘 生成项目规范 | `/core:guidelines` → [详细文档](./core-guidelines.md) |
|
|
33
|
-
| `/core:style` | 🎨 生成设计风格指南 | `/core:style` → [详细文档](./core-style.md) |
|
|
34
|
-
|
|
35
|
-
## 🎯 快速选择指南
|
|
1
|
+
# CLI 与 Skill
|
|
2
|
+
|
|
3
|
+
CC-DevFlow 不再把旧的 `/flow:*` 命令面当作主要用户接口。
|
|
4
|
+
|
|
5
|
+
整包安装和多平台适配,使用仓库自带 CLI:
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npx cc-devflow init --dir /path/to/your/project
|
|
9
|
+
npx cc-devflow adapt --cwd /path/to/your/project --platform codex
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
真正的工作流直接使用 Skill:
|
|
36
13
|
|
|
37
14
|
```text
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
├─ 进行发布门禁? → /flow:verify "REQ-123" --strict
|
|
43
|
-
├─ 准备发布上线? → /flow:release "REQ-123"
|
|
44
|
-
├─ 检查进度? → /flow:status REQ-123
|
|
45
|
-
├─ 修复生产 Bug? → /flow:fix "BUG-001|描述"
|
|
46
|
-
└─ 做项目级规划? → /core:roadmap /core:architecture /core:guidelines
|
|
15
|
+
cc-roadmap
|
|
16
|
+
|
|
17
|
+
PDCA: cc-plan -> cc-do -> cc-check -> cc-act
|
|
18
|
+
IDCA: cc-investigate -> cc-do -> cc-check -> cc-act
|
|
47
19
|
```
|
|
48
20
|
|
|
49
|
-
|
|
21
|
+
维护类动作按需单独调用:
|
|
22
|
+
|
|
23
|
+
- `cc-spec-init`:初始化或修复 `devflow/specs/` 与 `change-meta.json`
|
|
24
|
+
- `cc-simplify`:ship 前做清理和坏味道检查
|
|
50
25
|
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
26
|
+
如果你只想安装单个 Skill,再使用 [skills.sh CLI](https://skills.sh/docs/cli):
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
npx skills add https://github.com/Dimon94/cc-devflow --skill cc-roadmap
|
|
30
|
+
```
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# Example Gallery
|
|
2
|
+
|
|
3
|
+
This page is now a compact list view.
|
|
4
|
+
|
|
5
|
+
The canonical one-page entry is [START-HERE.md](./START-HERE.md).
|
|
6
|
+
|
|
7
|
+
Use this page only when you already know you want the short list.
|
|
8
|
+
|
|
9
|
+
If you need to verify that examples still match the current skill contracts, use [example-bindings.json](./example-bindings.json) and [scripts/check-example-bindings.sh](./scripts/check-example-bindings.sh).
|
|
10
|
+
|
|
11
|
+
## Available Examples
|
|
12
|
+
|
|
13
|
+
### 1. Happy Path: tiny-design + `create-pr`
|
|
14
|
+
|
|
15
|
+
- Path: [./pdca-loop/README.md](./pdca-loop/README.md)
|
|
16
|
+
- Shows:
|
|
17
|
+
- `cc-roadmap -> cc-plan -> cc-do -> cc-check -> cc-act`
|
|
18
|
+
- `tiny-design`
|
|
19
|
+
- `pass`
|
|
20
|
+
- `create-pr`
|
|
21
|
+
|
|
22
|
+
### 2. Counterexample: `full-design` + `blocked` + reroute to `cc-plan`
|
|
23
|
+
|
|
24
|
+
- Path: [./full-design-blocked/README.md](./full-design-blocked/README.md)
|
|
25
|
+
- Shows:
|
|
26
|
+
- a requirement that was planned too narrowly for the real integration surface
|
|
27
|
+
- tests may pass, but `cc-check` still returns `blocked`
|
|
28
|
+
- the correct next move is to reopen planning instead of faking completion
|
|
29
|
+
|
|
30
|
+
### 3. Counterexample: verified work + `local-handoff`
|
|
31
|
+
|
|
32
|
+
- Path: [./local-handoff/README.md](./local-handoff/README.md)
|
|
33
|
+
- Shows:
|
|
34
|
+
- work that is truly verified
|
|
35
|
+
- a case where remote / PR actions are intentionally skipped
|
|
36
|
+
- `cc-act` leaving exactly one final handoff file, with `resume-index.md` only for local-handoff
|
|
37
|
+
|
|
38
|
+
If you need symptom routing or artifact-based lookup, go back to [START-HERE.md](./START-HERE.md).
|