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
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ccp:gradle-build
|
|
3
|
+
description: Fix Gradle build errors for Android and KMP projects
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Gradle Build Fix
|
|
7
|
+
|
|
8
|
+
Incrementally fix Gradle build and compilation errors for Android and Kotlin Multiplatform projects.
|
|
9
|
+
|
|
10
|
+
## Step 1: Detect Build Configuration
|
|
11
|
+
|
|
12
|
+
Identify the project type and run the appropriate build:
|
|
13
|
+
|
|
14
|
+
| Indicator | Build Command |
|
|
15
|
+
|-----------|---------------|
|
|
16
|
+
| `build.gradle.kts` + `composeApp/` (KMP) | `./gradlew composeApp:compileKotlinMetadata 2>&1` |
|
|
17
|
+
| `build.gradle.kts` + `app/` (Android) | `./gradlew app:compileDebugKotlin 2>&1` |
|
|
18
|
+
| `settings.gradle.kts` with modules | `./gradlew assemble 2>&1` |
|
|
19
|
+
| Detekt configured | `./gradlew detekt 2>&1` |
|
|
20
|
+
|
|
21
|
+
Also check `gradle.properties` and `local.properties` for configuration.
|
|
22
|
+
|
|
23
|
+
## Step 2: Parse and Group Errors
|
|
24
|
+
|
|
25
|
+
1. Run the build command and capture output
|
|
26
|
+
2. Separate Kotlin compilation errors from Gradle configuration errors
|
|
27
|
+
3. Group by module and file path
|
|
28
|
+
4. Sort: configuration errors first, then compilation errors by dependency order
|
|
29
|
+
|
|
30
|
+
## Step 3: Fix Loop
|
|
31
|
+
|
|
32
|
+
For each error:
|
|
33
|
+
|
|
34
|
+
1. **Read the file** — Full context around the error line
|
|
35
|
+
2. **Diagnose** — Common categories:
|
|
36
|
+
- Missing import or unresolved reference
|
|
37
|
+
- Type mismatch or incompatible types
|
|
38
|
+
- Missing dependency in `build.gradle.kts`
|
|
39
|
+
- Expect/actual mismatch (KMP)
|
|
40
|
+
- Compose compiler error
|
|
41
|
+
3. **Fix minimally** — Smallest change that resolves the error
|
|
42
|
+
4. **Re-run build** — Verify fix and check for new errors
|
|
43
|
+
5. **Continue** — Move to next error
|
|
44
|
+
|
|
45
|
+
## Step 4: Guardrails
|
|
46
|
+
|
|
47
|
+
Stop and ask the user if:
|
|
48
|
+
- Fix introduces more errors than it resolves
|
|
49
|
+
- Same error persists after 3 attempts
|
|
50
|
+
- Error requires adding new dependencies or changing module structure
|
|
51
|
+
- Gradle sync itself fails (configuration-phase error)
|
|
52
|
+
- Error is in generated code (Room, SQLDelight, KSP)
|
|
53
|
+
|
|
54
|
+
## Step 5: Summary
|
|
55
|
+
|
|
56
|
+
Report:
|
|
57
|
+
- Errors fixed (module, file, description)
|
|
58
|
+
- Errors remaining
|
|
59
|
+
- New errors introduced (should be zero)
|
|
60
|
+
- Suggested next steps
|
|
61
|
+
|
|
62
|
+
## Common Gradle/KMP Fixes
|
|
63
|
+
|
|
64
|
+
| Error | Fix |
|
|
65
|
+
|-------|-----|
|
|
66
|
+
| Unresolved reference in `commonMain` | Check if the dependency is in `commonMain.dependencies {}` |
|
|
67
|
+
| Expect declaration without actual | Add `actual` implementation in each platform source set |
|
|
68
|
+
| Compose compiler version mismatch | Align Kotlin and Compose compiler versions in `libs.versions.toml` |
|
|
69
|
+
| Duplicate class | Check for conflicting dependencies with `./gradlew dependencies` |
|
|
70
|
+
| KSP error | Run `./gradlew kspCommonMainKotlinMetadata` to regenerate |
|
|
71
|
+
| Configuration cache issue | Check for non-serializable task inputs |
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ccp:harness-audit
|
|
3
|
+
description: "Run deterministic repository harness audit and return prioritized scorecard"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Harness Audit Command
|
|
7
|
+
|
|
8
|
+
Run a deterministic repository harness audit and return a prioritized scorecard.
|
|
9
|
+
|
|
10
|
+
## Usage
|
|
11
|
+
|
|
12
|
+
`/ccp:harness-audit [scope] [--format text|json]`
|
|
13
|
+
|
|
14
|
+
- `scope` (optional): `repo` (default), `hooks`, `skills`, `commands`, `agents`
|
|
15
|
+
- `--format`: output style (`text` default, `json` for automation)
|
|
16
|
+
|
|
17
|
+
## Deterministic Engine
|
|
18
|
+
|
|
19
|
+
Always run:
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
node scripts/harness-audit.js <scope> --format <text|json>
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
This script is the source of truth for scoring and checks. Do not invent additional dimensions or ad-hoc points.
|
|
26
|
+
|
|
27
|
+
Rubric version: `2026-03-16`.
|
|
28
|
+
|
|
29
|
+
The script computes 7 fixed categories (`0-10` normalized each):
|
|
30
|
+
|
|
31
|
+
1. Tool Coverage
|
|
32
|
+
2. Context Efficiency
|
|
33
|
+
3. Quality Gates
|
|
34
|
+
4. Memory Persistence
|
|
35
|
+
5. Eval Coverage
|
|
36
|
+
6. Security Guardrails
|
|
37
|
+
7. Cost Efficiency
|
|
38
|
+
|
|
39
|
+
Scores are derived from explicit file/rule checks and are reproducible for the same commit.
|
|
40
|
+
|
|
41
|
+
## Output Contract
|
|
42
|
+
|
|
43
|
+
Return:
|
|
44
|
+
|
|
45
|
+
1. `overall_score` out of `max_score` (70 for `repo`; smaller for scoped audits)
|
|
46
|
+
2. Category scores and concrete findings
|
|
47
|
+
3. Failed checks with exact file paths
|
|
48
|
+
4. Top 3 actions from the deterministic output (`top_actions`)
|
|
49
|
+
5. Suggested skills to apply next
|
|
50
|
+
|
|
51
|
+
## Checklist
|
|
52
|
+
|
|
53
|
+
- Use script output directly; do not rescore manually.
|
|
54
|
+
- If `--format json` is requested, return the script JSON unchanged.
|
|
55
|
+
- If text is requested, summarize failing checks and top actions.
|
|
56
|
+
- Include exact file paths from `checks[]` and `top_actions[]`.
|
|
57
|
+
|
|
58
|
+
## Example Result
|
|
59
|
+
|
|
60
|
+
```text
|
|
61
|
+
Harness Audit (repo): 66/70
|
|
62
|
+
- Tool Coverage: 10/10 (10/10 pts)
|
|
63
|
+
- Context Efficiency: 9/10 (9/10 pts)
|
|
64
|
+
- Quality Gates: 10/10 (10/10 pts)
|
|
65
|
+
|
|
66
|
+
Top 3 Actions:
|
|
67
|
+
1) [Security Guardrails] Add prompt/tool preflight security guards in hooks/hooks.json. (hooks/hooks.json)
|
|
68
|
+
2) [Tool Coverage] Sync commands/harness-audit.md and .opencode/commands/harness-audit.md. (.opencode/commands/harness-audit.md)
|
|
69
|
+
3) [Eval Coverage] Increase automated test coverage across scripts/hooks/lib. (tests/)
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
## Arguments
|
|
73
|
+
|
|
74
|
+
$ARGUMENTS:
|
|
75
|
+
- `repo|hooks|skills|commands|agents` (optional scope)
|
|
76
|
+
- `--format text|json` (optional output format)
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
name:
|
|
2
|
+
name: ccp:health
|
|
3
3
|
description: Diagnose planning directory health and optionally repair issues
|
|
4
4
|
argument-hint: [--repair]
|
|
5
5
|
allowed-tools:
|
|
@@ -13,10 +13,10 @@ Validate `.planning/` directory integrity and report actionable issues. Checks f
|
|
|
13
13
|
</objective>
|
|
14
14
|
|
|
15
15
|
<execution_context>
|
|
16
|
-
@~/.claude/
|
|
16
|
+
@~/.claude/pilot/workflows/health.md
|
|
17
17
|
</execution_context>
|
|
18
18
|
|
|
19
19
|
<process>
|
|
20
|
-
Execute the health workflow from @~/.claude/
|
|
20
|
+
Execute the health workflow from @~/.claude/pilot/workflows/health.md end-to-end.
|
|
21
21
|
Parse --repair flag from arguments and pass to workflow.
|
|
22
22
|
</process>
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
---
|
|
2
|
-
name:
|
|
3
|
-
description: Show available
|
|
2
|
+
name: ccp:help
|
|
3
|
+
description: Show available CCP commands and usage guide
|
|
4
4
|
---
|
|
5
5
|
<objective>
|
|
6
|
-
Display the complete
|
|
6
|
+
Display the complete CCP command reference.
|
|
7
7
|
|
|
8
8
|
Output ONLY the reference content below. Do NOT add:
|
|
9
9
|
- Project-specific analysis
|
|
@@ -13,10 +13,10 @@ Output ONLY the reference content below. Do NOT add:
|
|
|
13
13
|
</objective>
|
|
14
14
|
|
|
15
15
|
<execution_context>
|
|
16
|
-
@~/.claude/
|
|
16
|
+
@~/.claude/pilot/workflows/help.md
|
|
17
17
|
</execution_context>
|
|
18
18
|
|
|
19
19
|
<process>
|
|
20
|
-
Output the complete
|
|
20
|
+
Output the complete CCP command reference from @~/.claude/pilot/workflows/help.md.
|
|
21
21
|
Display the reference content directly — no additions or modifications.
|
|
22
22
|
</process>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
name:
|
|
2
|
+
name: ccp:insert-phase
|
|
3
3
|
description: Insert urgent work as decimal phase (e.g., 72.1) between existing phases
|
|
4
4
|
argument-hint: <after> <description>
|
|
5
5
|
allowed-tools:
|
|
@@ -17,7 +17,7 @@ Purpose: Handle urgent work discovered during execution without renumbering enti
|
|
|
17
17
|
</objective>
|
|
18
18
|
|
|
19
19
|
<execution_context>
|
|
20
|
-
@~/.claude/
|
|
20
|
+
@~/.claude/pilot/workflows/insert-phase.md
|
|
21
21
|
</execution_context>
|
|
22
22
|
|
|
23
23
|
<context>
|
|
@@ -27,6 +27,6 @@ Roadmap and state are resolved in-workflow via `init phase-op` and targeted tool
|
|
|
27
27
|
</context>
|
|
28
28
|
|
|
29
29
|
<process>
|
|
30
|
-
Execute the insert-phase workflow from @~/.claude/
|
|
30
|
+
Execute the insert-phase workflow from @~/.claude/pilot/workflows/insert-phase.md end-to-end.
|
|
31
31
|
Preserve all validation gates (argument parsing, phase verification, decimal calculation, roadmap updates).
|
|
32
32
|
</process>
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ccp:kotlin-build
|
|
3
|
+
description: Fix Kotlin/Gradle build errors, compiler warnings, and dependency issues incrementally. Invokes the kotlin-build-resolver agent for minimal, surgical fixes.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Kotlin Build and Fix
|
|
7
|
+
|
|
8
|
+
This command invokes the **kotlin-build-resolver** agent to incrementally fix Kotlin build errors with minimal changes.
|
|
9
|
+
|
|
10
|
+
## What This Command Does
|
|
11
|
+
|
|
12
|
+
1. **Run Diagnostics**: Execute `./gradlew build`, `detekt`, `ktlintCheck`
|
|
13
|
+
2. **Parse Errors**: Group by file and sort by severity
|
|
14
|
+
3. **Fix Incrementally**: One error at a time
|
|
15
|
+
4. **Verify Each Fix**: Re-run build after each change
|
|
16
|
+
5. **Report Summary**: Show what was fixed and what remains
|
|
17
|
+
|
|
18
|
+
## When to Use
|
|
19
|
+
|
|
20
|
+
Use `/ccp:kotlin-build` when:
|
|
21
|
+
- `./gradlew build` fails with errors
|
|
22
|
+
- Kotlin compiler reports errors
|
|
23
|
+
- `./gradlew detekt` reports violations
|
|
24
|
+
- Gradle dependency resolution fails
|
|
25
|
+
- After pulling changes that break the build
|
|
26
|
+
|
|
27
|
+
## Diagnostic Commands Run
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
# Primary build check
|
|
31
|
+
./gradlew build 2>&1
|
|
32
|
+
|
|
33
|
+
# Static analysis
|
|
34
|
+
./gradlew detekt 2>&1 || echo "detekt not configured"
|
|
35
|
+
./gradlew ktlintCheck 2>&1 || echo "ktlint not configured"
|
|
36
|
+
|
|
37
|
+
# Dependency issues
|
|
38
|
+
./gradlew dependencies --configuration runtimeClasspath 2>&1 | head -100
|
|
39
|
+
|
|
40
|
+
# Optional deep refresh when caches or dependency metadata are suspect
|
|
41
|
+
./gradlew build --refresh-dependencies
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
## Example Session
|
|
45
|
+
|
|
46
|
+
````text
|
|
47
|
+
User: /ccp:kotlin-build
|
|
48
|
+
|
|
49
|
+
Agent:
|
|
50
|
+
# Kotlin Build Resolution
|
|
51
|
+
|
|
52
|
+
## Initial Diagnostics
|
|
53
|
+
|
|
54
|
+
```bash
|
|
55
|
+
$ ./gradlew build
|
|
56
|
+
e: src/main/kotlin/com/example/service/UserService.kt:25:15 Unresolved reference: UserRepository
|
|
57
|
+
e: src/main/kotlin/com/example/routes/UserRoutes.kt:42:9 Type mismatch: inferred type is String but Int was expected
|
|
58
|
+
e: src/main/kotlin/com/example/routes/UserRoutes.kt:58:5 'when' expression must be exhaustive
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
Errors found: 3
|
|
62
|
+
|
|
63
|
+
## Fix 1: Unresolved Reference
|
|
64
|
+
|
|
65
|
+
File: src/main/kotlin/com/example/service/UserService.kt:25
|
|
66
|
+
Error: Unresolved reference: UserRepository
|
|
67
|
+
Cause: Missing import
|
|
68
|
+
|
|
69
|
+
```kotlin
|
|
70
|
+
// Added import
|
|
71
|
+
import com.example.repository.UserRepository
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
```bash
|
|
75
|
+
$ ./gradlew build
|
|
76
|
+
# 2 errors remaining
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
## Fix 2: Type Mismatch
|
|
80
|
+
|
|
81
|
+
File: src/main/kotlin/com/example/routes/UserRoutes.kt:42
|
|
82
|
+
Error: Type mismatch: inferred type is String but Int was expected
|
|
83
|
+
|
|
84
|
+
```kotlin
|
|
85
|
+
// Changed
|
|
86
|
+
val count = call.parameters["count"]
|
|
87
|
+
// To
|
|
88
|
+
val count = call.parameters["count"]?.toIntOrNull()
|
|
89
|
+
?: return@get call.respond(HttpStatusCode.BadRequest, "Invalid count")
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
```bash
|
|
93
|
+
$ ./gradlew build
|
|
94
|
+
# 1 error remaining
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
## Fix 3: Non-Exhaustive When
|
|
98
|
+
|
|
99
|
+
File: src/main/kotlin/com/example/routes/UserRoutes.kt:58
|
|
100
|
+
Error: 'when' expression must be exhaustive
|
|
101
|
+
|
|
102
|
+
```kotlin
|
|
103
|
+
// Added missing branch
|
|
104
|
+
when (user.role) {
|
|
105
|
+
Role.ADMIN -> handleAdmin(user)
|
|
106
|
+
Role.USER -> handleUser(user)
|
|
107
|
+
Role.MODERATOR -> handleModerator(user) // Added
|
|
108
|
+
}
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
```bash
|
|
112
|
+
$ ./gradlew build
|
|
113
|
+
# Build successful!
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
## Final Verification
|
|
117
|
+
|
|
118
|
+
```bash
|
|
119
|
+
$ ./gradlew detekt
|
|
120
|
+
# No issues
|
|
121
|
+
|
|
122
|
+
$ ./gradlew test
|
|
123
|
+
# All tests passed
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
## Summary
|
|
127
|
+
|
|
128
|
+
| Metric | Count |
|
|
129
|
+
|--------|-------|
|
|
130
|
+
| Build errors fixed | 3 |
|
|
131
|
+
| Detekt issues fixed | 0 |
|
|
132
|
+
| Files modified | 2 |
|
|
133
|
+
| Remaining issues | 0 |
|
|
134
|
+
|
|
135
|
+
Build Status: ✅ SUCCESS
|
|
136
|
+
````
|
|
137
|
+
|
|
138
|
+
## Common Errors Fixed
|
|
139
|
+
|
|
140
|
+
| Error | Typical Fix |
|
|
141
|
+
|-------|-------------|
|
|
142
|
+
| `Unresolved reference: X` | Add import or dependency |
|
|
143
|
+
| `Type mismatch` | Fix type conversion or assignment |
|
|
144
|
+
| `'when' must be exhaustive` | Add missing sealed class branches |
|
|
145
|
+
| `Suspend function can only be called from coroutine` | Add `suspend` modifier |
|
|
146
|
+
| `Smart cast impossible` | Use local `val` or `let` |
|
|
147
|
+
| `None of the following candidates is applicable` | Fix argument types |
|
|
148
|
+
| `Could not resolve dependency` | Fix version or add repository |
|
|
149
|
+
|
|
150
|
+
## Fix Strategy
|
|
151
|
+
|
|
152
|
+
1. **Build errors first** - Code must compile
|
|
153
|
+
2. **Detekt violations second** - Fix code quality issues
|
|
154
|
+
3. **ktlint warnings third** - Fix formatting
|
|
155
|
+
4. **One fix at a time** - Verify each change
|
|
156
|
+
5. **Minimal changes** - Don't refactor, just fix
|
|
157
|
+
|
|
158
|
+
## Stop Conditions
|
|
159
|
+
|
|
160
|
+
The agent will stop and report if:
|
|
161
|
+
- Same error persists after 3 attempts
|
|
162
|
+
- Fix introduces more errors
|
|
163
|
+
- Requires architectural changes
|
|
164
|
+
- Missing external dependencies
|
|
165
|
+
|
|
166
|
+
## Related Commands
|
|
167
|
+
|
|
168
|
+
- `/ccp:kotlin-test` - Run tests after build succeeds
|
|
169
|
+
- `/ccp:kotlin-review` - Review code quality
|
|
170
|
+
- `/ccp:verify` - Full verification loop
|
|
171
|
+
|
|
172
|
+
## Related
|
|
173
|
+
|
|
174
|
+
- Agent: `agents/kotlin-build-resolver.md`
|
|
175
|
+
- Skill: `skills/kotlin-patterns/`
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ccp:kotlin-review
|
|
3
|
+
description: Comprehensive Kotlin code review for idiomatic patterns, null safety, coroutine safety, and security. Invokes the kotlin-reviewer agent.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Kotlin Code Review
|
|
7
|
+
|
|
8
|
+
This command invokes the **kotlin-reviewer** agent for comprehensive Kotlin-specific code review.
|
|
9
|
+
|
|
10
|
+
## What This Command Does
|
|
11
|
+
|
|
12
|
+
1. **Identify Kotlin Changes**: Find modified `.kt` and `.kts` files via `git diff`
|
|
13
|
+
2. **Run Build & Static Analysis**: Execute `./gradlew build`, `detekt`, `ktlintCheck`
|
|
14
|
+
3. **Security Scan**: Check for SQL injection, command injection, hardcoded secrets
|
|
15
|
+
4. **Null Safety Review**: Analyze `!!` usage, platform type handling, unsafe casts
|
|
16
|
+
5. **Coroutine Review**: Check structured concurrency, dispatcher usage, cancellation
|
|
17
|
+
6. **Generate Report**: Categorize issues by severity
|
|
18
|
+
|
|
19
|
+
## When to Use
|
|
20
|
+
|
|
21
|
+
Use `/ccp:kotlin-review` when:
|
|
22
|
+
- After writing or modifying Kotlin code
|
|
23
|
+
- Before committing Kotlin changes
|
|
24
|
+
- Reviewing pull requests with Kotlin code
|
|
25
|
+
- Onboarding to a new Kotlin codebase
|
|
26
|
+
- Learning idiomatic Kotlin patterns
|
|
27
|
+
|
|
28
|
+
## Review Categories
|
|
29
|
+
|
|
30
|
+
### CRITICAL (Must Fix)
|
|
31
|
+
- SQL/Command injection vulnerabilities
|
|
32
|
+
- Force-unwrap `!!` without justification
|
|
33
|
+
- Platform type null safety violations
|
|
34
|
+
- GlobalScope usage (structured concurrency violation)
|
|
35
|
+
- Hardcoded credentials
|
|
36
|
+
- Unsafe deserialization
|
|
37
|
+
|
|
38
|
+
### HIGH (Should Fix)
|
|
39
|
+
- Mutable state where immutable suffices
|
|
40
|
+
- Blocking calls inside coroutine context
|
|
41
|
+
- Missing cancellation checks in long loops
|
|
42
|
+
- Non-exhaustive `when` on sealed types
|
|
43
|
+
- Large functions (>50 lines)
|
|
44
|
+
- Deep nesting (>4 levels)
|
|
45
|
+
|
|
46
|
+
### MEDIUM (Consider)
|
|
47
|
+
- Non-idiomatic Kotlin (Java-style patterns)
|
|
48
|
+
- Missing trailing commas
|
|
49
|
+
- Scope function misuse or nesting
|
|
50
|
+
- Missing sequence for large collection chains
|
|
51
|
+
- Redundant explicit types
|
|
52
|
+
|
|
53
|
+
## Automated Checks Run
|
|
54
|
+
|
|
55
|
+
```bash
|
|
56
|
+
# Build check
|
|
57
|
+
./gradlew build
|
|
58
|
+
|
|
59
|
+
# Static analysis
|
|
60
|
+
./gradlew detekt
|
|
61
|
+
|
|
62
|
+
# Formatting check
|
|
63
|
+
./gradlew ktlintCheck
|
|
64
|
+
|
|
65
|
+
# Tests
|
|
66
|
+
./gradlew test
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
## Example Usage
|
|
70
|
+
|
|
71
|
+
````text
|
|
72
|
+
User: /ccp:kotlin-review
|
|
73
|
+
|
|
74
|
+
Agent:
|
|
75
|
+
# Kotlin Code Review Report
|
|
76
|
+
|
|
77
|
+
## Files Reviewed
|
|
78
|
+
- src/main/kotlin/com/example/service/UserService.kt (modified)
|
|
79
|
+
- src/main/kotlin/com/example/routes/UserRoutes.kt (modified)
|
|
80
|
+
|
|
81
|
+
## Static Analysis Results
|
|
82
|
+
✓ Build: Successful
|
|
83
|
+
✓ detekt: No issues
|
|
84
|
+
⚠ ktlint: 2 formatting warnings
|
|
85
|
+
|
|
86
|
+
## Issues Found
|
|
87
|
+
|
|
88
|
+
[CRITICAL] Force-Unwrap Null Safety
|
|
89
|
+
File: src/main/kotlin/com/example/service/UserService.kt:28
|
|
90
|
+
Issue: Using !! on nullable repository result
|
|
91
|
+
```kotlin
|
|
92
|
+
val user = repository.findById(id)!! // NPE risk
|
|
93
|
+
```
|
|
94
|
+
Fix: Use safe call with error handling
|
|
95
|
+
```kotlin
|
|
96
|
+
val user = repository.findById(id)
|
|
97
|
+
?: throw UserNotFoundException("User $id not found")
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
[HIGH] GlobalScope Usage
|
|
101
|
+
File: src/main/kotlin/com/example/routes/UserRoutes.kt:45
|
|
102
|
+
Issue: Using GlobalScope breaks structured concurrency
|
|
103
|
+
```kotlin
|
|
104
|
+
GlobalScope.launch {
|
|
105
|
+
notificationService.sendWelcome(user)
|
|
106
|
+
}
|
|
107
|
+
```
|
|
108
|
+
Fix: Use the call's coroutine scope
|
|
109
|
+
```kotlin
|
|
110
|
+
launch {
|
|
111
|
+
notificationService.sendWelcome(user)
|
|
112
|
+
}
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
## Summary
|
|
116
|
+
- CRITICAL: 1
|
|
117
|
+
- HIGH: 1
|
|
118
|
+
- MEDIUM: 0
|
|
119
|
+
|
|
120
|
+
Recommendation: ❌ Block merge until CRITICAL issue is fixed
|
|
121
|
+
````
|
|
122
|
+
|
|
123
|
+
## Approval Criteria
|
|
124
|
+
|
|
125
|
+
| Status | Condition |
|
|
126
|
+
|--------|-----------|
|
|
127
|
+
| ✅ Approve | No CRITICAL or HIGH issues |
|
|
128
|
+
| ⚠️ Warning | Only MEDIUM issues (merge with caution) |
|
|
129
|
+
| ❌ Block | CRITICAL or HIGH issues found |
|
|
130
|
+
|
|
131
|
+
## Integration with Other Commands
|
|
132
|
+
|
|
133
|
+
- Use `/ccp:kotlin-test` first to ensure tests pass
|
|
134
|
+
- Use `/ccp:kotlin-build` if build errors occur
|
|
135
|
+
- Use `/ccp:kotlin-review` before committing
|
|
136
|
+
- Use `/ccp:code-review` for non-Kotlin-specific concerns
|
|
137
|
+
|
|
138
|
+
## Related
|
|
139
|
+
|
|
140
|
+
- Agent: `agents/kotlin-reviewer.md`
|
|
141
|
+
- Skills: `skills/kotlin-patterns/`, `skills/kotlin-testing/`
|