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
|
@@ -2,275 +2,110 @@
|
|
|
2
2
|
|
|
3
3
|
## Overview
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
This guide is for teams moving from the old slash-command and harness-heavy mental model to the current skills-first distribution model.
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
The key change is simple:
|
|
8
|
+
|
|
9
|
+
- visible workflow surface: skills
|
|
10
|
+
- distribution surface: `cc-devflow init` and `cc-devflow adapt`
|
|
11
|
+
- shared skill runtime: internal implementation detail
|
|
8
12
|
|
|
9
|
-
|
|
13
|
+
---
|
|
10
14
|
|
|
11
|
-
|
|
15
|
+
## What Changed
|
|
12
16
|
|
|
13
|
-
|
|
17
|
+
### 1. Workflow Entry Changed
|
|
14
18
|
|
|
15
|
-
|
|
16
|
-
- [IMPL] tasks MUST depend on corresponding [TEST] tasks
|
|
17
|
-
- [TEST] tasks CANNOT depend on [IMPL] tasks
|
|
18
|
-
- Violations throw detailed error messages at `harness:plan` time
|
|
19
|
+
Old mental model:
|
|
19
20
|
|
|
20
|
-
|
|
21
|
+
```text
|
|
22
|
+
/flow:init -> /flow:spec -> /flow:dev -> /flow:verify -> /flow:release
|
|
21
23
|
```
|
|
22
|
-
TDD Order Validation Failed (Constitution Article VI):
|
|
23
24
|
|
|
24
|
-
|
|
25
|
-
Constitution Article VI requires: NO PRODUCTION CODE WITHOUT A FAILING TEST FIRST.
|
|
25
|
+
Current mental model:
|
|
26
26
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
```
|
|
27
|
+
```text
|
|
28
|
+
cc-roadmap
|
|
30
29
|
|
|
31
|
-
|
|
32
|
-
1. Review your existing TASKS.md files
|
|
33
|
-
2. Ensure all [IMPL] tasks have corresponding [TEST] tasks
|
|
34
|
-
3. Add `dependsOn` to [IMPL] tasks pointing to [TEST] tasks
|
|
35
|
-
4. Use `[P]` marker for parallel tasks that don't follow TEST→IMPL pattern
|
|
36
|
-
|
|
37
|
-
**Example Fix**:
|
|
38
|
-
```markdown
|
|
39
|
-
<!-- Before (INVALID) -->
|
|
40
|
-
- [ ] T001 [IMPL] 用户登录实现
|
|
41
|
-
- [ ] T002 [TEST] 用户登录测试
|
|
42
|
-
|
|
43
|
-
<!-- After (VALID) -->
|
|
44
|
-
- [ ] T001 [TEST] 用户登录测试
|
|
45
|
-
- [ ] T002 [IMPL] 用户登录实现 (dependsOn:T001)
|
|
30
|
+
cc-plan -> cc-do -> cc-check -> cc-act
|
|
46
31
|
```
|
|
47
32
|
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
**Feature**: Bidirectional conversion between OpenSpec and CC-DevFlow formats.
|
|
33
|
+
The workflow is now represented by explicit skills rather than a slash-command namespace.
|
|
51
34
|
|
|
52
|
-
|
|
53
|
-
- `/flow:import-openspec` - Import OpenSpec spec.md to CC-DevFlow
|
|
54
|
-
- `/flow:export-openspec` - Export CC-DevFlow spec.md to OpenSpec
|
|
35
|
+
### 2. Distribution Entry Changed
|
|
55
36
|
|
|
56
|
-
|
|
37
|
+
Whole-pack install and platform adaptation now belong to the packaged CLI:
|
|
57
38
|
|
|
58
|
-
#### Import from OpenSpec
|
|
59
39
|
```bash
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
--title "用户认证系统"
|
|
40
|
+
npx cc-devflow init --dir /path/to/project
|
|
41
|
+
npx cc-devflow adapt --cwd /path/to/project --platform codex
|
|
63
42
|
```
|
|
64
43
|
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
3. Auto-generates TDD tasks (TEST + IMPL pairs with correct dependencies)
|
|
69
|
-
4. Adds Design section with [NEEDS CLARIFICATION] markers
|
|
70
|
-
5. Generates Verification checklist
|
|
44
|
+
### 3. `skills.sh` Scope Narrowed
|
|
45
|
+
|
|
46
|
+
`skills.sh` remains supported, but only for single-skill distribution:
|
|
71
47
|
|
|
72
|
-
#### Export to OpenSpec
|
|
73
48
|
```bash
|
|
74
|
-
/
|
|
75
|
-
--output "/path/to/openspec/specs/auth/spec.md"
|
|
49
|
+
npx skills add https://github.com/Dimon94/cc-devflow --skill cc-roadmap
|
|
76
50
|
```
|
|
77
51
|
|
|
78
|
-
|
|
79
|
-
1. Parses CC-DevFlow spec.md
|
|
80
|
-
2. Strips YAML frontmatter and metadata
|
|
81
|
-
3. Removes Design, Tasks, Verification sections
|
|
82
|
-
4. Removes [NEEDS CLARIFICATION] markers
|
|
83
|
-
5. Outputs pure Requirements in OpenSpec format
|
|
84
|
-
|
|
85
|
-
**Round-Trip Guarantee**: Requirements are preserved through import→export→import cycles.
|
|
86
|
-
|
|
87
|
-
---
|
|
88
|
-
|
|
89
|
-
## Breaking Changes
|
|
90
|
-
|
|
91
|
-
### 1. TASKS.md Validation
|
|
92
|
-
|
|
93
|
-
**Before v4.3.0**: TDD order was recommended but not enforced.
|
|
52
|
+
Do not use `skills.sh` as the whole-pack lifecycle anymore.
|
|
94
53
|
|
|
95
|
-
|
|
54
|
+
### 4. `.claude/commands/` Is Optional
|
|
96
55
|
|
|
97
|
-
|
|
56
|
+
The compiler still accepts legacy prompt inputs if a project has `.claude/commands/`, but the repository no longer requires that directory to exist.
|
|
98
57
|
|
|
99
|
-
|
|
58
|
+
Skills-first repositories are valid.
|
|
100
59
|
|
|
101
|
-
|
|
60
|
+
### 5. Harness CLI Is Gone
|
|
102
61
|
|
|
103
|
-
|
|
62
|
+
`harness:*` is no longer the public CLI surface.
|
|
104
63
|
|
|
105
|
-
|
|
64
|
+
Shared support code may still exist under `lib/skill-runtime/`, but it should be treated as internal runtime support for the public skills.
|
|
106
65
|
|
|
107
66
|
---
|
|
108
67
|
|
|
109
|
-
##
|
|
68
|
+
## Old To New Mapping
|
|
110
69
|
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
-
|
|
116
|
-
-
|
|
117
|
-
|
|
118
|
-
**Examples**:
|
|
119
|
-
```
|
|
120
|
-
"用户登录功能测试" ↔ "用户登录功能实现" ✅ Match
|
|
121
|
-
"用户登录测试" ↔ "用户登录实现" ✅ Match
|
|
122
|
-
"用户登录" ↔ "用户登录功能" ✅ Match
|
|
123
|
-
"用户登录" ↔ "用户注册" ❌ No match
|
|
124
|
-
```
|
|
70
|
+
| Old Concept | New Concept |
|
|
71
|
+
|-------------|-------------|
|
|
72
|
+
| `/flow:*` | visible skills |
|
|
73
|
+
| `harness:*` CLI | internal skill runtime only |
|
|
74
|
+
| clone `.claude` manually | `cc-devflow init` |
|
|
75
|
+
| per-platform handwritten setup | `cc-devflow adapt` |
|
|
76
|
+
| skills pack via old CLI lifecycle | whole pack via `cc-devflow`, single skill via `skills.sh` |
|
|
125
77
|
|
|
126
78
|
---
|
|
127
79
|
|
|
128
|
-
##
|
|
80
|
+
## Migration Checklist
|
|
129
81
|
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
- [ ] T004 [OTHER] 配置文件更新 [P]
|
|
137
|
-
```
|
|
138
|
-
|
|
139
|
-
The `[P]` marker tells the validator to skip dependency checks for that task.
|
|
82
|
+
1. Replace old workflow references in docs with the five visible skills.
|
|
83
|
+
2. Replace old pack-install steps with `cc-devflow init`.
|
|
84
|
+
3. Replace old platform setup steps with `cc-devflow adapt`.
|
|
85
|
+
4. Keep `skills.sh` only for single-skill install or refresh.
|
|
86
|
+
5. Treat `.claude/commands/` as optional compatibility input, not required structure.
|
|
87
|
+
6. Stop documenting `harness:*` as if users should run it directly.
|
|
140
88
|
|
|
141
89
|
---
|
|
142
90
|
|
|
143
|
-
## OpenSpec Format Reference
|
|
144
|
-
|
|
145
|
-
### OpenSpec Format (Input)
|
|
146
|
-
```markdown
|
|
147
|
-
# Authentication Module
|
|
148
|
-
|
|
149
|
-
## Purpose
|
|
150
|
-
Provides secure authentication and session management.
|
|
151
|
-
|
|
152
|
-
## Requirements
|
|
153
|
-
|
|
154
|
-
### Requirement: User Login
|
|
155
|
-
The system SHALL allow users to log in with email and password.
|
|
156
|
-
|
|
157
|
-
#### Scenario: Valid credentials
|
|
158
|
-
- GIVEN a registered user
|
|
159
|
-
- WHEN the user submits valid email and password
|
|
160
|
-
- THEN a JWT token is issued
|
|
161
|
-
- AND the user is redirected to dashboard
|
|
162
|
-
```
|
|
163
|
-
|
|
164
|
-
### CC-DevFlow Format (Output)
|
|
165
|
-
```markdown
|
|
166
|
-
---
|
|
167
|
-
req_id: "REQ-123"
|
|
168
|
-
title: "用户认证系统"
|
|
169
|
-
created_at: "2026-03-13T10:00:00Z"
|
|
170
|
-
version: "1.0.0"
|
|
171
|
-
status: "draft"
|
|
172
|
-
source: "openspec"
|
|
173
|
-
---
|
|
174
|
-
|
|
175
|
-
# Authentication Module
|
|
176
|
-
|
|
177
|
-
## Purpose
|
|
178
|
-
Provides secure authentication and session management.
|
|
179
|
-
|
|
180
|
-
## Requirements
|
|
181
|
-
|
|
182
|
-
### Requirement: User Login
|
|
183
|
-
The system SHALL allow users to log in with email and password.
|
|
184
|
-
|
|
185
|
-
#### Scenario: Valid credentials
|
|
186
|
-
- GIVEN a registered user
|
|
187
|
-
- WHEN the user submits valid email and password
|
|
188
|
-
- THEN a JWT token is issued
|
|
189
|
-
- AND the user is redirected to dashboard
|
|
190
|
-
|
|
191
|
-
## Design
|
|
192
|
-
[NEEDS CLARIFICATION: 技术实现方案]
|
|
193
|
-
|
|
194
|
-
## Tasks
|
|
195
|
-
- [ ] T001 [TEST] User Login - 测试
|
|
196
|
-
- [ ] T002 [IMPL] User Login - 实现 (dependsOn:T001)
|
|
197
|
-
|
|
198
91
|
## Verification
|
|
199
|
-
- [ ] User Login
|
|
200
|
-
- [ ] Valid credentials
|
|
201
|
-
```
|
|
202
|
-
|
|
203
|
-
---
|
|
204
|
-
|
|
205
|
-
## Testing
|
|
206
92
|
|
|
207
|
-
|
|
93
|
+
After migration, these commands should succeed:
|
|
208
94
|
|
|
209
95
|
```bash
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
# Run TDD validation tests only
|
|
214
|
-
npm test -- planner.tdd.test.js
|
|
215
|
-
|
|
216
|
-
# Run OpenSpec interop tests only
|
|
217
|
-
npm test -- openspec.test.js
|
|
96
|
+
npx cc-devflow --help
|
|
97
|
+
npx cc-devflow init --dir /tmp/cc-devflow-demo
|
|
98
|
+
npx cc-devflow adapt --cwd /tmp/cc-devflow-demo --platform codex
|
|
218
99
|
```
|
|
219
100
|
|
|
220
|
-
|
|
221
|
-
- TDD validation: 10 tests (all passing)
|
|
222
|
-
- OpenSpec interop: 5 tests (all passing)
|
|
223
|
-
- Total: 233 tests (all passing)
|
|
224
|
-
|
|
225
|
-
---
|
|
226
|
-
|
|
227
|
-
## Troubleshooting
|
|
228
|
-
|
|
229
|
-
### Error: "Task T002 missing corresponding TEST task"
|
|
230
|
-
|
|
231
|
-
**Cause**: An [IMPL] task has no matching [TEST] task.
|
|
232
|
-
|
|
233
|
-
**Solution**: Add a [TEST] task with similar feature name before the [IMPL] task.
|
|
234
|
-
|
|
235
|
-
### Error: "Task T002 must depend on T001"
|
|
236
|
-
|
|
237
|
-
**Cause**: An [IMPL] task doesn't depend on its corresponding [TEST] task.
|
|
238
|
-
|
|
239
|
-
**Solution**: Add `(dependsOn:T001)` to the [IMPL] task.
|
|
240
|
-
|
|
241
|
-
### Error: "Task T001 depends on IMPL tasks"
|
|
242
|
-
|
|
243
|
-
**Cause**: A [TEST] task depends on an [IMPL] task (reverse TDD order).
|
|
101
|
+
And the installed project should contain:
|
|
244
102
|
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
---
|
|
254
|
-
|
|
255
|
-
## Rollback
|
|
256
|
-
|
|
257
|
-
If you need to rollback to v4.2.0:
|
|
258
|
-
|
|
259
|
-
```bash
|
|
260
|
-
npm install cc-devflow@4.2.0
|
|
103
|
+
```text
|
|
104
|
+
.claude/skills/cc-roadmap/SKILL.md
|
|
105
|
+
.claude/skills/cc-plan/SKILL.md
|
|
106
|
+
.claude/skills/cc-investigate/SKILL.md
|
|
107
|
+
.claude/skills/cc-do/SKILL.md
|
|
108
|
+
.claude/skills/cc-check/SKILL.md
|
|
109
|
+
.claude/skills/cc-act/SKILL.md
|
|
110
|
+
.claude/skills/cc-simplify/SKILL.md
|
|
261
111
|
```
|
|
262
|
-
|
|
263
|
-
Note: v4.2.0 does not have TDD validation or OpenSpec interop features.
|
|
264
|
-
|
|
265
|
-
---
|
|
266
|
-
|
|
267
|
-
## Support
|
|
268
|
-
|
|
269
|
-
- GitHub Issues: https://github.com/anthropics/cc-devflow/issues
|
|
270
|
-
- Documentation: https://github.com/anthropics/cc-devflow/tree/main/docs
|
|
271
|
-
- Constitution: `.claude/rules/project-constitution.md`
|
|
272
|
-
|
|
273
|
-
---
|
|
274
|
-
|
|
275
|
-
**Last Updated**: 2026-03-13
|
|
276
|
-
**Version**: 4.3.0
|
package/lib/compiler/CLAUDE.md
CHANGED
|
@@ -1,125 +1,96 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Skills-First Compiler Module Architecture
|
|
2
2
|
|
|
3
3
|
## Purpose
|
|
4
|
-
Multi-platform compiler that transforms `.claude/`
|
|
4
|
+
Multi-platform compiler that transforms `.claude/skills/` plus optional `.claude/commands/*.md` into native outputs for Codex, Cursor, Qwen, and Antigravity platforms.
|
|
5
5
|
|
|
6
|
-
## Architecture
|
|
6
|
+
## Architecture
|
|
7
7
|
|
|
8
8
|
```
|
|
9
9
|
lib/compiler/
|
|
10
|
-
├── parser.js # Parse .md files, extract frontmatter + detect placeholders
|
|
10
|
+
├── parser.js # Parse optional command .md files, extract frontmatter + detect placeholders
|
|
11
11
|
├── transformer.js # Expand {SCRIPT:*}, {AGENT_SCRIPT}, map $ARGUMENTS
|
|
12
12
|
├── manifest.js # Incremental compilation, drift detection
|
|
13
|
-
├── schemas.js # Zod validation schemas (
|
|
13
|
+
├── schemas.js # Zod validation schemas (PromptIR, Manifest)
|
|
14
14
|
├── errors.js # Custom error types (MissingFrontmatter, UnknownAlias, etc.)
|
|
15
15
|
├── skills-registry.js # Generate skills registry from .claude/skills/
|
|
16
|
-
├── skill-discovery.js # Recursive SKILL.md discovery (grouped + root skills)
|
|
17
|
-
├── resource-copier.js # Resource collection/copy and .claude path rewriting
|
|
18
|
-
├── platforms.js # Platform configuration registry (v2.0)
|
|
19
|
-
├── context-expander.js # context.jsonl expansion (v3.0)
|
|
20
16
|
├── index.js # Compiler entry point, orchestrates pipeline
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
└── rules-emitters/ # Legacy rules emitters (deprecated)
|
|
29
|
-
└── ...
|
|
17
|
+
└── emitters/
|
|
18
|
+
├── base-emitter.js # Abstract base class
|
|
19
|
+
├── codex-emitter.js # .codex/prompts/*.md (YAML frontmatter)
|
|
20
|
+
├── cursor-emitter.js # .cursor/commands/*.md (pure Markdown)
|
|
21
|
+
├── qwen-emitter.js # .qwen/commands/*.toml (TOML format)
|
|
22
|
+
├── antigravity-emitter.js # .agent/workflows/*.md (12K limit, auto-split)
|
|
23
|
+
└── index.js # Emitter factory
|
|
30
24
|
```
|
|
31
25
|
|
|
32
|
-
##
|
|
33
|
-
|
|
34
|
-
### Supported Modules
|
|
35
|
-
|
|
36
|
-
| Module | Source | Codex | Cursor | Qwen | Antigravity |
|
|
37
|
-
|--------|--------|-------|--------|------|-------------|
|
|
38
|
-
| skills | `.claude/skills/` | `.codex/skills/` | `.cursor/rules/*.mdc` | `.qwen/commands/*.toml` | `.agent/skills/` |
|
|
39
|
-
| commands | `.claude/commands/` | `.codex/prompts/` | `.cursor/commands/` | `.qwen/commands/` | `.agent/workflows/` |
|
|
40
|
-
| agents | `.claude/agents/` | `AGENTS.md` | `.cursor/subagents/` | `.qwen/agents/` | `AGENTS.md` |
|
|
41
|
-
| rules | `.claude/rules/` | `AGENTS.md` | `.cursor/rules/*.mdc` | `CONTEXT.md` | `.agent/rules/` |
|
|
42
|
-
| hooks | `.claude/hooks/` | ❌ | `hooks.json` + `hooks/` | ❌ | ❌ |
|
|
43
|
-
|
|
44
|
-
### Data Flow (v3.0)
|
|
26
|
+
## Data Flow
|
|
45
27
|
|
|
46
28
|
```
|
|
47
|
-
.claude/
|
|
48
|
-
├── skills/*/SKILL.md
|
|
49
|
-
├── commands/*.md
|
|
50
|
-
├── agents/*.md
|
|
51
|
-
├── rules/*.md
|
|
52
|
-
└── hooks/*.ts
|
|
29
|
+
.claude/skills/
|
|
53
30
|
│
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
│
|
|
58
|
-
|
|
31
|
+
├──────────────► skills-registry.json + platform rules
|
|
32
|
+
│
|
|
33
|
+
└── optional `.claude/commands/*.md`
|
|
34
|
+
│
|
|
35
|
+
▼
|
|
36
|
+
┌─────────────────┐
|
|
37
|
+
│ Parser │ gray-matter → PromptIR
|
|
38
|
+
│ (parser.js) │ - Extract frontmatter
|
|
39
|
+
│ │ - Detect placeholders
|
|
40
|
+
│ │ - Compute SHA-256 hash
|
|
41
|
+
└────────┬────────┘
|
|
42
|
+
│ PromptIR[]
|
|
43
|
+
▼
|
|
44
|
+
┌─────────────────┐
|
|
45
|
+
│ Transformer │ Platform-specific transforms
|
|
46
|
+
│(transformer.js) │ - {SCRIPT:alias} → "bash <path>"
|
|
47
|
+
│ │ - $ARGUMENTS → {{args}} / [arguments]
|
|
48
|
+
│ │ - {AGENT_SCRIPT} + __AGENT__ substitution
|
|
49
|
+
└────────┬────────┘
|
|
50
|
+
│ TransformedContent
|
|
51
|
+
▼
|
|
52
|
+
┌─────────────────┐
|
|
53
|
+
│ Emitters │ Platform format + file write
|
|
54
|
+
│ (emitters/*.js) │ - Codex: MD + YAML frontmatter
|
|
55
|
+
│ │ - Cursor: pure MD
|
|
56
|
+
│ │ - Qwen: TOML
|
|
57
|
+
│ │ - Antigravity: MD + YAML (12K limit)
|
|
58
|
+
└────────┬────────┘
|
|
59
59
|
│
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
│
|
|
64
|
-
│
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
▼ ▼ ▼ ▼ ▼
|
|
68
|
-
Platform-specific output directories
|
|
60
|
+
▼
|
|
61
|
+
┌─────────────────┐
|
|
62
|
+
│ Manifest │ devflow/.generated/manifest.json
|
|
63
|
+
│ (manifest.js) │ - Track source/target hashes
|
|
64
|
+
│ │ - Enable incremental compilation
|
|
65
|
+
│ │ - Detect drift
|
|
66
|
+
└─────────────────┘
|
|
69
67
|
```
|
|
70
68
|
|
|
71
69
|
## CLI Usage
|
|
72
70
|
|
|
73
71
|
```bash
|
|
74
|
-
# Compile commands + modules
|
|
75
72
|
npm run adapt # Compile all platforms
|
|
76
73
|
npm run adapt -- --platform codex # Compile single platform
|
|
77
74
|
npm run adapt -- --check # Drift detection only
|
|
78
|
-
|
|
79
|
-
#
|
|
80
|
-
npm run adapt -- --modules skills,commands,agents,rules
|
|
81
|
-
npm run adapt -- --modules skills --platform cursor
|
|
82
|
-
```
|
|
83
|
-
|
|
84
|
-
## Key APIs
|
|
85
|
-
|
|
86
|
-
### compile(options) - Main Flow
|
|
87
|
-
Compiles commands and emits platform modules (skills, agents, rules, hooks).
|
|
88
|
-
|
|
89
|
-
### compileMultiModule(options) - v3.0
|
|
90
|
-
Compiles all specified modules.
|
|
91
|
-
|
|
92
|
-
```javascript
|
|
93
|
-
const { compileMultiModule } = require('./lib/compiler');
|
|
94
|
-
|
|
95
|
-
await compileMultiModule({
|
|
96
|
-
sourceBaseDir: '.claude/',
|
|
97
|
-
outputBaseDir: '.',
|
|
98
|
-
platforms: ['codex', 'cursor', 'qwen', 'antigravity'],
|
|
99
|
-
modules: ['skills', 'commands', 'agents', 'rules'],
|
|
100
|
-
verbose: true
|
|
101
|
-
});
|
|
75
|
+
npm run adapt -- --skills # Generate skills-registry.json
|
|
76
|
+
npm run adapt -- --verbose # Detailed output
|
|
102
77
|
```
|
|
103
78
|
|
|
104
79
|
## Key Schemas
|
|
105
80
|
|
|
106
|
-
- **
|
|
81
|
+
- **PromptIR**: Intermediate representation after parsing
|
|
107
82
|
- **ManifestEntry**: Single compilation record (source, target, hash, platform)
|
|
108
83
|
- **Manifest**: Complete compilation history
|
|
109
|
-
- **PlatformConfig**: Platform-specific configuration (v2.0)
|
|
110
84
|
|
|
111
85
|
## Dependencies
|
|
112
86
|
|
|
113
87
|
- `gray-matter`: Frontmatter parsing
|
|
114
88
|
- `@iarna/toml`: TOML serialization (Qwen)
|
|
115
|
-
- `js-yaml`: YAML serialization (Codex, Antigravity
|
|
89
|
+
- `js-yaml`: YAML serialization (Codex, Antigravity)
|
|
116
90
|
- `zod`: Schema validation
|
|
117
91
|
|
|
118
92
|
---
|
|
119
93
|
|
|
120
94
|
**Created**: 2025-12-18
|
|
121
|
-
**
|
|
122
|
-
**
|
|
123
|
-
**Version**: 3.0.0
|
|
124
|
-
|
|
125
|
-
[PROTOCOL]: 变更时更新此头部,然后检查 CLAUDE.md
|
|
95
|
+
**REQ**: REQ-005 (RM-007)
|
|
96
|
+
**Version**: 1.0.0
|
|
@@ -124,7 +124,7 @@ describe('Drift Detection', () => {
|
|
|
124
124
|
|
|
125
125
|
describe('Rules Entry Drift Detection', () => {
|
|
126
126
|
test('should include rules entry files in drift check', async () => {
|
|
127
|
-
//
|
|
127
|
+
// 规则入口文件应该和其他编译产物一样被检测
|
|
128
128
|
// 这需要在 Phase 4 扩展 checkDrift 函数
|
|
129
129
|
|
|
130
130
|
const { checkDrift, hashContent, addRulesEntry, createManifest } = require('../manifest');
|
|
@@ -41,6 +41,52 @@ describe('Full Compilation Integration', () => {
|
|
|
41
41
|
// expect(result.skillsRegistered).toBeGreaterThan(0);
|
|
42
42
|
});
|
|
43
43
|
|
|
44
|
+
test('should allow skills-first compilation without .claude/commands', async () => {
|
|
45
|
+
const { compile } = require('../index');
|
|
46
|
+
const tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), 'cc-devflow-compile-'));
|
|
47
|
+
const skillsSrc = path.resolve('.claude/skills');
|
|
48
|
+
const skillsDest = path.join(tmpDir, '.claude', 'skills');
|
|
49
|
+
const legacyManagedSkill = path.join(tmpDir, '.codex', 'skills', 'cc-devflow', 'SKILL.md');
|
|
50
|
+
const customSkill = path.join(tmpDir, '.codex', 'skills', 'custom-skill', 'SKILL.md');
|
|
51
|
+
|
|
52
|
+
fs.mkdirSync(path.dirname(skillsDest), { recursive: true });
|
|
53
|
+
fs.cpSync(skillsSrc, skillsDest, { recursive: true });
|
|
54
|
+
fs.mkdirSync(path.dirname(legacyManagedSkill), { recursive: true });
|
|
55
|
+
fs.mkdirSync(path.dirname(customSkill), { recursive: true });
|
|
56
|
+
fs.writeFileSync(legacyManagedSkill, 'legacy aggregate skill\n');
|
|
57
|
+
fs.writeFileSync(customSkill, 'custom codex skill\n');
|
|
58
|
+
|
|
59
|
+
const previousCwd = process.cwd();
|
|
60
|
+
process.chdir(tmpDir);
|
|
61
|
+
|
|
62
|
+
try {
|
|
63
|
+
const result = await compile({
|
|
64
|
+
outputBaseDir: '.',
|
|
65
|
+
platforms: ['codex'],
|
|
66
|
+
verbose: false,
|
|
67
|
+
rules: true,
|
|
68
|
+
skills: true
|
|
69
|
+
});
|
|
70
|
+
|
|
71
|
+
expect(result.success).toBe(true);
|
|
72
|
+
expect(result.skillsRegistered).toBeGreaterThan(0);
|
|
73
|
+
expect(result.rulesGenerated).toBe(0);
|
|
74
|
+
expect(fs.readFileSync(legacyManagedSkill, 'utf8')).toBe('legacy aggregate skill\n');
|
|
75
|
+
expect(fs.readFileSync(customSkill, 'utf8')).toBe('custom codex skill\n');
|
|
76
|
+
expect(fs.existsSync(path.join(tmpDir, '.codex', 'skills', 'cc-roadmap', 'SKILL.md'))).toBe(true);
|
|
77
|
+
expect(fs.existsSync(path.join(tmpDir, '.codex', 'skills', 'cc-plan', 'SKILL.md'))).toBe(true);
|
|
78
|
+
expect(fs.existsSync(path.join(tmpDir, '.codex', 'skills', 'cc-investigate', 'SKILL.md'))).toBe(true);
|
|
79
|
+
expect(fs.existsSync(path.join(tmpDir, '.codex', 'skills', 'cc-do', 'SKILL.md'))).toBe(true);
|
|
80
|
+
expect(fs.existsSync(path.join(tmpDir, '.codex', 'skills', 'cc-check', 'SKILL.md'))).toBe(true);
|
|
81
|
+
expect(fs.existsSync(path.join(tmpDir, '.codex', 'skills', 'cc-act', 'SKILL.md'))).toBe(true);
|
|
82
|
+
expect(fs.existsSync(path.join(tmpDir, '.codex', 'skills', 'cc-spec-init', 'SKILL.md'))).toBe(true);
|
|
83
|
+
expect(fs.existsSync(path.join(tmpDir, '.codex', 'skills', 'cc-simplify', 'SKILL.md'))).toBe(true);
|
|
84
|
+
} finally {
|
|
85
|
+
process.chdir(previousCwd);
|
|
86
|
+
fs.rmSync(tmpDir, { recursive: true, force: true });
|
|
87
|
+
}
|
|
88
|
+
});
|
|
89
|
+
|
|
44
90
|
test('should generate 4 platform rule entry files', async () => {
|
|
45
91
|
const { PLATFORMS, getRulesEntryPath } = require('../platforms');
|
|
46
92
|
|
|
@@ -52,7 +98,7 @@ describe('Full Compilation Integration', () => {
|
|
|
52
98
|
|
|
53
99
|
// 验证规则入口路径
|
|
54
100
|
expect(getRulesEntryPath('cursor')).toBe('.cursor/rules/devflow.mdc');
|
|
55
|
-
expect(getRulesEntryPath('codex')).toBe(
|
|
101
|
+
expect(getRulesEntryPath('codex')).toBe(null);
|
|
56
102
|
expect(getRulesEntryPath('qwen')).toBe('.qwen/commands/devflow.toml');
|
|
57
103
|
expect(getRulesEntryPath('antigravity')).toBe('.agent/rules/rules.md');
|
|
58
104
|
});
|
|
@@ -135,14 +181,14 @@ name = "cc-devflow"
|
|
|
135
181
|
description = "CC-DevFlow development workflow system"
|
|
136
182
|
|
|
137
183
|
[commands]
|
|
138
|
-
|
|
184
|
+
cc-plan = { description = "Plan one requirement" }
|
|
139
185
|
`;
|
|
140
186
|
|
|
141
187
|
expect(() => TOML.parse(expectedTOML)).not.toThrow();
|
|
142
188
|
|
|
143
189
|
const parsed = TOML.parse(expectedTOML);
|
|
144
190
|
expect(parsed.skill.name).toBe('cc-devflow');
|
|
145
|
-
expect(parsed.commands['
|
|
191
|
+
expect(parsed.commands['cc-plan']).toBeDefined();
|
|
146
192
|
});
|
|
147
193
|
|
|
148
194
|
test('should verify Antigravity size limit', async () => {
|