claude-code-pilot 2.0.0 → 3.1.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/README.md +76 -97
- package/bin/install.js +267 -250
- package/manifest.json +5 -18
- package/package.json +5 -7
- package/src/agents/build-error-resolver.md +114 -0
- package/src/agents/ccp-advisor-researcher.md +104 -0
- package/src/agents/ccp-assumptions-analyzer.md +105 -0
- package/{gsd/agents/gsd-codebase-mapper.md → src/agents/ccp-codebase-mapper.md} +7 -7
- package/{gsd/agents/gsd-debugger.md → src/agents/ccp-debugger.md} +125 -8
- package/{gsd/agents/gsd-executor.md → src/agents/ccp-executor.md} +31 -20
- package/{gsd/agents/gsd-integration-checker.md → src/agents/ccp-integration-checker.md} +2 -2
- package/{gsd/agents/gsd-nyquist-auditor.md → src/agents/ccp-nyquist-auditor.md} +3 -3
- package/{gsd/agents/gsd-phase-researcher.md → src/agents/ccp-phase-researcher.md} +127 -13
- package/{gsd/agents/gsd-plan-checker.md → src/agents/ccp-plan-checker.md} +57 -21
- package/{gsd/agents/gsd-planner.md → src/agents/ccp-planner.md} +61 -23
- package/{gsd/agents/gsd-project-researcher.md → src/agents/ccp-project-researcher.md} +33 -6
- package/{gsd/agents/gsd-research-synthesizer.md → src/agents/ccp-research-synthesizer.md} +11 -11
- package/{gsd/agents/gsd-roadmapper.md → src/agents/ccp-roadmapper.md} +39 -10
- package/src/agents/ccp-ui-auditor.md +439 -0
- package/src/agents/ccp-ui-checker.md +300 -0
- package/src/agents/ccp-ui-researcher.md +357 -0
- package/{gsd/agents/gsd-verifier.md → src/agents/ccp-verifier.md} +81 -15
- package/src/agents/cpp-build-resolver.md +90 -0
- package/src/agents/cpp-reviewer.md +72 -0
- package/src/agents/database-reviewer.md +91 -0
- package/{ecc → src}/agents/doc-updater.md +1 -1
- package/src/agents/docs-lookup.md +68 -0
- package/src/agents/flutter-reviewer.md +243 -0
- package/src/agents/gan-evaluator.md +209 -0
- package/src/agents/gan-generator.md +131 -0
- package/src/agents/gan-planner.md +99 -0
- package/src/agents/go-build-resolver.md +94 -0
- package/src/agents/go-reviewer.md +76 -0
- package/src/agents/harness-optimizer.md +35 -0
- package/src/agents/java-build-resolver.md +153 -0
- package/src/agents/java-reviewer.md +92 -0
- package/src/agents/kotlin-build-resolver.md +118 -0
- package/src/agents/kotlin-reviewer.md +159 -0
- package/src/agents/loop-operator.md +36 -0
- package/src/agents/opensource-forker.md +198 -0
- package/src/agents/opensource-packager.md +249 -0
- package/src/agents/opensource-sanitizer.md +188 -0
- package/src/agents/performance-optimizer.md +446 -0
- package/src/agents/planner.md +212 -0
- package/src/agents/python-reviewer.md +98 -0
- package/src/agents/pytorch-build-resolver.md +120 -0
- package/src/agents/refactor-cleaner.md +85 -0
- package/src/agents/rust-build-resolver.md +148 -0
- package/src/agents/rust-reviewer.md +94 -0
- package/src/agents/typescript-reviewer.md +112 -0
- package/src/available-rules/README.md +80 -0
- package/src/available-rules/cpp/coding-style.md +44 -0
- package/src/available-rules/cpp/hooks.md +39 -0
- package/src/available-rules/cpp/patterns.md +51 -0
- package/src/available-rules/cpp/security.md +51 -0
- package/src/available-rules/cpp/testing.md +44 -0
- package/src/available-rules/csharp/coding-style.md +72 -0
- package/src/available-rules/csharp/hooks.md +25 -0
- package/src/available-rules/csharp/patterns.md +50 -0
- package/src/available-rules/csharp/security.md +58 -0
- package/src/available-rules/csharp/testing.md +46 -0
- package/src/available-rules/java/coding-style.md +114 -0
- package/src/available-rules/java/hooks.md +18 -0
- package/src/available-rules/java/patterns.md +146 -0
- package/src/available-rules/java/security.md +100 -0
- package/src/available-rules/java/testing.md +131 -0
- package/src/available-rules/kotlin/hooks.md +17 -0
- package/src/available-rules/rust/coding-style.md +151 -0
- package/src/available-rules/rust/hooks.md +16 -0
- package/src/available-rules/rust/patterns.md +168 -0
- package/src/available-rules/rust/security.md +141 -0
- package/src/available-rules/rust/testing.md +154 -0
- package/src/commands/ccp/add-backlog.md +76 -0
- package/{gsd/commands-gsd → src/commands/ccp}/add-phase.md +3 -3
- package/{gsd/commands-gsd → src/commands/ccp}/add-tests.md +5 -5
- package/{gsd/commands-gsd → src/commands/ccp}/add-todo.md +4 -4
- package/src/commands/ccp/aside.md +165 -0
- package/{gsd/commands-gsd → src/commands/ccp}/audit-milestone.md +3 -3
- package/src/commands/ccp/audit-uat.md +24 -0
- package/src/commands/ccp/autonomous.md +41 -0
- package/src/commands/ccp/build-fix.md +67 -0
- package/{gsd/commands-gsd → src/commands/ccp}/check-todos.md +3 -3
- package/{ecc/commands → src/commands/ccp}/checkpoint.md +12 -7
- package/{gsd/commands-gsd → src/commands/ccp}/cleanup.md +3 -3
- package/src/commands/ccp/code-review.md +45 -0
- package/{gsd/commands-gsd → src/commands/ccp}/complete-milestone.md +9 -9
- package/src/commands/ccp/context-budget.md +30 -0
- package/src/commands/ccp/cpp-build.md +174 -0
- package/src/commands/ccp/cpp-review.md +133 -0
- package/src/commands/ccp/cpp-test.md +252 -0
- package/{gsd/commands-gsd → src/commands/ccp}/debug.md +14 -9
- package/src/commands/ccp/discuss-phase.md +64 -0
- package/src/commands/ccp/do.md +30 -0
- package/src/commands/ccp/docs-update.md +48 -0
- package/src/commands/ccp/docs.md +32 -0
- package/src/commands/ccp/e2e.md +365 -0
- package/src/commands/ccp/eval.md +125 -0
- package/{ecc/commands → src/commands/ccp}/evolve.md +5 -5
- package/src/commands/ccp/execute-phase.md +59 -0
- package/src/commands/ccp/fast.md +30 -0
- package/src/commands/ccp/forensics.md +56 -0
- package/src/commands/ccp/go-build.md +184 -0
- package/src/commands/ccp/go-review.md +149 -0
- package/src/commands/ccp/go-test.md +269 -0
- package/src/commands/ccp/gradle-build.md +71 -0
- package/src/commands/ccp/harness-audit.md +76 -0
- package/{gsd/commands-gsd → src/commands/ccp}/health.md +3 -3
- package/{gsd/commands-gsd → src/commands/ccp}/help.md +5 -5
- package/{gsd/commands-gsd → src/commands/ccp}/insert-phase.md +3 -3
- package/src/commands/ccp/kotlin-build.md +175 -0
- package/src/commands/ccp/kotlin-review.md +141 -0
- package/src/commands/ccp/kotlin-test.md +313 -0
- package/{ecc/commands → src/commands/ccp}/learn.md +7 -2
- package/{gsd/commands-gsd → src/commands/ccp}/list-phase-assumptions.md +2 -2
- package/src/commands/ccp/manager.md +39 -0
- package/{gsd/commands-gsd → src/commands/ccp}/map-codebase.md +7 -7
- package/src/commands/ccp/milestone-summary.md +51 -0
- package/{ecc/commands → src/commands/ccp}/model-route.md +6 -1
- package/{gsd/commands-gsd → src/commands/ccp}/new-milestone.md +8 -8
- package/{gsd/commands-gsd → src/commands/ccp}/new-project.md +8 -8
- package/src/commands/ccp/next.md +24 -0
- package/src/commands/ccp/note.md +34 -0
- package/src/commands/ccp/orchestrate.md +232 -0
- package/{gsd/commands-gsd → src/commands/ccp}/pause-work.md +3 -3
- package/{gsd/commands-gsd → src/commands/ccp}/plan-milestone-gaps.md +5 -5
- package/{gsd/commands-gsd → src/commands/ccp}/plan-phase.md +9 -7
- package/src/commands/ccp/plan.md +115 -0
- package/src/commands/ccp/plant-seed.md +28 -0
- package/src/commands/ccp/pr-branch.md +25 -0
- package/src/commands/ccp/profile-user.md +46 -0
- package/{gsd/commands-gsd → src/commands/ccp}/progress.md +3 -3
- package/src/commands/ccp/prompt-optimize.md +39 -0
- package/src/commands/ccp/prune.md +25 -0
- package/src/commands/ccp/python-review.md +298 -0
- package/{ecc/commands → src/commands/ccp}/quality-gate.md +7 -2
- package/{gsd/commands-gsd → src/commands/ccp}/quick.md +10 -8
- package/src/commands/ccp/refactor-clean.md +85 -0
- package/{gsd/commands-gsd → src/commands/ccp}/remove-phase.md +3 -3
- package/{gsd/commands-gsd → src/commands/ccp}/research-phase.md +17 -12
- package/{ecc/commands → src/commands/ccp}/resume-session.md +9 -8
- package/{gsd/commands-gsd → src/commands/ccp}/resume-work.md +3 -3
- package/src/commands/ccp/review-backlog.md +61 -0
- package/src/commands/ccp/review.md +37 -0
- package/src/commands/ccp/rules-distill.md +12 -0
- package/src/commands/ccp/rust-build.md +188 -0
- package/src/commands/ccp/rust-review.md +143 -0
- package/src/commands/ccp/rust-test.md +309 -0
- package/{ecc/commands → src/commands/ccp}/save-session.md +2 -1
- package/src/commands/ccp/secure-phase.md +35 -0
- package/src/commands/ccp/session-report.md +19 -0
- package/{ecc/commands → src/commands/ccp}/sessions.md +39 -34
- package/src/commands/ccp/set-profile.md +12 -0
- package/{gsd/commands-gsd → src/commands/ccp}/settings.md +5 -5
- package/src/commands/ccp/setup-pm.md +81 -0
- package/{kit/commands → src/commands/ccp}/setup-refresh.md +4 -3
- package/{kit/commands → src/commands/ccp}/setup.md +67 -40
- package/src/commands/ccp/ship.md +23 -0
- package/src/commands/ccp/skill-create.md +172 -0
- package/src/commands/ccp/skill-health.md +51 -0
- package/src/commands/ccp/stats.md +18 -0
- package/src/commands/ccp/tdd.md +329 -0
- package/src/commands/ccp/test-coverage.md +74 -0
- package/src/commands/ccp/thread.md +127 -0
- package/{kit/commands → src/commands/ccp}/tool-guide.md +2 -1
- package/src/commands/ccp/ui-phase.md +34 -0
- package/src/commands/ccp/ui-review.md +32 -0
- package/src/commands/ccp/update-codemaps.md +77 -0
- package/src/commands/ccp/update-docs.md +89 -0
- package/{gsd/commands-gsd → src/commands/ccp}/update.md +5 -5
- package/{gsd/commands-gsd → src/commands/ccp}/validate-phase.md +3 -3
- package/{gsd/commands-gsd → src/commands/ccp}/verify-work.md +5 -5
- package/{ecc/commands → src/commands/ccp}/verify.md +5 -0
- package/src/commands/ccp/workstreams.md +68 -0
- package/{ecc → src}/examples/CLAUDE.md +4 -4
- package/{ecc → src}/examples/django-api-CLAUDE.md +5 -5
- package/{ecc → src}/examples/go-microservice-CLAUDE.md +6 -6
- package/{ecc → src}/examples/rust-api-CLAUDE.md +4 -4
- package/{ecc → src}/examples/saas-nextjs-CLAUDE.md +8 -8
- package/{gsd/hooks/gsd-context-monitor.js → src/hooks/ccp-context-monitor.js} +3 -3
- package/src/hooks/ccp-prompt-guard.js +96 -0
- package/{gsd/hooks/gsd-statusline.js → src/hooks/ccp-statusline.js} +7 -7
- package/src/hooks/ccp-workflow-guard.js +94 -0
- package/src/hooks/config-protection.js +141 -0
- package/{kit → src}/hooks/kit-check-update.js +7 -4
- package/src/hooks/mcp-health-check.js +620 -0
- package/{ecc/scripts → src}/hooks/run-with-flags-shell.sh +1 -1
- package/{ecc/scripts → src}/hooks/run-with-flags.js +74 -13
- package/src/hooks/session-end-marker.js +29 -0
- package/{ecc/scripts → src}/hooks/session-end.js +83 -40
- package/{ecc/scripts → src}/hooks/session-start.js +76 -10
- package/{ecc/scripts → src}/lib/hook-flags.js +8 -4
- package/{ecc/scripts → src}/lib/project-detect.js +2 -1
- package/{ecc/scripts → src}/lib/session-manager.d.ts +5 -1
- package/{ecc/scripts → src}/lib/session-manager.js +202 -92
- package/{ecc/scripts → src}/lib/utils.d.ts +23 -1
- package/{ecc/scripts → src}/lib/utils.js +91 -3
- package/{gsd/get-shit-done/bin/gsd-tools.cjs → src/pilot/bin/ccp-tools.cjs} +257 -86
- package/{gsd/get-shit-done → src/pilot}/bin/lib/commands.cjs +1 -1
- package/src/pilot/bin/lib/config.cjs +444 -0
- package/src/pilot/bin/lib/core.cjs +1190 -0
- package/src/pilot/bin/lib/init.cjs +1281 -0
- package/src/pilot/bin/lib/model-profiles.cjs +67 -0
- package/{gsd/get-shit-done → src/pilot}/bin/lib/phase.cjs +2 -2
- package/src/pilot/bin/lib/security.cjs +382 -0
- package/{gsd/get-shit-done → src/pilot}/bin/lib/state.cjs +1 -1
- package/src/pilot/bin/lib/uat.cjs +282 -0
- package/{gsd/get-shit-done → src/pilot}/bin/lib/verify.cjs +10 -10
- package/{gsd/get-shit-done → src/pilot}/references/continuation-format.md +16 -16
- package/{gsd/get-shit-done → src/pilot}/references/decimal-phase-calculation.md +5 -5
- package/{gsd/get-shit-done → src/pilot}/references/git-integration.md +5 -5
- package/{gsd/get-shit-done → src/pilot}/references/git-planning-commit.md +4 -4
- package/src/pilot/references/mcp-servers.json +153 -0
- package/{gsd/get-shit-done → src/pilot}/references/model-profile-resolution.md +2 -2
- package/{gsd/get-shit-done → src/pilot}/references/model-profiles.md +20 -20
- package/{gsd/get-shit-done → src/pilot}/references/phase-argument-parsing.md +4 -4
- package/{gsd/get-shit-done → src/pilot}/references/planning-config.md +15 -15
- package/{gsd/get-shit-done → src/pilot}/references/ui-brand.md +5 -5
- package/{gsd/get-shit-done → src/pilot}/references/verification-patterns.md +1 -1
- package/{gsd/get-shit-done → src/pilot}/templates/DEBUG.md +1 -1
- package/{gsd/get-shit-done → src/pilot}/templates/UAT.md +3 -3
- package/src/pilot/templates/UI-SPEC.md +100 -0
- package/{gsd/get-shit-done → src/pilot}/templates/VALIDATION.md +1 -1
- package/src/pilot/templates/claude-md.md +122 -0
- package/{gsd/get-shit-done → src/pilot}/templates/codebase/architecture.md +2 -2
- package/{gsd/get-shit-done → src/pilot}/templates/codebase/structure.md +13 -13
- package/{gsd/get-shit-done → src/pilot}/templates/context.md +4 -4
- package/src/pilot/templates/copilot-instructions.md +7 -0
- package/{gsd/get-shit-done → src/pilot}/templates/debug-subagent-prompt.md +4 -4
- package/src/pilot/templates/dev-preferences.md +21 -0
- package/{gsd/get-shit-done → src/pilot}/templates/discovery.md +2 -2
- package/src/pilot/templates/discussion-log.md +63 -0
- package/{gsd/get-shit-done → src/pilot}/templates/phase-prompt.md +12 -12
- package/{gsd/get-shit-done → src/pilot}/templates/planner-subagent-prompt.md +7 -7
- package/{gsd/get-shit-done → src/pilot}/templates/project.md +1 -1
- package/{gsd/get-shit-done → src/pilot}/templates/research.md +2 -2
- package/{gsd/get-shit-done → src/pilot}/templates/state.md +2 -2
- package/{gsd/get-shit-done → src/pilot}/templates/summary-complex.md +1 -1
- package/{gsd/get-shit-done → src/pilot}/workflows/add-phase.md +11 -11
- package/{gsd/get-shit-done → src/pilot}/workflows/add-tests.md +15 -15
- package/{gsd/get-shit-done → src/pilot}/workflows/add-todo.md +7 -7
- package/{gsd/get-shit-done → src/pilot}/workflows/audit-milestone.md +24 -16
- package/src/pilot/workflows/audit-uat.md +109 -0
- package/src/pilot/workflows/autonomous.md +891 -0
- package/{gsd/get-shit-done → src/pilot}/workflows/check-todos.md +10 -10
- package/{gsd/get-shit-done → src/pilot}/workflows/cleanup.md +3 -3
- package/{gsd/get-shit-done → src/pilot}/workflows/complete-milestone.md +19 -16
- package/{gsd/get-shit-done → src/pilot}/workflows/diagnose-issues.md +9 -4
- package/{gsd/get-shit-done → src/pilot}/workflows/discovery-phase.md +8 -8
- package/src/pilot/workflows/discuss-phase-assumptions.md +653 -0
- package/{gsd/get-shit-done → src/pilot}/workflows/discuss-phase.md +407 -49
- package/src/pilot/workflows/do.md +104 -0
- package/src/pilot/workflows/docs-update.md +1165 -0
- package/src/pilot/workflows/execute-phase.md +821 -0
- package/{gsd/get-shit-done → src/pilot}/workflows/execute-plan.md +79 -28
- package/src/pilot/workflows/fast.md +105 -0
- package/src/pilot/workflows/forensics.md +265 -0
- package/{gsd/get-shit-done → src/pilot}/workflows/health.md +34 -11
- package/src/pilot/workflows/help.md +767 -0
- package/{gsd/get-shit-done → src/pilot}/workflows/insert-phase.md +10 -10
- package/{gsd/get-shit-done → src/pilot}/workflows/list-phase-assumptions.md +4 -4
- package/src/pilot/workflows/manager.md +362 -0
- package/{gsd/get-shit-done → src/pilot}/workflows/map-codebase.md +27 -17
- package/src/pilot/workflows/milestone-summary.md +223 -0
- package/{gsd/get-shit-done → src/pilot}/workflows/new-milestone.md +135 -33
- package/{gsd/get-shit-done → src/pilot}/workflows/new-project.md +152 -79
- package/src/pilot/workflows/next.md +97 -0
- package/src/pilot/workflows/node-repair.md +92 -0
- package/src/pilot/workflows/note.md +156 -0
- package/src/pilot/workflows/pause-work.md +177 -0
- package/{gsd/get-shit-done → src/pilot}/workflows/plan-milestone-gaps.md +10 -11
- package/src/pilot/workflows/plan-phase.md +859 -0
- package/src/pilot/workflows/plant-seed.md +169 -0
- package/src/pilot/workflows/pr-branch.md +129 -0
- package/src/pilot/workflows/profile-user.md +452 -0
- package/{gsd/get-shit-done → src/pilot}/workflows/progress.md +95 -34
- package/{gsd/get-shit-done → src/pilot}/workflows/quick.md +33 -21
- package/{gsd/get-shit-done → src/pilot}/workflows/remove-phase.md +14 -14
- package/{gsd/get-shit-done → src/pilot}/workflows/research-phase.md +18 -10
- package/{gsd/get-shit-done → src/pilot}/workflows/resume-project.md +37 -18
- package/src/pilot/workflows/review.md +244 -0
- package/src/pilot/workflows/secure-phase.md +164 -0
- package/src/pilot/workflows/session-report.md +146 -0
- package/{gsd/get-shit-done → src/pilot}/workflows/set-profile.md +7 -7
- package/{gsd/get-shit-done → src/pilot}/workflows/settings.md +75 -22
- package/src/pilot/workflows/ship.md +228 -0
- package/src/pilot/workflows/stats.md +60 -0
- package/{gsd/get-shit-done → src/pilot}/workflows/transition.md +57 -17
- package/src/pilot/workflows/ui-phase.md +302 -0
- package/src/pilot/workflows/ui-review.md +165 -0
- package/{gsd/get-shit-done → src/pilot}/workflows/update.md +88 -58
- package/{gsd/get-shit-done → src/pilot}/workflows/validate-phase.md +24 -17
- package/{gsd/get-shit-done → src/pilot}/workflows/verify-phase.md +26 -15
- package/{gsd/get-shit-done → src/pilot}/workflows/verify-work.md +89 -37
- package/{ecc → src}/rules/common/agents.md +1 -0
- package/src/rules/common/code-review.md +124 -0
- package/{ecc → src}/rules/common/coding-style.md +21 -0
- package/src/rules/zh/README.md +108 -0
- package/src/rules/zh/agents.md +50 -0
- package/src/rules/zh/code-review.md +124 -0
- package/src/rules/zh/coding-style.md +48 -0
- package/src/rules/zh/development-workflow.md +44 -0
- package/src/rules/zh/git-workflow.md +24 -0
- package/src/rules/zh/hooks.md +30 -0
- package/src/rules/zh/patterns.md +31 -0
- package/src/rules/zh/performance.md +55 -0
- package/src/rules/zh/security.md +29 -0
- package/src/rules/zh/testing.md +29 -0
- package/src/skills/agentic-engineering/SKILL.md +63 -0
- package/src/skills/ai-first-engineering/SKILL.md +51 -0
- package/src/skills/ai-regression-testing/SKILL.md +385 -0
- package/src/skills/api-design/SKILL.md +523 -0
- package/src/skills/architecture-decision-records/SKILL.md +179 -0
- package/src/skills/autonomous-agent-harness/SKILL.md +267 -0
- package/src/skills/autonomous-loops/SKILL.md +610 -0
- package/src/skills/backend-patterns/SKILL.md +598 -0
- package/src/skills/benchmark/SKILL.md +87 -0
- package/src/skills/blueprint/SKILL.md +90 -0
- package/src/skills/browser-qa/SKILL.md +81 -0
- package/src/skills/bun-runtime/SKILL.md +84 -0
- package/src/skills/claude-api/SKILL.md +337 -0
- package/src/skills/codebase-onboarding/SKILL.md +233 -0
- package/src/skills/coding-standards/SKILL.md +530 -0
- package/src/skills/content-hash-cache-pattern/SKILL.md +161 -0
- package/src/skills/context-budget/SKILL.md +135 -0
- package/{ecc → src}/skills/continuous-learning-v2/SKILL.md +6 -6
- package/{ecc → src}/skills/continuous-learning-v2/agents/observer-loop.sh +1 -1
- package/{ecc → src}/skills/continuous-learning-v2/agents/observer.md +1 -1
- package/src/skills/cost-aware-llm-pipeline/SKILL.md +183 -0
- package/src/skills/cpp-coding-standards/SKILL.md +723 -0
- package/src/skills/cpp-testing/SKILL.md +324 -0
- package/src/skills/database-migrations/SKILL.md +429 -0
- package/src/skills/deep-research/SKILL.md +155 -0
- package/src/skills/deployment-patterns/SKILL.md +427 -0
- package/src/skills/design-system/SKILL.md +82 -0
- package/src/skills/django-patterns/SKILL.md +734 -0
- package/src/skills/django-security/SKILL.md +593 -0
- package/src/skills/django-tdd/SKILL.md +729 -0
- package/src/skills/django-verification/SKILL.md +469 -0
- package/src/skills/docker-patterns/SKILL.md +364 -0
- package/src/skills/documentation-lookup/SKILL.md +90 -0
- package/src/skills/e2e-testing/SKILL.md +326 -0
- package/src/skills/eval-harness/SKILL.md +270 -0
- package/src/skills/exa-search/SKILL.md +103 -0
- package/src/skills/flutter-dart-code-review/SKILL.md +435 -0
- package/src/skills/frontend-patterns/SKILL.md +642 -0
- package/src/skills/gan-style-harness/SKILL.md +278 -0
- package/src/skills/git-workflow/SKILL.md +715 -0
- package/src/skills/golang-patterns/SKILL.md +674 -0
- package/src/skills/golang-testing/SKILL.md +720 -0
- package/src/skills/hexagonal-architecture/SKILL.md +276 -0
- package/src/skills/iterative-retrieval/SKILL.md +211 -0
- package/src/skills/java-coding-standards/SKILL.md +147 -0
- package/src/skills/jpa-patterns/SKILL.md +151 -0
- package/src/skills/kotlin-coroutines-flows/SKILL.md +284 -0
- package/src/skills/kotlin-exposed-patterns/SKILL.md +719 -0
- package/src/skills/kotlin-ktor-patterns/SKILL.md +689 -0
- package/src/skills/kotlin-patterns/SKILL.md +711 -0
- package/src/skills/kotlin-testing/SKILL.md +824 -0
- package/src/skills/laravel-patterns/SKILL.md +415 -0
- package/src/skills/laravel-plugin-discovery/SKILL.md +229 -0
- package/src/skills/laravel-security/SKILL.md +285 -0
- package/src/skills/laravel-tdd/SKILL.md +283 -0
- package/src/skills/laravel-verification/SKILL.md +179 -0
- package/src/skills/mcp-server-patterns/SKILL.md +67 -0
- package/src/skills/nextjs-turbopack/SKILL.md +44 -0
- package/src/skills/nuxt4-patterns/SKILL.md +100 -0
- package/src/skills/opensource-pipeline/SKILL.md +255 -0
- package/src/skills/perl-patterns/SKILL.md +504 -0
- package/src/skills/perl-security/SKILL.md +503 -0
- package/src/skills/perl-testing/SKILL.md +475 -0
- package/src/skills/postgres-patterns/SKILL.md +147 -0
- package/src/skills/project-flow-ops/SKILL.md +111 -0
- package/src/skills/project-guidelines-example/SKILL.md +349 -0
- package/src/skills/prompt-optimizer/SKILL.md +397 -0
- package/src/skills/python-patterns/SKILL.md +750 -0
- package/src/skills/python-testing/SKILL.md +816 -0
- package/src/skills/pytorch-patterns/SKILL.md +396 -0
- package/src/skills/regex-vs-llm-structured-text/SKILL.md +220 -0
- package/src/skills/repo-scan/SKILL.md +78 -0
- package/src/skills/rules-distill/SKILL.md +264 -0
- package/src/skills/rules-distill/scripts/scan-rules.sh +58 -0
- package/src/skills/rules-distill/scripts/scan-skills.sh +129 -0
- package/src/skills/rust-patterns/SKILL.md +499 -0
- package/src/skills/rust-testing/SKILL.md +500 -0
- package/src/skills/safety-guard/SKILL.md +69 -0
- package/src/skills/search-first/SKILL.md +161 -0
- package/src/skills/security-review/SKILL.md +495 -0
- package/src/skills/security-review/cloud-infrastructure-security.md +361 -0
- package/src/skills/security-scan/SKILL.md +165 -0
- package/src/skills/springboot-patterns/SKILL.md +314 -0
- package/src/skills/springboot-security/SKILL.md +272 -0
- package/src/skills/springboot-tdd/SKILL.md +158 -0
- package/src/skills/springboot-verification/SKILL.md +231 -0
- package/src/skills/swift-concurrency-6-2/SKILL.md +216 -0
- package/src/skills/tdd-workflow/SKILL.md +410 -0
- package/src/skills/token-budget-advisor/SKILL.md +133 -0
- package/{ecc/skills/verification-loop-SKILL.md → src/skills/verification-loop/SKILL.md} +1 -1
- package/src/skills/workspace-surface-audit/SKILL.md +125 -0
- package/ecc/scripts/hooks/session-end-marker.js +0 -15
- package/gsd/LICENSE +0 -21
- package/gsd/commands-gsd/discuss-phase.md +0 -90
- package/gsd/commands-gsd/execute-phase.md +0 -41
- package/gsd/commands-gsd/join-discord.md +0 -18
- package/gsd/commands-gsd/reapply-patches.md +0 -123
- package/gsd/commands-gsd/set-profile.md +0 -34
- package/gsd/get-shit-done/bin/lib/config.cjs +0 -169
- package/gsd/get-shit-done/bin/lib/core.cjs +0 -492
- package/gsd/get-shit-done/bin/lib/init.cjs +0 -710
- package/gsd/get-shit-done/workflows/execute-phase.md +0 -459
- package/gsd/get-shit-done/workflows/help.md +0 -489
- package/gsd/get-shit-done/workflows/pause-work.md +0 -122
- package/gsd/get-shit-done/workflows/plan-phase.md +0 -560
- package/gsd/hooks/gsd-check-update.js +0 -81
- package/kit/CLAUDE.md +0 -43
- package/kit/commands/kit/update.md +0 -46
- package/kit/mcp.json +0 -10
- package/kit/rules/code-style.md +0 -24
- /package/{ecc → src}/agents/architect.md +0 -0
- /package/{ecc → src}/agents/code-reviewer.md +0 -0
- /package/{ecc → src}/agents/e2e-runner.md +0 -0
- /package/{ecc → src}/agents/security-reviewer.md +0 -0
- /package/{ecc → src}/agents/tdd-guide.md +0 -0
- /package/{ecc/rules → src/available-rules}/golang/coding-style.md +0 -0
- /package/{ecc/rules → src/available-rules}/golang/hooks.md +0 -0
- /package/{ecc/rules → src/available-rules}/golang/patterns.md +0 -0
- /package/{ecc/rules → src/available-rules}/golang/security.md +0 -0
- /package/{ecc/rules → src/available-rules}/golang/testing.md +0 -0
- /package/{ecc/rules → src/available-rules}/kotlin/coding-style.md +0 -0
- /package/{ecc/rules → src/available-rules}/kotlin/patterns.md +0 -0
- /package/{ecc/rules → src/available-rules}/kotlin/security.md +0 -0
- /package/{ecc/rules → src/available-rules}/kotlin/testing.md +0 -0
- /package/{ecc/rules → src/available-rules}/perl/coding-style.md +0 -0
- /package/{ecc/rules → src/available-rules}/perl/hooks.md +0 -0
- /package/{ecc/rules → src/available-rules}/perl/patterns.md +0 -0
- /package/{ecc/rules → src/available-rules}/perl/security.md +0 -0
- /package/{ecc/rules → src/available-rules}/perl/testing.md +0 -0
- /package/{ecc/rules → src/available-rules}/php/coding-style.md +0 -0
- /package/{ecc/rules → src/available-rules}/php/hooks.md +0 -0
- /package/{ecc/rules → src/available-rules}/php/patterns.md +0 -0
- /package/{ecc/rules → src/available-rules}/php/security.md +0 -0
- /package/{ecc/rules → src/available-rules}/php/testing.md +0 -0
- /package/{ecc/rules → src/available-rules}/python/coding-style.md +0 -0
- /package/{ecc/rules → src/available-rules}/python/hooks.md +0 -0
- /package/{ecc/rules → src/available-rules}/python/patterns.md +0 -0
- /package/{ecc/rules → src/available-rules}/python/security.md +0 -0
- /package/{ecc/rules → src/available-rules}/python/testing.md +0 -0
- /package/{ecc/rules → src/available-rules}/swift/coding-style.md +0 -0
- /package/{ecc/rules → src/available-rules}/swift/hooks.md +0 -0
- /package/{ecc/rules → src/available-rules}/swift/patterns.md +0 -0
- /package/{ecc/rules → src/available-rules}/swift/security.md +0 -0
- /package/{ecc/rules → src/available-rules}/swift/testing.md +0 -0
- /package/{ecc/rules → src/available-rules}/typescript/coding-style.md +0 -0
- /package/{ecc/rules → src/available-rules}/typescript/hooks.md +0 -0
- /package/{ecc/rules → src/available-rules}/typescript/patterns.md +0 -0
- /package/{ecc/rules → src/available-rules}/typescript/security.md +0 -0
- /package/{ecc/rules → src/available-rules}/typescript/testing.md +0 -0
- /package/{ecc → src}/contexts/dev.md +0 -0
- /package/{ecc → src}/contexts/research.md +0 -0
- /package/{ecc → src}/contexts/review.md +0 -0
- /package/{ecc → src}/examples/user-CLAUDE.md +0 -0
- /package/{ecc/scripts → src}/hooks/check-hook-enabled.js +0 -0
- /package/{ecc/scripts → src}/hooks/evaluate-session.js +0 -0
- /package/{ecc/scripts → src}/hooks/pre-compact.js +0 -0
- /package/{ecc/scripts → src}/hooks/suggest-compact.js +0 -0
- /package/{ecc/scripts → src}/lib/package-manager.d.ts +0 -0
- /package/{ecc/scripts → src}/lib/package-manager.js +0 -0
- /package/{ecc/scripts → src}/lib/resolve-formatter.js +0 -0
- /package/{ecc/scripts → src}/lib/session-aliases.d.ts +0 -0
- /package/{ecc/scripts → src}/lib/session-aliases.js +0 -0
- /package/{ecc/scripts → src}/lib/shell-split.js +0 -0
- /package/{gsd/get-shit-done → src/pilot}/bin/lib/frontmatter.cjs +0 -0
- /package/{gsd/get-shit-done → src/pilot}/bin/lib/milestone.cjs +0 -0
- /package/{gsd/get-shit-done → src/pilot}/bin/lib/roadmap.cjs +0 -0
- /package/{gsd/get-shit-done → src/pilot}/bin/lib/template.cjs +0 -0
- /package/{gsd/get-shit-done → src/pilot}/references/checkpoints.md +0 -0
- /package/{gsd/get-shit-done → src/pilot}/references/questioning.md +0 -0
- /package/{gsd/get-shit-done → src/pilot}/references/tdd.md +0 -0
- /package/{gsd/get-shit-done → src/pilot}/templates/codebase/concerns.md +0 -0
- /package/{gsd/get-shit-done → src/pilot}/templates/codebase/conventions.md +0 -0
- /package/{gsd/get-shit-done → src/pilot}/templates/codebase/integrations.md +0 -0
- /package/{gsd/get-shit-done → src/pilot}/templates/codebase/stack.md +0 -0
- /package/{gsd/get-shit-done → src/pilot}/templates/codebase/testing.md +0 -0
- /package/{gsd/get-shit-done → src/pilot}/templates/config.json +0 -0
- /package/{gsd/get-shit-done → src/pilot}/templates/continue-here.md +0 -0
- /package/{gsd/get-shit-done → src/pilot}/templates/milestone-archive.md +0 -0
- /package/{gsd/get-shit-done → src/pilot}/templates/milestone.md +0 -0
- /package/{gsd/get-shit-done → src/pilot}/templates/requirements.md +0 -0
- /package/{gsd/get-shit-done → src/pilot}/templates/research-project/ARCHITECTURE.md +0 -0
- /package/{gsd/get-shit-done → src/pilot}/templates/research-project/FEATURES.md +0 -0
- /package/{gsd/get-shit-done → src/pilot}/templates/research-project/PITFALLS.md +0 -0
- /package/{gsd/get-shit-done → src/pilot}/templates/research-project/STACK.md +0 -0
- /package/{gsd/get-shit-done → src/pilot}/templates/research-project/SUMMARY.md +0 -0
- /package/{gsd/get-shit-done → src/pilot}/templates/retrospective.md +0 -0
- /package/{gsd/get-shit-done → src/pilot}/templates/roadmap.md +0 -0
- /package/{gsd/get-shit-done → src/pilot}/templates/summary-minimal.md +0 -0
- /package/{gsd/get-shit-done → src/pilot}/templates/summary-standard.md +0 -0
- /package/{gsd/get-shit-done → src/pilot}/templates/summary.md +0 -0
- /package/{gsd/get-shit-done → src/pilot}/templates/user-setup.md +0 -0
- /package/{gsd/get-shit-done → src/pilot}/templates/verification-report.md +0 -0
- /package/{ecc → src}/rules/common/development-workflow.md +0 -0
- /package/{ecc → src}/rules/common/git-workflow.md +0 -0
- /package/{ecc → src}/rules/common/hooks.md +0 -0
- /package/{ecc → src}/rules/common/patterns.md +0 -0
- /package/{ecc → src}/rules/common/performance.md +0 -0
- /package/{ecc → src}/rules/common/security.md +0 -0
- /package/{ecc → src}/rules/common/testing.md +0 -0
- /package/{ecc → src}/skills/continuous-learning-v2/agents/start-observer.sh +0 -0
- /package/{ecc → src}/skills/continuous-learning-v2/config.json +0 -0
- /package/{ecc → src}/skills/continuous-learning-v2/hooks/observe.sh +0 -0
- /package/{ecc → src}/skills/continuous-learning-v2/scripts/detect-project.sh +0 -0
- /package/{ecc → src}/skills/continuous-learning-v2/scripts/instinct-cli.py +0 -0
- /package/{ecc → src}/skills/continuous-learning-v2/scripts/test_parse_instinct.py +0 -0
- /package/{ecc → src}/skills/strategic-compact/SKILL.md +0 -0
- /package/{ecc → src}/skills/strategic-compact/suggest-compact.sh +0 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<purpose>
|
|
2
|
-
Switch the model profile used by
|
|
2
|
+
Switch the model profile used by CCP agents. Controls which Claude model each agent uses, balancing quality vs token spend.
|
|
3
3
|
</purpose>
|
|
4
4
|
|
|
5
5
|
<required_reading>
|
|
@@ -23,8 +23,8 @@ if $ARGUMENTS.profile not in ["quality", "balanced", "budget"]:
|
|
|
23
23
|
Ensure config exists and load current state:
|
|
24
24
|
|
|
25
25
|
```bash
|
|
26
|
-
node "$HOME/.claude/
|
|
27
|
-
INIT=$(node "$HOME/.claude/
|
|
26
|
+
node "$HOME/.claude/pilot/bin/ccp-tools.cjs" config-ensure-section
|
|
27
|
+
INIT=$(node "$HOME/.claude/pilot/bin/ccp-tools.cjs" state load)
|
|
28
28
|
if [[ "$INIT" == @file:* ]]; then INIT=$(cat "${INIT#@file:}"); fi
|
|
29
29
|
```
|
|
30
30
|
|
|
@@ -52,14 +52,14 @@ Display confirmation with model table for selected profile:
|
|
|
52
52
|
|
|
53
53
|
Agents will now use:
|
|
54
54
|
|
|
55
|
-
[Show table from MODEL_PROFILES in
|
|
55
|
+
[Show table from MODEL_PROFILES in ccp-tools.cjs for selected profile]
|
|
56
56
|
|
|
57
57
|
Example:
|
|
58
58
|
| Agent | Model |
|
|
59
59
|
|-------|-------|
|
|
60
|
-
|
|
|
61
|
-
|
|
|
62
|
-
|
|
|
60
|
+
| ccp-planner | opus |
|
|
61
|
+
| ccp-executor | sonnet |
|
|
62
|
+
| ccp-verifier | haiku |
|
|
63
63
|
| ... | ... |
|
|
64
64
|
|
|
65
65
|
Next spawned agents will use the new profile.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<purpose>
|
|
2
|
-
Interactive configuration of
|
|
2
|
+
Interactive configuration of CCP workflow agents (research, plan_check, verifier) and model profile selection via multi-question prompt. Updates .planning/config.json with user preferences. Optionally saves settings as global defaults (~/.ccp/defaults.json) for future projects.
|
|
3
3
|
</purpose>
|
|
4
4
|
|
|
5
5
|
<required_reading>
|
|
@@ -12,8 +12,8 @@ Read all files referenced by the invoking prompt's execution_context before star
|
|
|
12
12
|
Ensure config exists and load current state:
|
|
13
13
|
|
|
14
14
|
```bash
|
|
15
|
-
node "$HOME/.claude/
|
|
16
|
-
INIT=$(node "$HOME/.claude/
|
|
15
|
+
node "$HOME/.claude/pilot/bin/ccp-tools.cjs" config-ensure-section
|
|
16
|
+
INIT=$(node "$HOME/.claude/pilot/bin/ccp-tools.cjs" state load)
|
|
17
17
|
if [[ "$INIT" == @file:* ]]; then INIT=$(cat "${INIT#@file:}"); fi
|
|
18
18
|
```
|
|
19
19
|
|
|
@@ -30,6 +30,9 @@ Parse current values (default to `true` if not present):
|
|
|
30
30
|
- `workflow.plan_check` — spawn plan checker during plan-phase
|
|
31
31
|
- `workflow.verifier` — spawn verifier during execute-phase
|
|
32
32
|
- `workflow.nyquist_validation` — validation architecture research during plan-phase (default: true if absent)
|
|
33
|
+
- `workflow.discuss_mode` — discussion approach (default: `"discuss"`, alternative: `"assumptions"`)
|
|
34
|
+
- `workflow.research_before_questions` — web search before questioning (default: false)
|
|
35
|
+
- `workflow.skip_discuss` — skip discuss-phase in autonomous mode (default: false)
|
|
33
36
|
- `model_profile` — which model each agent uses (default: `balanced`)
|
|
34
37
|
- `git.branching_strategy` — branching approach (default: `"none"`)
|
|
35
38
|
</step>
|
|
@@ -46,7 +49,8 @@ AskUserQuestion([
|
|
|
46
49
|
options: [
|
|
47
50
|
{ label: "Quality", description: "Opus everywhere except verification (highest cost)" },
|
|
48
51
|
{ label: "Balanced (Recommended)", description: "Opus for planning, Sonnet for execution/verification" },
|
|
49
|
-
{ label: "Budget", description: "Sonnet for writing, Haiku for research/verification (lowest cost)" }
|
|
52
|
+
{ label: "Budget", description: "Sonnet for writing, Haiku for research/verification (lowest cost)" },
|
|
53
|
+
{ label: "Inherit", description: "Use current session model for all agents" }
|
|
50
54
|
]
|
|
51
55
|
},
|
|
52
56
|
{
|
|
@@ -94,14 +98,52 @@ AskUserQuestion([
|
|
|
94
98
|
{ label: "No", description: "Skip validation research. Good for rapid prototyping or no-test phases." }
|
|
95
99
|
]
|
|
96
100
|
},
|
|
101
|
+
// Note: Nyquist validation depends on research output. If research is disabled,
|
|
102
|
+
// plan-phase automatically skips Nyquist steps (no RESEARCH.md to extract from).
|
|
103
|
+
{
|
|
104
|
+
question: "Enable context window warnings? (injects advisory messages when context is getting full)",
|
|
105
|
+
header: "Ctx Warnings",
|
|
106
|
+
multiSelect: false,
|
|
107
|
+
options: [
|
|
108
|
+
{ label: "Yes (Recommended)", description: "Warn when context usage exceeds 65%. Helps avoid losing work." },
|
|
109
|
+
{ label: "No", description: "Disable warnings. Allows Claude to reach auto-compact naturally. Good for long unattended runs." }
|
|
110
|
+
]
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
question: "Research best practices before asking questions? (web search during new-project and discuss-phase)",
|
|
114
|
+
header: "Research Qs",
|
|
115
|
+
multiSelect: false,
|
|
116
|
+
options: [
|
|
117
|
+
{ label: "No (Recommended)", description: "Ask questions directly. Faster, uses fewer tokens." },
|
|
118
|
+
{ label: "Yes", description: "Search web for best practices before each question group. More informed questions but uses more tokens." }
|
|
119
|
+
]
|
|
120
|
+
},
|
|
121
|
+
{
|
|
122
|
+
question: "Discussion mode? (how discuss-phase gathers context)",
|
|
123
|
+
header: "Discuss Mode",
|
|
124
|
+
multiSelect: false,
|
|
125
|
+
options: [
|
|
126
|
+
{ label: "Discuss (Recommended)", description: "Interactive questioning — surfaces gray areas and captures decisions" },
|
|
127
|
+
{ label: "Assumptions", description: "Claude states assumptions for you to confirm/correct — faster but less exploratory" }
|
|
128
|
+
]
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
question: "Skip discuss-phase in autonomous mode? (use ROADMAP phase goals as spec)",
|
|
132
|
+
header: "Skip Discuss",
|
|
133
|
+
multiSelect: false,
|
|
134
|
+
options: [
|
|
135
|
+
{ label: "No (Recommended)", description: "Run smart discuss before each phase — surfaces gray areas and captures decisions." },
|
|
136
|
+
{ label: "Yes", description: "Skip discuss in autonomous mode — chain directly to plan. Best for backend/pipeline work where phase descriptions are the spec." }
|
|
137
|
+
]
|
|
138
|
+
},
|
|
97
139
|
{
|
|
98
140
|
question: "Git branching strategy?",
|
|
99
141
|
header: "Branching",
|
|
100
142
|
multiSelect: false,
|
|
101
143
|
options: [
|
|
102
144
|
{ label: "None (Recommended)", description: "Commit directly to current branch" },
|
|
103
|
-
{ label: "Per Phase", description: "Create branch for each phase (
|
|
104
|
-
{ label: "Per Milestone", description: "Create branch for entire milestone (
|
|
145
|
+
{ label: "Per Phase", description: "Create branch for each phase (ccp/phase-{N}-{name})" },
|
|
146
|
+
{ label: "Per Milestone", description: "Create branch for entire milestone (ccp/{version}-{name})" }
|
|
105
147
|
]
|
|
106
148
|
}
|
|
107
149
|
])
|
|
@@ -114,16 +156,22 @@ Merge new settings into existing config.json:
|
|
|
114
156
|
```json
|
|
115
157
|
{
|
|
116
158
|
...existing_config,
|
|
117
|
-
"model_profile": "quality" | "balanced" | "budget",
|
|
159
|
+
"model_profile": "quality" | "balanced" | "budget" | "inherit",
|
|
118
160
|
"workflow": {
|
|
119
161
|
"research": true/false,
|
|
120
162
|
"plan_check": true/false,
|
|
121
163
|
"verifier": true/false,
|
|
122
164
|
"auto_advance": true/false,
|
|
123
|
-
"nyquist_validation": true/false
|
|
165
|
+
"nyquist_validation": true/false,
|
|
166
|
+
"research_before_questions": true/false,
|
|
167
|
+
"discuss_mode": "discuss" | "assumptions",
|
|
168
|
+
"skip_discuss": true/false
|
|
124
169
|
},
|
|
125
170
|
"git": {
|
|
126
171
|
"branching_strategy": "none" | "phase" | "milestone"
|
|
172
|
+
},
|
|
173
|
+
"hooks": {
|
|
174
|
+
"context_warnings": true/false
|
|
127
175
|
}
|
|
128
176
|
}
|
|
129
177
|
```
|
|
@@ -141,20 +189,20 @@ AskUserQuestion([
|
|
|
141
189
|
header: "Defaults",
|
|
142
190
|
multiSelect: false,
|
|
143
191
|
options: [
|
|
144
|
-
{ label: "Yes", description: "New projects start with these settings (saved to ~/.
|
|
192
|
+
{ label: "Yes", description: "New projects start with these settings (saved to ~/.ccp/defaults.json)" },
|
|
145
193
|
{ label: "No", description: "Only apply to this project" }
|
|
146
194
|
]
|
|
147
195
|
}
|
|
148
196
|
])
|
|
149
197
|
```
|
|
150
198
|
|
|
151
|
-
If "Yes": write the same config object (minus project-specific fields like `brave_search`) to `~/.
|
|
199
|
+
If "Yes": write the same config object (minus project-specific fields like `brave_search`) to `~/.ccp/defaults.json`:
|
|
152
200
|
|
|
153
201
|
```bash
|
|
154
|
-
mkdir -p ~/.
|
|
202
|
+
mkdir -p ~/.ccp
|
|
155
203
|
```
|
|
156
204
|
|
|
157
|
-
Write `~/.
|
|
205
|
+
Write `~/.ccp/defaults.json` with:
|
|
158
206
|
```json
|
|
159
207
|
{
|
|
160
208
|
"mode": <current>,
|
|
@@ -168,7 +216,9 @@ Write `~/.gsd/defaults.json` with:
|
|
|
168
216
|
"plan_check": <current>,
|
|
169
217
|
"verifier": <current>,
|
|
170
218
|
"auto_advance": <current>,
|
|
171
|
-
"nyquist_validation": <current
|
|
219
|
+
"nyquist_validation": <current>,
|
|
220
|
+
"discuss_mode": <current>,
|
|
221
|
+
"skip_discuss": <current>
|
|
172
222
|
}
|
|
173
223
|
}
|
|
174
224
|
```
|
|
@@ -179,27 +229,30 @@ Display:
|
|
|
179
229
|
|
|
180
230
|
```
|
|
181
231
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
182
|
-
|
|
232
|
+
Pilot ► SETTINGS UPDATED
|
|
183
233
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
184
234
|
|
|
185
235
|
| Setting | Value |
|
|
186
236
|
|----------------------|-------|
|
|
187
|
-
| Model Profile | {quality/balanced/budget} |
|
|
237
|
+
| Model Profile | {quality/balanced/budget/inherit} |
|
|
188
238
|
| Plan Researcher | {On/Off} |
|
|
189
239
|
| Plan Checker | {On/Off} |
|
|
190
240
|
| Execution Verifier | {On/Off} |
|
|
191
241
|
| Auto-Advance | {On/Off} |
|
|
192
242
|
| Nyquist Validation | {On/Off} |
|
|
243
|
+
| Discuss Mode | {discuss/assumptions} |
|
|
244
|
+
| Skip Discuss | {On/Off} |
|
|
245
|
+
| Context Warnings | {On/Off} |
|
|
193
246
|
| Git Branching | {None/Per Phase/Per Milestone} |
|
|
194
247
|
| Saved as Defaults | {Yes/No} |
|
|
195
248
|
|
|
196
|
-
These settings apply to future /
|
|
249
|
+
These settings apply to future /ccp:plan-phase and /ccp:execute-phase runs.
|
|
197
250
|
|
|
198
251
|
Quick commands:
|
|
199
|
-
- /
|
|
200
|
-
- /
|
|
201
|
-
- /
|
|
202
|
-
- /
|
|
252
|
+
- /ccp:set-profile <profile> — switch model profile
|
|
253
|
+
- /ccp:plan-phase --research — force research
|
|
254
|
+
- /ccp:plan-phase --skip-research — skip research
|
|
255
|
+
- /ccp:plan-phase --skip-verify — skip plan check
|
|
203
256
|
```
|
|
204
257
|
</step>
|
|
205
258
|
|
|
@@ -207,8 +260,8 @@ Quick commands:
|
|
|
207
260
|
|
|
208
261
|
<success_criteria>
|
|
209
262
|
- [ ] Current config read
|
|
210
|
-
- [ ] User presented with
|
|
263
|
+
- [ ] User presented with 11 settings (profile + 9 workflow/hooks toggles + git branching)
|
|
211
264
|
- [ ] Config updated with model_profile, workflow, and git sections
|
|
212
|
-
- [ ] User offered to save as global defaults (~/.
|
|
265
|
+
- [ ] User offered to save as global defaults (~/.ccp/defaults.json)
|
|
213
266
|
- [ ] Changes confirmed to user
|
|
214
267
|
</success_criteria>
|
|
@@ -0,0 +1,228 @@
|
|
|
1
|
+
<purpose>
|
|
2
|
+
Create a pull request from completed phase/milestone work, generate a rich PR body from planning artifacts, optionally run code review, and prepare for merge. Closes the plan → execute → verify → ship loop.
|
|
3
|
+
</purpose>
|
|
4
|
+
|
|
5
|
+
<required_reading>
|
|
6
|
+
Read all files referenced by the invoking prompt's execution_context before starting.
|
|
7
|
+
</required_reading>
|
|
8
|
+
|
|
9
|
+
<process>
|
|
10
|
+
|
|
11
|
+
<step name="initialize">
|
|
12
|
+
Parse arguments and load project state:
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
INIT=$(node "$HOME/.claude/pilot/bin/ccp-tools.cjs" init phase-op "${PHASE_ARG}")
|
|
16
|
+
if [[ "$INIT" == @file:* ]]; then INIT=$(cat "${INIT#@file:}"); fi
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
Parse from init JSON: `phase_found`, `phase_dir`, `phase_number`, `phase_name`, `padded_phase`, `commit_docs`.
|
|
20
|
+
|
|
21
|
+
Also load config for branching strategy:
|
|
22
|
+
```bash
|
|
23
|
+
CONFIG=$(node "$HOME/.claude/pilot/bin/ccp-tools.cjs" state load)
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
Extract: `branching_strategy`, `branch_name`.
|
|
27
|
+
</step>
|
|
28
|
+
|
|
29
|
+
<step name="preflight_checks">
|
|
30
|
+
Verify the work is ready to ship:
|
|
31
|
+
|
|
32
|
+
1. **Verification passed?**
|
|
33
|
+
```bash
|
|
34
|
+
VERIFICATION=$(cat ${PHASE_DIR}/*-VERIFICATION.md 2>/dev/null)
|
|
35
|
+
```
|
|
36
|
+
Check for `status: passed` or `status: human_needed` (with human approval).
|
|
37
|
+
If no VERIFICATION.md or status is `gaps_found`: warn and ask user to confirm.
|
|
38
|
+
|
|
39
|
+
2. **Clean working tree?**
|
|
40
|
+
```bash
|
|
41
|
+
git status --short
|
|
42
|
+
```
|
|
43
|
+
If uncommitted changes exist: ask user to commit or stash first.
|
|
44
|
+
|
|
45
|
+
3. **On correct branch?**
|
|
46
|
+
```bash
|
|
47
|
+
CURRENT_BRANCH=$(git branch --show-current)
|
|
48
|
+
```
|
|
49
|
+
If on `main`/`master`: warn — should be on a feature branch.
|
|
50
|
+
If branching_strategy is `none`: offer to create a branch now.
|
|
51
|
+
|
|
52
|
+
4. **Remote configured?**
|
|
53
|
+
```bash
|
|
54
|
+
git remote -v | head -2
|
|
55
|
+
```
|
|
56
|
+
Detect `origin` remote. If no remote: error — can't create PR.
|
|
57
|
+
|
|
58
|
+
5. **`gh` CLI available?**
|
|
59
|
+
```bash
|
|
60
|
+
which gh && gh auth status 2>&1
|
|
61
|
+
```
|
|
62
|
+
If `gh` not found or not authenticated: provide setup instructions and exit.
|
|
63
|
+
</step>
|
|
64
|
+
|
|
65
|
+
<step name="push_branch">
|
|
66
|
+
Push the current branch to remote:
|
|
67
|
+
|
|
68
|
+
```bash
|
|
69
|
+
git push origin ${CURRENT_BRANCH} 2>&1
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
If push fails (e.g., no upstream): set upstream:
|
|
73
|
+
```bash
|
|
74
|
+
git push --set-upstream origin ${CURRENT_BRANCH} 2>&1
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
Report: "Pushed `{branch}` to origin ({commit_count} commits ahead of main)"
|
|
78
|
+
</step>
|
|
79
|
+
|
|
80
|
+
<step name="generate_pr_body">
|
|
81
|
+
Auto-generate a rich PR body from planning artifacts:
|
|
82
|
+
|
|
83
|
+
**1. Title:**
|
|
84
|
+
```
|
|
85
|
+
Phase {phase_number}: {phase_name}
|
|
86
|
+
```
|
|
87
|
+
Or for milestone: `Milestone {version}: {name}`
|
|
88
|
+
|
|
89
|
+
**2. Summary section:**
|
|
90
|
+
Read ROADMAP.md for phase goal. Read VERIFICATION.md for verification status.
|
|
91
|
+
|
|
92
|
+
```markdown
|
|
93
|
+
## Summary
|
|
94
|
+
|
|
95
|
+
**Phase {N}: {Name}**
|
|
96
|
+
**Goal:** {goal from ROADMAP.md}
|
|
97
|
+
**Status:** Verified ✓
|
|
98
|
+
|
|
99
|
+
{One paragraph synthesized from SUMMARY.md files — what was built}
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
**3. Changes section:**
|
|
103
|
+
For each SUMMARY.md in the phase directory:
|
|
104
|
+
```markdown
|
|
105
|
+
## Changes
|
|
106
|
+
|
|
107
|
+
### Plan {plan_id}: {plan_name}
|
|
108
|
+
{one_liner from SUMMARY.md frontmatter}
|
|
109
|
+
|
|
110
|
+
**Key files:**
|
|
111
|
+
{key-files.created and key-files.modified from SUMMARY.md frontmatter}
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
**4. Requirements section:**
|
|
115
|
+
```markdown
|
|
116
|
+
## Requirements Addressed
|
|
117
|
+
|
|
118
|
+
{REQ-IDs from plan frontmatter, linked to REQUIREMENTS.md descriptions}
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
**5. Testing section:**
|
|
122
|
+
```markdown
|
|
123
|
+
## Verification
|
|
124
|
+
|
|
125
|
+
- [x] Automated verification: {pass/fail from VERIFICATION.md}
|
|
126
|
+
- {human verification items from VERIFICATION.md, if any}
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
**6. Decisions section:**
|
|
130
|
+
```markdown
|
|
131
|
+
## Key Decisions
|
|
132
|
+
|
|
133
|
+
{Decisions from STATE.md accumulated context relevant to this phase}
|
|
134
|
+
```
|
|
135
|
+
</step>
|
|
136
|
+
|
|
137
|
+
<step name="create_pr">
|
|
138
|
+
Create the PR using the generated body:
|
|
139
|
+
|
|
140
|
+
```bash
|
|
141
|
+
gh pr create \
|
|
142
|
+
--title "Phase ${PHASE_NUMBER}: ${PHASE_NAME}" \
|
|
143
|
+
--body "${PR_BODY}" \
|
|
144
|
+
--base main
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
If `--draft` flag was passed: add `--draft`.
|
|
148
|
+
|
|
149
|
+
Report: "PR #{number} created: {url}"
|
|
150
|
+
</step>
|
|
151
|
+
|
|
152
|
+
<step name="optional_review">
|
|
153
|
+
Ask if user wants to trigger a code review:
|
|
154
|
+
|
|
155
|
+
```
|
|
156
|
+
AskUserQuestion:
|
|
157
|
+
question: "PR created. Run a code review before merge?"
|
|
158
|
+
options:
|
|
159
|
+
- label: "Skip review"
|
|
160
|
+
description: "PR is ready — merge when CI passes"
|
|
161
|
+
- label: "Self-review"
|
|
162
|
+
description: "I'll review the diff in the PR myself"
|
|
163
|
+
- label: "Request review"
|
|
164
|
+
description: "Request review from a teammate"
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
**If "Request review":**
|
|
168
|
+
```bash
|
|
169
|
+
gh pr edit ${PR_NUMBER} --add-reviewer "${REVIEWER}"
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
**If "Self-review":**
|
|
173
|
+
Report the PR URL and suggest: "Review the diff at {url}/files"
|
|
174
|
+
</step>
|
|
175
|
+
|
|
176
|
+
<step name="track_shipping">
|
|
177
|
+
Update STATE.md to reflect the shipping action:
|
|
178
|
+
|
|
179
|
+
```bash
|
|
180
|
+
node "$HOME/.claude/pilot/bin/ccp-tools.cjs" state update "Last Activity" "$(date +%Y-%m-%d)"
|
|
181
|
+
node "$HOME/.claude/pilot/bin/ccp-tools.cjs" state update "Status" "Phase ${PHASE_NUMBER} shipped — PR #${PR_NUMBER}"
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
If `commit_docs` is true:
|
|
185
|
+
```bash
|
|
186
|
+
node "$HOME/.claude/pilot/bin/ccp-tools.cjs" commit "docs(${padded_phase}): ship phase ${PHASE_NUMBER} — PR #${PR_NUMBER}" --files .planning/STATE.md
|
|
187
|
+
```
|
|
188
|
+
</step>
|
|
189
|
+
|
|
190
|
+
<step name="report">
|
|
191
|
+
```
|
|
192
|
+
───────────────────────────────────────────────────────────────
|
|
193
|
+
|
|
194
|
+
## ✓ Phase {X}: {Name} — Shipped
|
|
195
|
+
|
|
196
|
+
PR: #{number} ({url})
|
|
197
|
+
Branch: {branch} → main
|
|
198
|
+
Commits: {count}
|
|
199
|
+
Verification: ✓ Passed
|
|
200
|
+
Requirements: {N} REQ-IDs addressed
|
|
201
|
+
|
|
202
|
+
Next steps:
|
|
203
|
+
- Review/approve PR
|
|
204
|
+
- Merge when CI passes
|
|
205
|
+
- /ccp:complete-milestone (if last phase in milestone)
|
|
206
|
+
- /ccp:progress (to see what's next)
|
|
207
|
+
|
|
208
|
+
───────────────────────────────────────────────────────────────
|
|
209
|
+
```
|
|
210
|
+
</step>
|
|
211
|
+
|
|
212
|
+
</process>
|
|
213
|
+
|
|
214
|
+
<offer_next>
|
|
215
|
+
After shipping:
|
|
216
|
+
|
|
217
|
+
- /ccp:complete-milestone — if all phases in milestone are done
|
|
218
|
+
- /ccp:progress — see overall project state
|
|
219
|
+
- /ccp:execute-phase {next} — continue to next phase
|
|
220
|
+
</offer_next>
|
|
221
|
+
|
|
222
|
+
<success_criteria>
|
|
223
|
+
- [ ] Preflight checks passed (verification, clean tree, branch, remote, gh)
|
|
224
|
+
- [ ] Branch pushed to remote
|
|
225
|
+
- [ ] PR created with rich auto-generated body
|
|
226
|
+
- [ ] STATE.md updated with shipping status
|
|
227
|
+
- [ ] User knows PR number and next steps
|
|
228
|
+
</success_criteria>
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
<purpose>
|
|
2
|
+
Display comprehensive project statistics including phases, plans, requirements, git metrics, and timeline.
|
|
3
|
+
</purpose>
|
|
4
|
+
|
|
5
|
+
<required_reading>
|
|
6
|
+
Read all files referenced by the invoking prompt's execution_context before starting.
|
|
7
|
+
</required_reading>
|
|
8
|
+
|
|
9
|
+
<process>
|
|
10
|
+
|
|
11
|
+
<step name="gather_stats">
|
|
12
|
+
Gather project statistics:
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
STATS=$(node "$HOME/.claude/pilot/bin/ccp-tools.cjs" stats json)
|
|
16
|
+
if [[ "$STATS" == @file:* ]]; then STATS=$(cat "${STATS#@file:}"); fi
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
Extract fields from JSON: `milestone_version`, `milestone_name`, `phases`, `phases_completed`, `phases_total`, `total_plans`, `total_summaries`, `percent`, `plan_percent`, `requirements_total`, `requirements_complete`, `git_commits`, `git_first_commit_date`, `last_activity`.
|
|
20
|
+
</step>
|
|
21
|
+
|
|
22
|
+
<step name="present_stats">
|
|
23
|
+
Present to the user with this format:
|
|
24
|
+
|
|
25
|
+
```
|
|
26
|
+
# 📊 Project Statistics — {milestone_version} {milestone_name}
|
|
27
|
+
|
|
28
|
+
## Progress
|
|
29
|
+
[████████░░] X/Y phases (Z%)
|
|
30
|
+
|
|
31
|
+
## Plans
|
|
32
|
+
X/Y plans complete (Z%)
|
|
33
|
+
|
|
34
|
+
## Phases
|
|
35
|
+
| Phase | Name | Plans | Completed | Status |
|
|
36
|
+
|-------|------|-------|-----------|--------|
|
|
37
|
+
| ... | ... | ... | ... | ... |
|
|
38
|
+
|
|
39
|
+
## Requirements
|
|
40
|
+
✅ X/Y requirements complete
|
|
41
|
+
|
|
42
|
+
## Git
|
|
43
|
+
- **Commits:** N
|
|
44
|
+
- **Started:** YYYY-MM-DD
|
|
45
|
+
- **Last activity:** YYYY-MM-DD
|
|
46
|
+
|
|
47
|
+
## Timeline
|
|
48
|
+
- **Project age:** N days
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
If no `.planning/` directory exists, inform the user to run `/ccp:new-project` first.
|
|
52
|
+
</step>
|
|
53
|
+
|
|
54
|
+
</process>
|
|
55
|
+
|
|
56
|
+
<success_criteria>
|
|
57
|
+
- [ ] Statistics gathered from project state
|
|
58
|
+
- [ ] Results formatted clearly
|
|
59
|
+
- [ ] Displayed to user
|
|
60
|
+
</success_criteria>
|