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,9 +1,15 @@
|
|
|
1
1
|
<purpose>
|
|
2
|
-
Validate built features through conversational testing with persistent state. Creates UAT.md that tracks test progress, survives /clear, and feeds gaps into /
|
|
2
|
+
Validate built features through conversational testing with persistent state. Creates UAT.md that tracks test progress, survives /clear, and feeds gaps into /ccp:plan-phase --gaps.
|
|
3
3
|
|
|
4
4
|
User tests, Claude records. One test at a time. Plain text responses.
|
|
5
5
|
</purpose>
|
|
6
6
|
|
|
7
|
+
<available_agent_types>
|
|
8
|
+
Valid CCP subagent types (use exact names — do not fall back to 'general-purpose'):
|
|
9
|
+
- ccp-planner — Creates detailed plans from phase scope
|
|
10
|
+
- ccp-plan-checker — Reviews plan quality before execution
|
|
11
|
+
</available_agent_types>
|
|
12
|
+
|
|
7
13
|
<philosophy>
|
|
8
14
|
**Show expected, ask if reality matches.**
|
|
9
15
|
|
|
@@ -15,7 +21,7 @@ No Pass/Fail buttons. No severity questions. Just: "Here's what should happen. D
|
|
|
15
21
|
</philosophy>
|
|
16
22
|
|
|
17
23
|
<template>
|
|
18
|
-
@~/.claude/
|
|
24
|
+
@~/.claude/pilot/templates/UAT.md
|
|
19
25
|
</template>
|
|
20
26
|
|
|
21
27
|
<process>
|
|
@@ -24,11 +30,13 @@ No Pass/Fail buttons. No severity questions. Just: "Here's what should happen. D
|
|
|
24
30
|
If $ARGUMENTS contains a phase number, load context:
|
|
25
31
|
|
|
26
32
|
```bash
|
|
27
|
-
INIT=$(node "$HOME/.claude/
|
|
33
|
+
INIT=$(node "$HOME/.claude/pilot/bin/ccp-tools.cjs" init verify-work "${PHASE_ARG}")
|
|
28
34
|
if [[ "$INIT" == @file:* ]]; then INIT=$(cat "${INIT#@file:}"); fi
|
|
35
|
+
AGENT_SKILLS_PLANNER=$(node "$HOME/.claude/pilot/bin/ccp-tools.cjs" agent-skills ccp-planner 2>/dev/null)
|
|
36
|
+
AGENT_SKILLS_CHECKER=$(node "$HOME/.claude/pilot/bin/ccp-tools.cjs" agent-skills ccp-checker 2>/dev/null)
|
|
29
37
|
```
|
|
30
38
|
|
|
31
|
-
Parse JSON for: `planner_model`, `checker_model`, `commit_docs`, `phase_found`, `phase_dir`, `phase_number`, `phase_name`, `has_verification`.
|
|
39
|
+
Parse JSON for: `planner_model`, `checker_model`, `commit_docs`, `phase_found`, `phase_dir`, `phase_number`, `phase_name`, `has_verification`, `uat_path`.
|
|
32
40
|
</step>
|
|
33
41
|
|
|
34
42
|
<step name="check_active_session">
|
|
@@ -70,7 +78,7 @@ If no, continue to `create_uat_file`.
|
|
|
70
78
|
```
|
|
71
79
|
No active UAT sessions.
|
|
72
80
|
|
|
73
|
-
Provide a phase number to start testing (e.g., /
|
|
81
|
+
Provide a phase number to start testing (e.g., /ccp:verify-work 4)
|
|
74
82
|
```
|
|
75
83
|
|
|
76
84
|
**If no active sessions AND $ARGUMENTS provided:**
|
|
@@ -186,23 +194,22 @@ Proceed to `present_test`.
|
|
|
186
194
|
<step name="present_test">
|
|
187
195
|
**Present current test to user:**
|
|
188
196
|
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
Display using checkpoint box format:
|
|
197
|
+
Render the checkpoint from the structured UAT file instead of composing it freehand:
|
|
192
198
|
|
|
199
|
+
```bash
|
|
200
|
+
CHECKPOINT=$(node "$HOME/.claude/pilot/bin/ccp-tools.cjs" uat render-checkpoint --file "$uat_path" --raw)
|
|
201
|
+
if [[ "$CHECKPOINT" == @file:* ]]; then CHECKPOINT=$(cat "${CHECKPOINT#@file:}"); fi
|
|
193
202
|
```
|
|
194
|
-
╔══════════════════════════════════════════════════════════════╗
|
|
195
|
-
║ CHECKPOINT: Verification Required ║
|
|
196
|
-
╚══════════════════════════════════════════════════════════════╝
|
|
197
203
|
|
|
198
|
-
|
|
204
|
+
Display the returned checkpoint EXACTLY as-is:
|
|
199
205
|
|
|
200
|
-
{expected}
|
|
201
|
-
|
|
202
|
-
──────────────────────────────────────────────────────────────
|
|
203
|
-
→ Type "pass" or describe what's wrong
|
|
204
|
-
──────────────────────────────────────────────────────────────
|
|
205
206
|
```
|
|
207
|
+
{CHECKPOINT}
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
**Critical response hygiene:**
|
|
211
|
+
- Your entire response MUST equal `{CHECKPOINT}` byte-for-byte.
|
|
212
|
+
- Do NOT add commentary before or after the block.
|
|
206
213
|
|
|
207
214
|
Wait for user response (plain text, no AskUserQuestion).
|
|
208
215
|
</step>
|
|
@@ -231,6 +238,29 @@ result: skipped
|
|
|
231
238
|
reason: [user's reason if provided]
|
|
232
239
|
```
|
|
233
240
|
|
|
241
|
+
**If response indicates blocked:**
|
|
242
|
+
- "blocked", "can't test - server not running", "need physical device", "need release build"
|
|
243
|
+
- Or any response containing: "server", "blocked", "not running", "physical device", "release build"
|
|
244
|
+
|
|
245
|
+
Infer blocked_by tag from response:
|
|
246
|
+
- Contains: server, not running, gateway, API → `server`
|
|
247
|
+
- Contains: physical, device, hardware, real phone → `physical-device`
|
|
248
|
+
- Contains: release, preview, build → `release-build`
|
|
249
|
+
- Contains: stripe, twilio, third-party, configure → `third-party`
|
|
250
|
+
- Contains: depends on, prior phase, prerequisite → `prior-phase`
|
|
251
|
+
- Default: `other`
|
|
252
|
+
|
|
253
|
+
Update Tests section:
|
|
254
|
+
```
|
|
255
|
+
### {N}. {name}
|
|
256
|
+
expected: {expected}
|
|
257
|
+
result: blocked
|
|
258
|
+
blocked_by: {inferred tag}
|
|
259
|
+
reason: "{verbatim user response}"
|
|
260
|
+
```
|
|
261
|
+
|
|
262
|
+
Note: Blocked tests do NOT go into the Gaps section (they aren't code issues -- they're prerequisite gates).
|
|
263
|
+
|
|
234
264
|
**If response is anything else:**
|
|
235
265
|
- Treat as issue description
|
|
236
266
|
|
|
@@ -293,8 +323,24 @@ Proceed to `present_test`.
|
|
|
293
323
|
<step name="complete_session">
|
|
294
324
|
**Complete testing and commit:**
|
|
295
325
|
|
|
326
|
+
**Determine final status:**
|
|
327
|
+
|
|
328
|
+
Count results:
|
|
329
|
+
- `pending_count`: tests with `result: [pending]`
|
|
330
|
+
- `blocked_count`: tests with `result: blocked`
|
|
331
|
+
- `skipped_no_reason`: tests with `result: skipped` and no `reason` field
|
|
332
|
+
|
|
333
|
+
```
|
|
334
|
+
if pending_count > 0 OR blocked_count > 0 OR skipped_no_reason > 0:
|
|
335
|
+
status: partial
|
|
336
|
+
# Session ended but not all tests resolved
|
|
337
|
+
else:
|
|
338
|
+
status: complete
|
|
339
|
+
# All tests have a definitive result (pass, issue, or skipped-with-reason)
|
|
340
|
+
```
|
|
341
|
+
|
|
296
342
|
Update frontmatter:
|
|
297
|
-
- status:
|
|
343
|
+
- status: {computed status}
|
|
298
344
|
- updated: [now]
|
|
299
345
|
|
|
300
346
|
Clear Current Test section:
|
|
@@ -306,7 +352,7 @@ Clear Current Test section:
|
|
|
306
352
|
|
|
307
353
|
Commit the UAT file:
|
|
308
354
|
```bash
|
|
309
|
-
node "$HOME/.claude/
|
|
355
|
+
node "$HOME/.claude/pilot/bin/ccp-tools.cjs" commit "test({phase_num}): complete UAT - {passed} passed, {issues} issues" --files ".planning/phases/XX-name/{phase_num}-UAT.md"
|
|
310
356
|
```
|
|
311
357
|
|
|
312
358
|
Present summary:
|
|
@@ -331,8 +377,8 @@ Present summary:
|
|
|
331
377
|
```
|
|
332
378
|
All tests passed. Ready to continue.
|
|
333
379
|
|
|
334
|
-
- `/
|
|
335
|
-
- `/
|
|
380
|
+
- `/ccp:plan-phase {next}` — Plan next phase
|
|
381
|
+
- `/ccp:execute-phase {next}` — Execute next phase
|
|
336
382
|
```
|
|
337
383
|
</step>
|
|
338
384
|
|
|
@@ -348,7 +394,7 @@ Spawning parallel debug agents to investigate each issue.
|
|
|
348
394
|
```
|
|
349
395
|
|
|
350
396
|
- Load diagnose-issues workflow
|
|
351
|
-
- Follow @~/.claude/
|
|
397
|
+
- Follow @~/.claude/pilot/workflows/diagnose-issues.md
|
|
352
398
|
- Spawn parallel debug agents for each issue
|
|
353
399
|
- Collect root causes
|
|
354
400
|
- Update UAT.md with root causes
|
|
@@ -363,13 +409,13 @@ Diagnosis runs automatically - no user prompt. Parallel agents investigate simul
|
|
|
363
409
|
Display:
|
|
364
410
|
```
|
|
365
411
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
366
|
-
|
|
412
|
+
Pilot ► PLANNING FIXES
|
|
367
413
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
368
414
|
|
|
369
415
|
◆ Spawning planner for gap closure...
|
|
370
416
|
```
|
|
371
417
|
|
|
372
|
-
Spawn
|
|
418
|
+
Spawn ccp-planner in --gaps mode:
|
|
373
419
|
|
|
374
420
|
```
|
|
375
421
|
Task(
|
|
@@ -385,14 +431,16 @@ Task(
|
|
|
385
431
|
- .planning/ROADMAP.md (Roadmap)
|
|
386
432
|
</files_to_read>
|
|
387
433
|
|
|
434
|
+
${AGENT_SKILLS_PLANNER}
|
|
435
|
+
|
|
388
436
|
</planning_context>
|
|
389
437
|
|
|
390
438
|
<downstream_consumer>
|
|
391
|
-
Output consumed by /
|
|
439
|
+
Output consumed by /ccp:execute-phase
|
|
392
440
|
Plans must be executable prompts.
|
|
393
441
|
</downstream_consumer>
|
|
394
442
|
""",
|
|
395
|
-
subagent_type="
|
|
443
|
+
subagent_type="ccp-planner",
|
|
396
444
|
model="{planner_model}",
|
|
397
445
|
description="Plan gap fixes for Phase {phase}"
|
|
398
446
|
)
|
|
@@ -409,7 +457,7 @@ On return:
|
|
|
409
457
|
Display:
|
|
410
458
|
```
|
|
411
459
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
412
|
-
|
|
460
|
+
Pilot ► VERIFYING FIX PLANS
|
|
413
461
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
414
462
|
|
|
415
463
|
◆ Spawning plan checker...
|
|
@@ -417,7 +465,7 @@ Display:
|
|
|
417
465
|
|
|
418
466
|
Initialize: `iteration_count = 1`
|
|
419
467
|
|
|
420
|
-
Spawn
|
|
468
|
+
Spawn ccp-plan-checker:
|
|
421
469
|
|
|
422
470
|
```
|
|
423
471
|
Task(
|
|
@@ -431,6 +479,8 @@ Task(
|
|
|
431
479
|
- {phase_dir}/*-PLAN.md (Plans to verify)
|
|
432
480
|
</files_to_read>
|
|
433
481
|
|
|
482
|
+
${AGENT_SKILLS_CHECKER}
|
|
483
|
+
|
|
434
484
|
</verification_context>
|
|
435
485
|
|
|
436
486
|
<expected_output>
|
|
@@ -439,7 +489,7 @@ Return one of:
|
|
|
439
489
|
- ## ISSUES FOUND — structured issue list
|
|
440
490
|
</expected_output>
|
|
441
491
|
""",
|
|
442
|
-
subagent_type="
|
|
492
|
+
subagent_type="ccp-plan-checker",
|
|
443
493
|
model="{checker_model}",
|
|
444
494
|
description="Verify Phase {phase} fix plans"
|
|
445
495
|
)
|
|
@@ -457,7 +507,7 @@ On return:
|
|
|
457
507
|
|
|
458
508
|
Display: `Sending back to planner for revision... (iteration {N}/3)`
|
|
459
509
|
|
|
460
|
-
Spawn
|
|
510
|
+
Spawn ccp-planner with revision context:
|
|
461
511
|
|
|
462
512
|
```
|
|
463
513
|
Task(
|
|
@@ -471,6 +521,8 @@ Task(
|
|
|
471
521
|
- {phase_dir}/*-PLAN.md (Existing plans)
|
|
472
522
|
</files_to_read>
|
|
473
523
|
|
|
524
|
+
${AGENT_SKILLS_PLANNER}
|
|
525
|
+
|
|
474
526
|
**Checker issues:**
|
|
475
527
|
{structured_issues_from_checker}
|
|
476
528
|
|
|
@@ -481,7 +533,7 @@ Read existing PLAN.md files. Make targeted updates to address checker issues.
|
|
|
481
533
|
Do NOT replan from scratch unless issues are fundamental.
|
|
482
534
|
</instructions>
|
|
483
535
|
""",
|
|
484
|
-
subagent_type="
|
|
536
|
+
subagent_type="ccp-planner",
|
|
485
537
|
model="{planner_model}",
|
|
486
538
|
description="Revise Phase {phase} plans"
|
|
487
539
|
)
|
|
@@ -497,7 +549,7 @@ Display: `Max iterations reached. {N} issues remain.`
|
|
|
497
549
|
Offer options:
|
|
498
550
|
1. Force proceed (execute despite issues)
|
|
499
551
|
2. Provide guidance (user gives direction, retry)
|
|
500
|
-
3. Abandon (exit, user runs /
|
|
552
|
+
3. Abandon (exit, user runs /ccp:plan-phase manually)
|
|
501
553
|
|
|
502
554
|
Wait for user response.
|
|
503
555
|
</step>
|
|
@@ -507,7 +559,7 @@ Wait for user response.
|
|
|
507
559
|
|
|
508
560
|
```
|
|
509
561
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
510
|
-
|
|
562
|
+
Pilot ► FIXES READY ✓
|
|
511
563
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
512
564
|
|
|
513
565
|
**Phase {X}: {Name}** — {N} gap(s) diagnosed, {M} fix plan(s) created
|
|
@@ -525,7 +577,7 @@ Plans verified and ready for execution.
|
|
|
525
577
|
|
|
526
578
|
**Execute fixes** — run fix plans
|
|
527
579
|
|
|
528
|
-
`/clear` then `/
|
|
580
|
+
`/clear` then `/ccp:execute-phase {phase} --gaps-only`
|
|
529
581
|
|
|
530
582
|
───────────────────────────────────────────────────────────────
|
|
531
583
|
```
|
|
@@ -576,8 +628,8 @@ Default to **major** if unclear. User can correct if needed.
|
|
|
576
628
|
- [ ] Batched writes: on issue, every 5 passes, or completion
|
|
577
629
|
- [ ] Committed on completion
|
|
578
630
|
- [ ] If issues: parallel debug agents diagnose root causes
|
|
579
|
-
- [ ] If issues:
|
|
580
|
-
- [ ] If issues:
|
|
631
|
+
- [ ] If issues: ccp-planner creates fix plans (gap_closure mode)
|
|
632
|
+
- [ ] If issues: ccp-plan-checker verifies fix plans
|
|
581
633
|
- [ ] If issues: revision loop until plans pass (max 3 iterations)
|
|
582
|
-
- [ ] Ready for `/
|
|
634
|
+
- [ ] Ready for `/ccp:execute-phase --gaps-only` when complete
|
|
583
635
|
</success_criteria>
|
|
@@ -15,6 +15,7 @@ Located in `~/.claude/agents/`:
|
|
|
15
15
|
| e2e-runner | E2E testing | Critical user flows |
|
|
16
16
|
| refactor-cleaner | Dead code cleanup | Code maintenance |
|
|
17
17
|
| doc-updater | Documentation | Updating docs |
|
|
18
|
+
| rust-reviewer | Rust code review | Rust projects |
|
|
18
19
|
|
|
19
20
|
## Immediate Agent Usage
|
|
20
21
|
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
# Code Review Standards
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
|
|
5
|
+
Code review ensures quality, security, and maintainability before code is merged. This rule defines when and how to conduct code reviews.
|
|
6
|
+
|
|
7
|
+
## When to Review
|
|
8
|
+
|
|
9
|
+
**MANDATORY review triggers:**
|
|
10
|
+
|
|
11
|
+
- After writing or modifying code
|
|
12
|
+
- Before any commit to shared branches
|
|
13
|
+
- When security-sensitive code is changed (auth, payments, user data)
|
|
14
|
+
- When architectural changes are made
|
|
15
|
+
- Before merging pull requests
|
|
16
|
+
|
|
17
|
+
**Pre-Review Requirements:**
|
|
18
|
+
|
|
19
|
+
Before requesting review, ensure:
|
|
20
|
+
|
|
21
|
+
- All automated checks (CI/CD) are passing
|
|
22
|
+
- Merge conflicts are resolved
|
|
23
|
+
- Branch is up to date with target branch
|
|
24
|
+
|
|
25
|
+
## Review Checklist
|
|
26
|
+
|
|
27
|
+
Before marking code complete:
|
|
28
|
+
|
|
29
|
+
- [ ] Code is readable and well-named
|
|
30
|
+
- [ ] Functions are focused (<50 lines)
|
|
31
|
+
- [ ] Files are cohesive (<800 lines)
|
|
32
|
+
- [ ] No deep nesting (>4 levels)
|
|
33
|
+
- [ ] Errors are handled explicitly
|
|
34
|
+
- [ ] No hardcoded secrets or credentials
|
|
35
|
+
- [ ] No console.log or debug statements
|
|
36
|
+
- [ ] Tests exist for new functionality
|
|
37
|
+
- [ ] Test coverage meets 80% minimum
|
|
38
|
+
|
|
39
|
+
## Security Review Triggers
|
|
40
|
+
|
|
41
|
+
**STOP and use security-reviewer agent when:**
|
|
42
|
+
|
|
43
|
+
- Authentication or authorization code
|
|
44
|
+
- User input handling
|
|
45
|
+
- Database queries
|
|
46
|
+
- File system operations
|
|
47
|
+
- External API calls
|
|
48
|
+
- Cryptographic operations
|
|
49
|
+
- Payment or financial code
|
|
50
|
+
|
|
51
|
+
## Review Severity Levels
|
|
52
|
+
|
|
53
|
+
| Level | Meaning | Action |
|
|
54
|
+
|-------|---------|--------|
|
|
55
|
+
| CRITICAL | Security vulnerability or data loss risk | **BLOCK** - Must fix before merge |
|
|
56
|
+
| HIGH | Bug or significant quality issue | **WARN** - Should fix before merge |
|
|
57
|
+
| MEDIUM | Maintainability concern | **INFO** - Consider fixing |
|
|
58
|
+
| LOW | Style or minor suggestion | **NOTE** - Optional |
|
|
59
|
+
|
|
60
|
+
## Agent Usage
|
|
61
|
+
|
|
62
|
+
Use these agents for code review:
|
|
63
|
+
|
|
64
|
+
| Agent | Purpose |
|
|
65
|
+
|-------|---------|
|
|
66
|
+
| **code-reviewer** | General code quality, patterns, best practices |
|
|
67
|
+
| **security-reviewer** | Security vulnerabilities, OWASP Top 10 |
|
|
68
|
+
| **typescript-reviewer** | TypeScript/JavaScript specific issues |
|
|
69
|
+
| **python-reviewer** | Python specific issues |
|
|
70
|
+
| **go-reviewer** | Go specific issues |
|
|
71
|
+
| **rust-reviewer** | Rust specific issues |
|
|
72
|
+
|
|
73
|
+
## Review Workflow
|
|
74
|
+
|
|
75
|
+
```
|
|
76
|
+
1. Run git diff to understand changes
|
|
77
|
+
2. Check security checklist first
|
|
78
|
+
3. Review code quality checklist
|
|
79
|
+
4. Run relevant tests
|
|
80
|
+
5. Verify coverage >= 80%
|
|
81
|
+
6. Use appropriate agent for detailed review
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
## Common Issues to Catch
|
|
85
|
+
|
|
86
|
+
### Security
|
|
87
|
+
|
|
88
|
+
- Hardcoded credentials (API keys, passwords, tokens)
|
|
89
|
+
- SQL injection (string concatenation in queries)
|
|
90
|
+
- XSS vulnerabilities (unescaped user input)
|
|
91
|
+
- Path traversal (unsanitized file paths)
|
|
92
|
+
- CSRF protection missing
|
|
93
|
+
- Authentication bypasses
|
|
94
|
+
|
|
95
|
+
### Code Quality
|
|
96
|
+
|
|
97
|
+
- Large functions (>50 lines) - split into smaller
|
|
98
|
+
- Large files (>800 lines) - extract modules
|
|
99
|
+
- Deep nesting (>4 levels) - use early returns
|
|
100
|
+
- Missing error handling - handle explicitly
|
|
101
|
+
- Mutation patterns - prefer immutable operations
|
|
102
|
+
- Missing tests - add test coverage
|
|
103
|
+
|
|
104
|
+
### Performance
|
|
105
|
+
|
|
106
|
+
- N+1 queries - use JOINs or batching
|
|
107
|
+
- Missing pagination - add LIMIT to queries
|
|
108
|
+
- Unbounded queries - add constraints
|
|
109
|
+
- Missing caching - cache expensive operations
|
|
110
|
+
|
|
111
|
+
## Approval Criteria
|
|
112
|
+
|
|
113
|
+
- **Approve**: No CRITICAL or HIGH issues
|
|
114
|
+
- **Warning**: Only HIGH issues (merge with caution)
|
|
115
|
+
- **Block**: CRITICAL issues found
|
|
116
|
+
|
|
117
|
+
## Integration with Other Rules
|
|
118
|
+
|
|
119
|
+
This rule works with:
|
|
120
|
+
|
|
121
|
+
- [testing.md](testing.md) - Test coverage requirements
|
|
122
|
+
- [security.md](security.md) - Security checklist
|
|
123
|
+
- [git-workflow.md](git-workflow.md) - Commit standards
|
|
124
|
+
- [agents.md](agents.md) - Agent delegation
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
# Coding Style
|
|
2
2
|
|
|
3
|
+
Check `CLAUDE.md` for which linting/formatting tools are configured. Run the lint command -- don't guess.
|
|
4
|
+
|
|
3
5
|
## Immutability (CRITICAL)
|
|
4
6
|
|
|
5
7
|
ALWAYS create new objects, NEVER mutate existing ones:
|
|
@@ -12,6 +14,15 @@ CORRECT: update(original, field, value) → returns new copy with change
|
|
|
12
14
|
|
|
13
15
|
Rationale: Immutable data prevents hidden side effects, makes debugging easier, and enables safe concurrency.
|
|
14
16
|
|
|
17
|
+
## Naming Conventions
|
|
18
|
+
|
|
19
|
+
Follow conventions already in the codebase:
|
|
20
|
+
- Components/Classes: PascalCase
|
|
21
|
+
- Functions/variables: camelCase (JS/TS), snake_case (Python/Go)
|
|
22
|
+
- Files: Match existing convention
|
|
23
|
+
- Constants: UPPER_SNAKE_CASE
|
|
24
|
+
- Database columns: snake_case
|
|
25
|
+
|
|
15
26
|
## File Organization
|
|
16
27
|
|
|
17
28
|
MANY SMALL FILES > FEW LARGE FILES:
|
|
@@ -20,6 +31,10 @@ MANY SMALL FILES > FEW LARGE FILES:
|
|
|
20
31
|
- Extract utilities from large modules
|
|
21
32
|
- Organize by feature/domain, not by type
|
|
22
33
|
|
|
34
|
+
## Imports
|
|
35
|
+
|
|
36
|
+
Order: external -> internal/aliased -> relative. Blank line between groups.
|
|
37
|
+
|
|
23
38
|
## Error Handling
|
|
24
39
|
|
|
25
40
|
ALWAYS handle errors comprehensively:
|
|
@@ -36,6 +51,12 @@ ALWAYS validate at system boundaries:
|
|
|
36
51
|
- Fail fast with clear error messages
|
|
37
52
|
- Never trust external data (API responses, user input, file content)
|
|
38
53
|
|
|
54
|
+
## Patterns
|
|
55
|
+
|
|
56
|
+
- Composition over inheritance
|
|
57
|
+
- Early returns to reduce nesting
|
|
58
|
+
- No TODO/FIXME without a ticket reference
|
|
59
|
+
|
|
39
60
|
## Code Quality Checklist
|
|
40
61
|
|
|
41
62
|
Before marking work complete:
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
# 规则
|
|
2
|
+
|
|
3
|
+
## 结构
|
|
4
|
+
|
|
5
|
+
规则按**通用**层和**语言特定**目录组织:
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
rules/
|
|
9
|
+
├── common/ # 语言无关的原则(始终安装)
|
|
10
|
+
│ ├── coding-style.md
|
|
11
|
+
│ ├── git-workflow.md
|
|
12
|
+
│ ├── testing.md
|
|
13
|
+
│ ├── performance.md
|
|
14
|
+
│ ├── patterns.md
|
|
15
|
+
│ ├── hooks.md
|
|
16
|
+
│ ├── agents.md
|
|
17
|
+
│ ├── security.md
|
|
18
|
+
│ ├── code-review.md
|
|
19
|
+
│ └── development-workflow.md
|
|
20
|
+
├── zh/ # 中文翻译版本
|
|
21
|
+
│ ├── coding-style.md
|
|
22
|
+
│ ├── git-workflow.md
|
|
23
|
+
│ ├── testing.md
|
|
24
|
+
│ ├── performance.md
|
|
25
|
+
│ ├── patterns.md
|
|
26
|
+
│ ├── hooks.md
|
|
27
|
+
│ ├── agents.md
|
|
28
|
+
│ ├── security.md
|
|
29
|
+
│ ├── code-review.md
|
|
30
|
+
│ └── development-workflow.md
|
|
31
|
+
├── typescript/ # TypeScript/JavaScript 特定
|
|
32
|
+
├── python/ # Python 特定
|
|
33
|
+
├── golang/ # Go 特定
|
|
34
|
+
├── swift/ # Swift 特定
|
|
35
|
+
└── php/ # PHP 特定
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
- **common/** 包含通用原则 — 无语言特定的代码示例。
|
|
39
|
+
- **zh/** 包含 common 目录的中文翻译版本。
|
|
40
|
+
- **语言目录** 扩展通用规则,包含框架特定的模式、工具和代码示例。每个文件引用其对应的通用版本。
|
|
41
|
+
|
|
42
|
+
## 安装
|
|
43
|
+
|
|
44
|
+
### 选项 1:安装脚本(推荐)
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
# 安装通用 + 一个或多个语言特定的规则集
|
|
48
|
+
./install.sh typescript
|
|
49
|
+
./install.sh python
|
|
50
|
+
./install.sh golang
|
|
51
|
+
./install.sh swift
|
|
52
|
+
./install.sh php
|
|
53
|
+
|
|
54
|
+
# 同时安装多种语言
|
|
55
|
+
./install.sh typescript python
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
### 选项 2:手动安装
|
|
59
|
+
|
|
60
|
+
> **重要提示:** 复制整个目录 — 不要使用 `/*` 展开。
|
|
61
|
+
> 通用和语言特定目录包含同名文件。
|
|
62
|
+
> 将它们展开到一个目录会导致语言特定文件覆盖通用规则,
|
|
63
|
+
> 并破坏语言特定文件使用的 `../common/` 相对引用。
|
|
64
|
+
|
|
65
|
+
```bash
|
|
66
|
+
# 创建目标目录
|
|
67
|
+
mkdir -p ~/.claude/rules
|
|
68
|
+
|
|
69
|
+
# 安装通用规则(所有项目必需)
|
|
70
|
+
cp -r rules/common ~/.claude/rules/common
|
|
71
|
+
|
|
72
|
+
# 安装中文翻译版本(可选)
|
|
73
|
+
cp -r rules/zh ~/.claude/rules/zh
|
|
74
|
+
|
|
75
|
+
# 根据项目技术栈安装语言特定规则
|
|
76
|
+
cp -r rules/typescript ~/.claude/rules/typescript
|
|
77
|
+
cp -r rules/python ~/.claude/rules/python
|
|
78
|
+
cp -r rules/golang ~/.claude/rules/golang
|
|
79
|
+
cp -r rules/swift ~/.claude/rules/swift
|
|
80
|
+
cp -r rules/php ~/.claude/rules/php
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
## 规则 vs 技能
|
|
84
|
+
|
|
85
|
+
- **规则** 定义广泛适用的标准、约定和检查清单(如"80% 测试覆盖率"、"禁止硬编码密钥")。
|
|
86
|
+
- **技能**(`skills/` 目录)为特定任务提供深入、可操作的参考材料(如 `python-patterns`、`golang-testing`)。
|
|
87
|
+
|
|
88
|
+
语言特定的规则文件在适当的地方引用相关技能。规则告诉你*做什么*;技能告诉你*怎么做*。
|
|
89
|
+
|
|
90
|
+
## 规则优先级
|
|
91
|
+
|
|
92
|
+
当语言特定规则与通用规则冲突时,**语言特定规则优先**(特定覆盖通用)。这遵循标准的分层配置模式(类似于 CSS 特异性或 `.gitignore` 优先级)。
|
|
93
|
+
|
|
94
|
+
- `rules/common/` 定义适用于所有项目的通用默认值。
|
|
95
|
+
- `rules/golang/`、`rules/python/`、`rules/swift/`、`rules/php/`、`rules/typescript/` 等在语言习惯不同时覆盖这些默认值。
|
|
96
|
+
- `rules/zh/` 是通用规则的中文翻译,与英文版本内容一致。
|
|
97
|
+
|
|
98
|
+
### 示例
|
|
99
|
+
|
|
100
|
+
`common/coding-style.md` 推荐不可变性作为默认原则。语言特定的 `golang/coding-style.md` 可以覆盖这一点:
|
|
101
|
+
|
|
102
|
+
> 惯用的 Go 使用指针接收器进行结构体变更 — 参见 [common/coding-style.md](../common/coding-style.md) 了解通用原则,但这里首选符合 Go 习惯的变更方式。
|
|
103
|
+
|
|
104
|
+
### 带覆盖说明的通用规则
|
|
105
|
+
|
|
106
|
+
`rules/common/` 中可能被语言特定文件覆盖的规则会被标记:
|
|
107
|
+
|
|
108
|
+
> **语言说明**:此规则可能会被语言特定规则覆盖;对于某些语言,该模式可能并不符合惯用写法。
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
# 代理编排
|
|
2
|
+
|
|
3
|
+
## 可用代理
|
|
4
|
+
|
|
5
|
+
位于 `~/.claude/agents/`:
|
|
6
|
+
|
|
7
|
+
| 代理 | 用途 | 何时使用 |
|
|
8
|
+
|-------|---------|------------|
|
|
9
|
+
| planner | 实现规划 | 复杂功能、重构 |
|
|
10
|
+
| architect | 系统设计 | 架构决策 |
|
|
11
|
+
| tdd-guide | 测试驱动开发 | 新功能、bug 修复 |
|
|
12
|
+
| code-reviewer | 代码审查 | 编写代码后 |
|
|
13
|
+
| security-reviewer | 安全分析 | 提交前 |
|
|
14
|
+
| build-error-resolver | 修复构建错误 | 构建失败时 |
|
|
15
|
+
| e2e-runner | E2E 测试 | 关键用户流程 |
|
|
16
|
+
| refactor-cleaner | 死代码清理 | 代码维护 |
|
|
17
|
+
| doc-updater | 文档 | 更新文档 |
|
|
18
|
+
| rust-reviewer | Rust 代码审查 | Rust 项目 |
|
|
19
|
+
|
|
20
|
+
## 立即使用代理
|
|
21
|
+
|
|
22
|
+
无需用户提示:
|
|
23
|
+
1. 复杂功能请求 - 使用 **planner** 代理
|
|
24
|
+
2. 刚编写/修改的代码 - 使用 **code-reviewer** 代理
|
|
25
|
+
3. Bug 修复或新功能 - 使用 **tdd-guide** 代理
|
|
26
|
+
4. 架构决策 - 使用 **architect** 代理
|
|
27
|
+
|
|
28
|
+
## 并行任务执行
|
|
29
|
+
|
|
30
|
+
对独立操作始终使用并行 Task 执行:
|
|
31
|
+
|
|
32
|
+
```markdown
|
|
33
|
+
# 好:并行执行
|
|
34
|
+
同时启动 3 个代理:
|
|
35
|
+
1. 代理 1:认证模块安全分析
|
|
36
|
+
2. 代理 2:缓存系统性能审查
|
|
37
|
+
3. 代理 3:工具类型检查
|
|
38
|
+
|
|
39
|
+
# 坏:不必要的顺序
|
|
40
|
+
先代理 1,然后代理 2,然后代理 3
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
## 多视角分析
|
|
44
|
+
|
|
45
|
+
对于复杂问题,使用分角色子代理:
|
|
46
|
+
- 事实审查者
|
|
47
|
+
- 高级工程师
|
|
48
|
+
- 安全专家
|
|
49
|
+
- 一致性审查者
|
|
50
|
+
- 冗余检查者
|