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.
Files changed (514) hide show
  1. package/README.md +76 -97
  2. package/bin/install.js +267 -250
  3. package/manifest.json +5 -18
  4. package/package.json +5 -7
  5. package/src/agents/build-error-resolver.md +114 -0
  6. package/src/agents/ccp-advisor-researcher.md +104 -0
  7. package/src/agents/ccp-assumptions-analyzer.md +105 -0
  8. package/{gsd/agents/gsd-codebase-mapper.md → src/agents/ccp-codebase-mapper.md} +7 -7
  9. package/{gsd/agents/gsd-debugger.md → src/agents/ccp-debugger.md} +125 -8
  10. package/{gsd/agents/gsd-executor.md → src/agents/ccp-executor.md} +31 -20
  11. package/{gsd/agents/gsd-integration-checker.md → src/agents/ccp-integration-checker.md} +2 -2
  12. package/{gsd/agents/gsd-nyquist-auditor.md → src/agents/ccp-nyquist-auditor.md} +3 -3
  13. package/{gsd/agents/gsd-phase-researcher.md → src/agents/ccp-phase-researcher.md} +127 -13
  14. package/{gsd/agents/gsd-plan-checker.md → src/agents/ccp-plan-checker.md} +57 -21
  15. package/{gsd/agents/gsd-planner.md → src/agents/ccp-planner.md} +61 -23
  16. package/{gsd/agents/gsd-project-researcher.md → src/agents/ccp-project-researcher.md} +33 -6
  17. package/{gsd/agents/gsd-research-synthesizer.md → src/agents/ccp-research-synthesizer.md} +11 -11
  18. package/{gsd/agents/gsd-roadmapper.md → src/agents/ccp-roadmapper.md} +39 -10
  19. package/src/agents/ccp-ui-auditor.md +439 -0
  20. package/src/agents/ccp-ui-checker.md +300 -0
  21. package/src/agents/ccp-ui-researcher.md +357 -0
  22. package/{gsd/agents/gsd-verifier.md → src/agents/ccp-verifier.md} +81 -15
  23. package/src/agents/cpp-build-resolver.md +90 -0
  24. package/src/agents/cpp-reviewer.md +72 -0
  25. package/src/agents/database-reviewer.md +91 -0
  26. package/{ecc → src}/agents/doc-updater.md +1 -1
  27. package/src/agents/docs-lookup.md +68 -0
  28. package/src/agents/flutter-reviewer.md +243 -0
  29. package/src/agents/gan-evaluator.md +209 -0
  30. package/src/agents/gan-generator.md +131 -0
  31. package/src/agents/gan-planner.md +99 -0
  32. package/src/agents/go-build-resolver.md +94 -0
  33. package/src/agents/go-reviewer.md +76 -0
  34. package/src/agents/harness-optimizer.md +35 -0
  35. package/src/agents/java-build-resolver.md +153 -0
  36. package/src/agents/java-reviewer.md +92 -0
  37. package/src/agents/kotlin-build-resolver.md +118 -0
  38. package/src/agents/kotlin-reviewer.md +159 -0
  39. package/src/agents/loop-operator.md +36 -0
  40. package/src/agents/opensource-forker.md +198 -0
  41. package/src/agents/opensource-packager.md +249 -0
  42. package/src/agents/opensource-sanitizer.md +188 -0
  43. package/src/agents/performance-optimizer.md +446 -0
  44. package/src/agents/planner.md +212 -0
  45. package/src/agents/python-reviewer.md +98 -0
  46. package/src/agents/pytorch-build-resolver.md +120 -0
  47. package/src/agents/refactor-cleaner.md +85 -0
  48. package/src/agents/rust-build-resolver.md +148 -0
  49. package/src/agents/rust-reviewer.md +94 -0
  50. package/src/agents/typescript-reviewer.md +112 -0
  51. package/src/available-rules/README.md +80 -0
  52. package/src/available-rules/cpp/coding-style.md +44 -0
  53. package/src/available-rules/cpp/hooks.md +39 -0
  54. package/src/available-rules/cpp/patterns.md +51 -0
  55. package/src/available-rules/cpp/security.md +51 -0
  56. package/src/available-rules/cpp/testing.md +44 -0
  57. package/src/available-rules/csharp/coding-style.md +72 -0
  58. package/src/available-rules/csharp/hooks.md +25 -0
  59. package/src/available-rules/csharp/patterns.md +50 -0
  60. package/src/available-rules/csharp/security.md +58 -0
  61. package/src/available-rules/csharp/testing.md +46 -0
  62. package/src/available-rules/java/coding-style.md +114 -0
  63. package/src/available-rules/java/hooks.md +18 -0
  64. package/src/available-rules/java/patterns.md +146 -0
  65. package/src/available-rules/java/security.md +100 -0
  66. package/src/available-rules/java/testing.md +131 -0
  67. package/src/available-rules/kotlin/hooks.md +17 -0
  68. package/src/available-rules/rust/coding-style.md +151 -0
  69. package/src/available-rules/rust/hooks.md +16 -0
  70. package/src/available-rules/rust/patterns.md +168 -0
  71. package/src/available-rules/rust/security.md +141 -0
  72. package/src/available-rules/rust/testing.md +154 -0
  73. package/src/commands/ccp/add-backlog.md +76 -0
  74. package/{gsd/commands-gsd → src/commands/ccp}/add-phase.md +3 -3
  75. package/{gsd/commands-gsd → src/commands/ccp}/add-tests.md +5 -5
  76. package/{gsd/commands-gsd → src/commands/ccp}/add-todo.md +4 -4
  77. package/src/commands/ccp/aside.md +165 -0
  78. package/{gsd/commands-gsd → src/commands/ccp}/audit-milestone.md +3 -3
  79. package/src/commands/ccp/audit-uat.md +24 -0
  80. package/src/commands/ccp/autonomous.md +41 -0
  81. package/src/commands/ccp/build-fix.md +67 -0
  82. package/{gsd/commands-gsd → src/commands/ccp}/check-todos.md +3 -3
  83. package/{ecc/commands → src/commands/ccp}/checkpoint.md +12 -7
  84. package/{gsd/commands-gsd → src/commands/ccp}/cleanup.md +3 -3
  85. package/src/commands/ccp/code-review.md +45 -0
  86. package/{gsd/commands-gsd → src/commands/ccp}/complete-milestone.md +9 -9
  87. package/src/commands/ccp/context-budget.md +30 -0
  88. package/src/commands/ccp/cpp-build.md +174 -0
  89. package/src/commands/ccp/cpp-review.md +133 -0
  90. package/src/commands/ccp/cpp-test.md +252 -0
  91. package/{gsd/commands-gsd → src/commands/ccp}/debug.md +14 -9
  92. package/src/commands/ccp/discuss-phase.md +64 -0
  93. package/src/commands/ccp/do.md +30 -0
  94. package/src/commands/ccp/docs-update.md +48 -0
  95. package/src/commands/ccp/docs.md +32 -0
  96. package/src/commands/ccp/e2e.md +365 -0
  97. package/src/commands/ccp/eval.md +125 -0
  98. package/{ecc/commands → src/commands/ccp}/evolve.md +5 -5
  99. package/src/commands/ccp/execute-phase.md +59 -0
  100. package/src/commands/ccp/fast.md +30 -0
  101. package/src/commands/ccp/forensics.md +56 -0
  102. package/src/commands/ccp/go-build.md +184 -0
  103. package/src/commands/ccp/go-review.md +149 -0
  104. package/src/commands/ccp/go-test.md +269 -0
  105. package/src/commands/ccp/gradle-build.md +71 -0
  106. package/src/commands/ccp/harness-audit.md +76 -0
  107. package/{gsd/commands-gsd → src/commands/ccp}/health.md +3 -3
  108. package/{gsd/commands-gsd → src/commands/ccp}/help.md +5 -5
  109. package/{gsd/commands-gsd → src/commands/ccp}/insert-phase.md +3 -3
  110. package/src/commands/ccp/kotlin-build.md +175 -0
  111. package/src/commands/ccp/kotlin-review.md +141 -0
  112. package/src/commands/ccp/kotlin-test.md +313 -0
  113. package/{ecc/commands → src/commands/ccp}/learn.md +7 -2
  114. package/{gsd/commands-gsd → src/commands/ccp}/list-phase-assumptions.md +2 -2
  115. package/src/commands/ccp/manager.md +39 -0
  116. package/{gsd/commands-gsd → src/commands/ccp}/map-codebase.md +7 -7
  117. package/src/commands/ccp/milestone-summary.md +51 -0
  118. package/{ecc/commands → src/commands/ccp}/model-route.md +6 -1
  119. package/{gsd/commands-gsd → src/commands/ccp}/new-milestone.md +8 -8
  120. package/{gsd/commands-gsd → src/commands/ccp}/new-project.md +8 -8
  121. package/src/commands/ccp/next.md +24 -0
  122. package/src/commands/ccp/note.md +34 -0
  123. package/src/commands/ccp/orchestrate.md +232 -0
  124. package/{gsd/commands-gsd → src/commands/ccp}/pause-work.md +3 -3
  125. package/{gsd/commands-gsd → src/commands/ccp}/plan-milestone-gaps.md +5 -5
  126. package/{gsd/commands-gsd → src/commands/ccp}/plan-phase.md +9 -7
  127. package/src/commands/ccp/plan.md +115 -0
  128. package/src/commands/ccp/plant-seed.md +28 -0
  129. package/src/commands/ccp/pr-branch.md +25 -0
  130. package/src/commands/ccp/profile-user.md +46 -0
  131. package/{gsd/commands-gsd → src/commands/ccp}/progress.md +3 -3
  132. package/src/commands/ccp/prompt-optimize.md +39 -0
  133. package/src/commands/ccp/prune.md +25 -0
  134. package/src/commands/ccp/python-review.md +298 -0
  135. package/{ecc/commands → src/commands/ccp}/quality-gate.md +7 -2
  136. package/{gsd/commands-gsd → src/commands/ccp}/quick.md +10 -8
  137. package/src/commands/ccp/refactor-clean.md +85 -0
  138. package/{gsd/commands-gsd → src/commands/ccp}/remove-phase.md +3 -3
  139. package/{gsd/commands-gsd → src/commands/ccp}/research-phase.md +17 -12
  140. package/{ecc/commands → src/commands/ccp}/resume-session.md +9 -8
  141. package/{gsd/commands-gsd → src/commands/ccp}/resume-work.md +3 -3
  142. package/src/commands/ccp/review-backlog.md +61 -0
  143. package/src/commands/ccp/review.md +37 -0
  144. package/src/commands/ccp/rules-distill.md +12 -0
  145. package/src/commands/ccp/rust-build.md +188 -0
  146. package/src/commands/ccp/rust-review.md +143 -0
  147. package/src/commands/ccp/rust-test.md +309 -0
  148. package/{ecc/commands → src/commands/ccp}/save-session.md +2 -1
  149. package/src/commands/ccp/secure-phase.md +35 -0
  150. package/src/commands/ccp/session-report.md +19 -0
  151. package/{ecc/commands → src/commands/ccp}/sessions.md +39 -34
  152. package/src/commands/ccp/set-profile.md +12 -0
  153. package/{gsd/commands-gsd → src/commands/ccp}/settings.md +5 -5
  154. package/src/commands/ccp/setup-pm.md +81 -0
  155. package/{kit/commands → src/commands/ccp}/setup-refresh.md +4 -3
  156. package/{kit/commands → src/commands/ccp}/setup.md +67 -40
  157. package/src/commands/ccp/ship.md +23 -0
  158. package/src/commands/ccp/skill-create.md +172 -0
  159. package/src/commands/ccp/skill-health.md +51 -0
  160. package/src/commands/ccp/stats.md +18 -0
  161. package/src/commands/ccp/tdd.md +329 -0
  162. package/src/commands/ccp/test-coverage.md +74 -0
  163. package/src/commands/ccp/thread.md +127 -0
  164. package/{kit/commands → src/commands/ccp}/tool-guide.md +2 -1
  165. package/src/commands/ccp/ui-phase.md +34 -0
  166. package/src/commands/ccp/ui-review.md +32 -0
  167. package/src/commands/ccp/update-codemaps.md +77 -0
  168. package/src/commands/ccp/update-docs.md +89 -0
  169. package/{gsd/commands-gsd → src/commands/ccp}/update.md +5 -5
  170. package/{gsd/commands-gsd → src/commands/ccp}/validate-phase.md +3 -3
  171. package/{gsd/commands-gsd → src/commands/ccp}/verify-work.md +5 -5
  172. package/{ecc/commands → src/commands/ccp}/verify.md +5 -0
  173. package/src/commands/ccp/workstreams.md +68 -0
  174. package/{ecc → src}/examples/CLAUDE.md +4 -4
  175. package/{ecc → src}/examples/django-api-CLAUDE.md +5 -5
  176. package/{ecc → src}/examples/go-microservice-CLAUDE.md +6 -6
  177. package/{ecc → src}/examples/rust-api-CLAUDE.md +4 -4
  178. package/{ecc → src}/examples/saas-nextjs-CLAUDE.md +8 -8
  179. package/{gsd/hooks/gsd-context-monitor.js → src/hooks/ccp-context-monitor.js} +3 -3
  180. package/src/hooks/ccp-prompt-guard.js +96 -0
  181. package/{gsd/hooks/gsd-statusline.js → src/hooks/ccp-statusline.js} +7 -7
  182. package/src/hooks/ccp-workflow-guard.js +94 -0
  183. package/src/hooks/config-protection.js +141 -0
  184. package/{kit → src}/hooks/kit-check-update.js +7 -4
  185. package/src/hooks/mcp-health-check.js +620 -0
  186. package/{ecc/scripts → src}/hooks/run-with-flags-shell.sh +1 -1
  187. package/{ecc/scripts → src}/hooks/run-with-flags.js +74 -13
  188. package/src/hooks/session-end-marker.js +29 -0
  189. package/{ecc/scripts → src}/hooks/session-end.js +83 -40
  190. package/{ecc/scripts → src}/hooks/session-start.js +76 -10
  191. package/{ecc/scripts → src}/lib/hook-flags.js +8 -4
  192. package/{ecc/scripts → src}/lib/project-detect.js +2 -1
  193. package/{ecc/scripts → src}/lib/session-manager.d.ts +5 -1
  194. package/{ecc/scripts → src}/lib/session-manager.js +202 -92
  195. package/{ecc/scripts → src}/lib/utils.d.ts +23 -1
  196. package/{ecc/scripts → src}/lib/utils.js +91 -3
  197. package/{gsd/get-shit-done/bin/gsd-tools.cjs → src/pilot/bin/ccp-tools.cjs} +257 -86
  198. package/{gsd/get-shit-done → src/pilot}/bin/lib/commands.cjs +1 -1
  199. package/src/pilot/bin/lib/config.cjs +444 -0
  200. package/src/pilot/bin/lib/core.cjs +1190 -0
  201. package/src/pilot/bin/lib/init.cjs +1281 -0
  202. package/src/pilot/bin/lib/model-profiles.cjs +67 -0
  203. package/{gsd/get-shit-done → src/pilot}/bin/lib/phase.cjs +2 -2
  204. package/src/pilot/bin/lib/security.cjs +382 -0
  205. package/{gsd/get-shit-done → src/pilot}/bin/lib/state.cjs +1 -1
  206. package/src/pilot/bin/lib/uat.cjs +282 -0
  207. package/{gsd/get-shit-done → src/pilot}/bin/lib/verify.cjs +10 -10
  208. package/{gsd/get-shit-done → src/pilot}/references/continuation-format.md +16 -16
  209. package/{gsd/get-shit-done → src/pilot}/references/decimal-phase-calculation.md +5 -5
  210. package/{gsd/get-shit-done → src/pilot}/references/git-integration.md +5 -5
  211. package/{gsd/get-shit-done → src/pilot}/references/git-planning-commit.md +4 -4
  212. package/src/pilot/references/mcp-servers.json +153 -0
  213. package/{gsd/get-shit-done → src/pilot}/references/model-profile-resolution.md +2 -2
  214. package/{gsd/get-shit-done → src/pilot}/references/model-profiles.md +20 -20
  215. package/{gsd/get-shit-done → src/pilot}/references/phase-argument-parsing.md +4 -4
  216. package/{gsd/get-shit-done → src/pilot}/references/planning-config.md +15 -15
  217. package/{gsd/get-shit-done → src/pilot}/references/ui-brand.md +5 -5
  218. package/{gsd/get-shit-done → src/pilot}/references/verification-patterns.md +1 -1
  219. package/{gsd/get-shit-done → src/pilot}/templates/DEBUG.md +1 -1
  220. package/{gsd/get-shit-done → src/pilot}/templates/UAT.md +3 -3
  221. package/src/pilot/templates/UI-SPEC.md +100 -0
  222. package/{gsd/get-shit-done → src/pilot}/templates/VALIDATION.md +1 -1
  223. package/src/pilot/templates/claude-md.md +122 -0
  224. package/{gsd/get-shit-done → src/pilot}/templates/codebase/architecture.md +2 -2
  225. package/{gsd/get-shit-done → src/pilot}/templates/codebase/structure.md +13 -13
  226. package/{gsd/get-shit-done → src/pilot}/templates/context.md +4 -4
  227. package/src/pilot/templates/copilot-instructions.md +7 -0
  228. package/{gsd/get-shit-done → src/pilot}/templates/debug-subagent-prompt.md +4 -4
  229. package/src/pilot/templates/dev-preferences.md +21 -0
  230. package/{gsd/get-shit-done → src/pilot}/templates/discovery.md +2 -2
  231. package/src/pilot/templates/discussion-log.md +63 -0
  232. package/{gsd/get-shit-done → src/pilot}/templates/phase-prompt.md +12 -12
  233. package/{gsd/get-shit-done → src/pilot}/templates/planner-subagent-prompt.md +7 -7
  234. package/{gsd/get-shit-done → src/pilot}/templates/project.md +1 -1
  235. package/{gsd/get-shit-done → src/pilot}/templates/research.md +2 -2
  236. package/{gsd/get-shit-done → src/pilot}/templates/state.md +2 -2
  237. package/{gsd/get-shit-done → src/pilot}/templates/summary-complex.md +1 -1
  238. package/{gsd/get-shit-done → src/pilot}/workflows/add-phase.md +11 -11
  239. package/{gsd/get-shit-done → src/pilot}/workflows/add-tests.md +15 -15
  240. package/{gsd/get-shit-done → src/pilot}/workflows/add-todo.md +7 -7
  241. package/{gsd/get-shit-done → src/pilot}/workflows/audit-milestone.md +24 -16
  242. package/src/pilot/workflows/audit-uat.md +109 -0
  243. package/src/pilot/workflows/autonomous.md +891 -0
  244. package/{gsd/get-shit-done → src/pilot}/workflows/check-todos.md +10 -10
  245. package/{gsd/get-shit-done → src/pilot}/workflows/cleanup.md +3 -3
  246. package/{gsd/get-shit-done → src/pilot}/workflows/complete-milestone.md +19 -16
  247. package/{gsd/get-shit-done → src/pilot}/workflows/diagnose-issues.md +9 -4
  248. package/{gsd/get-shit-done → src/pilot}/workflows/discovery-phase.md +8 -8
  249. package/src/pilot/workflows/discuss-phase-assumptions.md +653 -0
  250. package/{gsd/get-shit-done → src/pilot}/workflows/discuss-phase.md +407 -49
  251. package/src/pilot/workflows/do.md +104 -0
  252. package/src/pilot/workflows/docs-update.md +1165 -0
  253. package/src/pilot/workflows/execute-phase.md +821 -0
  254. package/{gsd/get-shit-done → src/pilot}/workflows/execute-plan.md +79 -28
  255. package/src/pilot/workflows/fast.md +105 -0
  256. package/src/pilot/workflows/forensics.md +265 -0
  257. package/{gsd/get-shit-done → src/pilot}/workflows/health.md +34 -11
  258. package/src/pilot/workflows/help.md +767 -0
  259. package/{gsd/get-shit-done → src/pilot}/workflows/insert-phase.md +10 -10
  260. package/{gsd/get-shit-done → src/pilot}/workflows/list-phase-assumptions.md +4 -4
  261. package/src/pilot/workflows/manager.md +362 -0
  262. package/{gsd/get-shit-done → src/pilot}/workflows/map-codebase.md +27 -17
  263. package/src/pilot/workflows/milestone-summary.md +223 -0
  264. package/{gsd/get-shit-done → src/pilot}/workflows/new-milestone.md +135 -33
  265. package/{gsd/get-shit-done → src/pilot}/workflows/new-project.md +152 -79
  266. package/src/pilot/workflows/next.md +97 -0
  267. package/src/pilot/workflows/node-repair.md +92 -0
  268. package/src/pilot/workflows/note.md +156 -0
  269. package/src/pilot/workflows/pause-work.md +177 -0
  270. package/{gsd/get-shit-done → src/pilot}/workflows/plan-milestone-gaps.md +10 -11
  271. package/src/pilot/workflows/plan-phase.md +859 -0
  272. package/src/pilot/workflows/plant-seed.md +169 -0
  273. package/src/pilot/workflows/pr-branch.md +129 -0
  274. package/src/pilot/workflows/profile-user.md +452 -0
  275. package/{gsd/get-shit-done → src/pilot}/workflows/progress.md +95 -34
  276. package/{gsd/get-shit-done → src/pilot}/workflows/quick.md +33 -21
  277. package/{gsd/get-shit-done → src/pilot}/workflows/remove-phase.md +14 -14
  278. package/{gsd/get-shit-done → src/pilot}/workflows/research-phase.md +18 -10
  279. package/{gsd/get-shit-done → src/pilot}/workflows/resume-project.md +37 -18
  280. package/src/pilot/workflows/review.md +244 -0
  281. package/src/pilot/workflows/secure-phase.md +164 -0
  282. package/src/pilot/workflows/session-report.md +146 -0
  283. package/{gsd/get-shit-done → src/pilot}/workflows/set-profile.md +7 -7
  284. package/{gsd/get-shit-done → src/pilot}/workflows/settings.md +75 -22
  285. package/src/pilot/workflows/ship.md +228 -0
  286. package/src/pilot/workflows/stats.md +60 -0
  287. package/{gsd/get-shit-done → src/pilot}/workflows/transition.md +57 -17
  288. package/src/pilot/workflows/ui-phase.md +302 -0
  289. package/src/pilot/workflows/ui-review.md +165 -0
  290. package/{gsd/get-shit-done → src/pilot}/workflows/update.md +88 -58
  291. package/{gsd/get-shit-done → src/pilot}/workflows/validate-phase.md +24 -17
  292. package/{gsd/get-shit-done → src/pilot}/workflows/verify-phase.md +26 -15
  293. package/{gsd/get-shit-done → src/pilot}/workflows/verify-work.md +89 -37
  294. package/{ecc → src}/rules/common/agents.md +1 -0
  295. package/src/rules/common/code-review.md +124 -0
  296. package/{ecc → src}/rules/common/coding-style.md +21 -0
  297. package/src/rules/zh/README.md +108 -0
  298. package/src/rules/zh/agents.md +50 -0
  299. package/src/rules/zh/code-review.md +124 -0
  300. package/src/rules/zh/coding-style.md +48 -0
  301. package/src/rules/zh/development-workflow.md +44 -0
  302. package/src/rules/zh/git-workflow.md +24 -0
  303. package/src/rules/zh/hooks.md +30 -0
  304. package/src/rules/zh/patterns.md +31 -0
  305. package/src/rules/zh/performance.md +55 -0
  306. package/src/rules/zh/security.md +29 -0
  307. package/src/rules/zh/testing.md +29 -0
  308. package/src/skills/agentic-engineering/SKILL.md +63 -0
  309. package/src/skills/ai-first-engineering/SKILL.md +51 -0
  310. package/src/skills/ai-regression-testing/SKILL.md +385 -0
  311. package/src/skills/api-design/SKILL.md +523 -0
  312. package/src/skills/architecture-decision-records/SKILL.md +179 -0
  313. package/src/skills/autonomous-agent-harness/SKILL.md +267 -0
  314. package/src/skills/autonomous-loops/SKILL.md +610 -0
  315. package/src/skills/backend-patterns/SKILL.md +598 -0
  316. package/src/skills/benchmark/SKILL.md +87 -0
  317. package/src/skills/blueprint/SKILL.md +90 -0
  318. package/src/skills/browser-qa/SKILL.md +81 -0
  319. package/src/skills/bun-runtime/SKILL.md +84 -0
  320. package/src/skills/claude-api/SKILL.md +337 -0
  321. package/src/skills/codebase-onboarding/SKILL.md +233 -0
  322. package/src/skills/coding-standards/SKILL.md +530 -0
  323. package/src/skills/content-hash-cache-pattern/SKILL.md +161 -0
  324. package/src/skills/context-budget/SKILL.md +135 -0
  325. package/{ecc → src}/skills/continuous-learning-v2/SKILL.md +6 -6
  326. package/{ecc → src}/skills/continuous-learning-v2/agents/observer-loop.sh +1 -1
  327. package/{ecc → src}/skills/continuous-learning-v2/agents/observer.md +1 -1
  328. package/src/skills/cost-aware-llm-pipeline/SKILL.md +183 -0
  329. package/src/skills/cpp-coding-standards/SKILL.md +723 -0
  330. package/src/skills/cpp-testing/SKILL.md +324 -0
  331. package/src/skills/database-migrations/SKILL.md +429 -0
  332. package/src/skills/deep-research/SKILL.md +155 -0
  333. package/src/skills/deployment-patterns/SKILL.md +427 -0
  334. package/src/skills/design-system/SKILL.md +82 -0
  335. package/src/skills/django-patterns/SKILL.md +734 -0
  336. package/src/skills/django-security/SKILL.md +593 -0
  337. package/src/skills/django-tdd/SKILL.md +729 -0
  338. package/src/skills/django-verification/SKILL.md +469 -0
  339. package/src/skills/docker-patterns/SKILL.md +364 -0
  340. package/src/skills/documentation-lookup/SKILL.md +90 -0
  341. package/src/skills/e2e-testing/SKILL.md +326 -0
  342. package/src/skills/eval-harness/SKILL.md +270 -0
  343. package/src/skills/exa-search/SKILL.md +103 -0
  344. package/src/skills/flutter-dart-code-review/SKILL.md +435 -0
  345. package/src/skills/frontend-patterns/SKILL.md +642 -0
  346. package/src/skills/gan-style-harness/SKILL.md +278 -0
  347. package/src/skills/git-workflow/SKILL.md +715 -0
  348. package/src/skills/golang-patterns/SKILL.md +674 -0
  349. package/src/skills/golang-testing/SKILL.md +720 -0
  350. package/src/skills/hexagonal-architecture/SKILL.md +276 -0
  351. package/src/skills/iterative-retrieval/SKILL.md +211 -0
  352. package/src/skills/java-coding-standards/SKILL.md +147 -0
  353. package/src/skills/jpa-patterns/SKILL.md +151 -0
  354. package/src/skills/kotlin-coroutines-flows/SKILL.md +284 -0
  355. package/src/skills/kotlin-exposed-patterns/SKILL.md +719 -0
  356. package/src/skills/kotlin-ktor-patterns/SKILL.md +689 -0
  357. package/src/skills/kotlin-patterns/SKILL.md +711 -0
  358. package/src/skills/kotlin-testing/SKILL.md +824 -0
  359. package/src/skills/laravel-patterns/SKILL.md +415 -0
  360. package/src/skills/laravel-plugin-discovery/SKILL.md +229 -0
  361. package/src/skills/laravel-security/SKILL.md +285 -0
  362. package/src/skills/laravel-tdd/SKILL.md +283 -0
  363. package/src/skills/laravel-verification/SKILL.md +179 -0
  364. package/src/skills/mcp-server-patterns/SKILL.md +67 -0
  365. package/src/skills/nextjs-turbopack/SKILL.md +44 -0
  366. package/src/skills/nuxt4-patterns/SKILL.md +100 -0
  367. package/src/skills/opensource-pipeline/SKILL.md +255 -0
  368. package/src/skills/perl-patterns/SKILL.md +504 -0
  369. package/src/skills/perl-security/SKILL.md +503 -0
  370. package/src/skills/perl-testing/SKILL.md +475 -0
  371. package/src/skills/postgres-patterns/SKILL.md +147 -0
  372. package/src/skills/project-flow-ops/SKILL.md +111 -0
  373. package/src/skills/project-guidelines-example/SKILL.md +349 -0
  374. package/src/skills/prompt-optimizer/SKILL.md +397 -0
  375. package/src/skills/python-patterns/SKILL.md +750 -0
  376. package/src/skills/python-testing/SKILL.md +816 -0
  377. package/src/skills/pytorch-patterns/SKILL.md +396 -0
  378. package/src/skills/regex-vs-llm-structured-text/SKILL.md +220 -0
  379. package/src/skills/repo-scan/SKILL.md +78 -0
  380. package/src/skills/rules-distill/SKILL.md +264 -0
  381. package/src/skills/rules-distill/scripts/scan-rules.sh +58 -0
  382. package/src/skills/rules-distill/scripts/scan-skills.sh +129 -0
  383. package/src/skills/rust-patterns/SKILL.md +499 -0
  384. package/src/skills/rust-testing/SKILL.md +500 -0
  385. package/src/skills/safety-guard/SKILL.md +69 -0
  386. package/src/skills/search-first/SKILL.md +161 -0
  387. package/src/skills/security-review/SKILL.md +495 -0
  388. package/src/skills/security-review/cloud-infrastructure-security.md +361 -0
  389. package/src/skills/security-scan/SKILL.md +165 -0
  390. package/src/skills/springboot-patterns/SKILL.md +314 -0
  391. package/src/skills/springboot-security/SKILL.md +272 -0
  392. package/src/skills/springboot-tdd/SKILL.md +158 -0
  393. package/src/skills/springboot-verification/SKILL.md +231 -0
  394. package/src/skills/swift-concurrency-6-2/SKILL.md +216 -0
  395. package/src/skills/tdd-workflow/SKILL.md +410 -0
  396. package/src/skills/token-budget-advisor/SKILL.md +133 -0
  397. package/{ecc/skills/verification-loop-SKILL.md → src/skills/verification-loop/SKILL.md} +1 -1
  398. package/src/skills/workspace-surface-audit/SKILL.md +125 -0
  399. package/ecc/scripts/hooks/session-end-marker.js +0 -15
  400. package/gsd/LICENSE +0 -21
  401. package/gsd/commands-gsd/discuss-phase.md +0 -90
  402. package/gsd/commands-gsd/execute-phase.md +0 -41
  403. package/gsd/commands-gsd/join-discord.md +0 -18
  404. package/gsd/commands-gsd/reapply-patches.md +0 -123
  405. package/gsd/commands-gsd/set-profile.md +0 -34
  406. package/gsd/get-shit-done/bin/lib/config.cjs +0 -169
  407. package/gsd/get-shit-done/bin/lib/core.cjs +0 -492
  408. package/gsd/get-shit-done/bin/lib/init.cjs +0 -710
  409. package/gsd/get-shit-done/workflows/execute-phase.md +0 -459
  410. package/gsd/get-shit-done/workflows/help.md +0 -489
  411. package/gsd/get-shit-done/workflows/pause-work.md +0 -122
  412. package/gsd/get-shit-done/workflows/plan-phase.md +0 -560
  413. package/gsd/hooks/gsd-check-update.js +0 -81
  414. package/kit/CLAUDE.md +0 -43
  415. package/kit/commands/kit/update.md +0 -46
  416. package/kit/mcp.json +0 -10
  417. package/kit/rules/code-style.md +0 -24
  418. /package/{ecc → src}/agents/architect.md +0 -0
  419. /package/{ecc → src}/agents/code-reviewer.md +0 -0
  420. /package/{ecc → src}/agents/e2e-runner.md +0 -0
  421. /package/{ecc → src}/agents/security-reviewer.md +0 -0
  422. /package/{ecc → src}/agents/tdd-guide.md +0 -0
  423. /package/{ecc/rules → src/available-rules}/golang/coding-style.md +0 -0
  424. /package/{ecc/rules → src/available-rules}/golang/hooks.md +0 -0
  425. /package/{ecc/rules → src/available-rules}/golang/patterns.md +0 -0
  426. /package/{ecc/rules → src/available-rules}/golang/security.md +0 -0
  427. /package/{ecc/rules → src/available-rules}/golang/testing.md +0 -0
  428. /package/{ecc/rules → src/available-rules}/kotlin/coding-style.md +0 -0
  429. /package/{ecc/rules → src/available-rules}/kotlin/patterns.md +0 -0
  430. /package/{ecc/rules → src/available-rules}/kotlin/security.md +0 -0
  431. /package/{ecc/rules → src/available-rules}/kotlin/testing.md +0 -0
  432. /package/{ecc/rules → src/available-rules}/perl/coding-style.md +0 -0
  433. /package/{ecc/rules → src/available-rules}/perl/hooks.md +0 -0
  434. /package/{ecc/rules → src/available-rules}/perl/patterns.md +0 -0
  435. /package/{ecc/rules → src/available-rules}/perl/security.md +0 -0
  436. /package/{ecc/rules → src/available-rules}/perl/testing.md +0 -0
  437. /package/{ecc/rules → src/available-rules}/php/coding-style.md +0 -0
  438. /package/{ecc/rules → src/available-rules}/php/hooks.md +0 -0
  439. /package/{ecc/rules → src/available-rules}/php/patterns.md +0 -0
  440. /package/{ecc/rules → src/available-rules}/php/security.md +0 -0
  441. /package/{ecc/rules → src/available-rules}/php/testing.md +0 -0
  442. /package/{ecc/rules → src/available-rules}/python/coding-style.md +0 -0
  443. /package/{ecc/rules → src/available-rules}/python/hooks.md +0 -0
  444. /package/{ecc/rules → src/available-rules}/python/patterns.md +0 -0
  445. /package/{ecc/rules → src/available-rules}/python/security.md +0 -0
  446. /package/{ecc/rules → src/available-rules}/python/testing.md +0 -0
  447. /package/{ecc/rules → src/available-rules}/swift/coding-style.md +0 -0
  448. /package/{ecc/rules → src/available-rules}/swift/hooks.md +0 -0
  449. /package/{ecc/rules → src/available-rules}/swift/patterns.md +0 -0
  450. /package/{ecc/rules → src/available-rules}/swift/security.md +0 -0
  451. /package/{ecc/rules → src/available-rules}/swift/testing.md +0 -0
  452. /package/{ecc/rules → src/available-rules}/typescript/coding-style.md +0 -0
  453. /package/{ecc/rules → src/available-rules}/typescript/hooks.md +0 -0
  454. /package/{ecc/rules → src/available-rules}/typescript/patterns.md +0 -0
  455. /package/{ecc/rules → src/available-rules}/typescript/security.md +0 -0
  456. /package/{ecc/rules → src/available-rules}/typescript/testing.md +0 -0
  457. /package/{ecc → src}/contexts/dev.md +0 -0
  458. /package/{ecc → src}/contexts/research.md +0 -0
  459. /package/{ecc → src}/contexts/review.md +0 -0
  460. /package/{ecc → src}/examples/user-CLAUDE.md +0 -0
  461. /package/{ecc/scripts → src}/hooks/check-hook-enabled.js +0 -0
  462. /package/{ecc/scripts → src}/hooks/evaluate-session.js +0 -0
  463. /package/{ecc/scripts → src}/hooks/pre-compact.js +0 -0
  464. /package/{ecc/scripts → src}/hooks/suggest-compact.js +0 -0
  465. /package/{ecc/scripts → src}/lib/package-manager.d.ts +0 -0
  466. /package/{ecc/scripts → src}/lib/package-manager.js +0 -0
  467. /package/{ecc/scripts → src}/lib/resolve-formatter.js +0 -0
  468. /package/{ecc/scripts → src}/lib/session-aliases.d.ts +0 -0
  469. /package/{ecc/scripts → src}/lib/session-aliases.js +0 -0
  470. /package/{ecc/scripts → src}/lib/shell-split.js +0 -0
  471. /package/{gsd/get-shit-done → src/pilot}/bin/lib/frontmatter.cjs +0 -0
  472. /package/{gsd/get-shit-done → src/pilot}/bin/lib/milestone.cjs +0 -0
  473. /package/{gsd/get-shit-done → src/pilot}/bin/lib/roadmap.cjs +0 -0
  474. /package/{gsd/get-shit-done → src/pilot}/bin/lib/template.cjs +0 -0
  475. /package/{gsd/get-shit-done → src/pilot}/references/checkpoints.md +0 -0
  476. /package/{gsd/get-shit-done → src/pilot}/references/questioning.md +0 -0
  477. /package/{gsd/get-shit-done → src/pilot}/references/tdd.md +0 -0
  478. /package/{gsd/get-shit-done → src/pilot}/templates/codebase/concerns.md +0 -0
  479. /package/{gsd/get-shit-done → src/pilot}/templates/codebase/conventions.md +0 -0
  480. /package/{gsd/get-shit-done → src/pilot}/templates/codebase/integrations.md +0 -0
  481. /package/{gsd/get-shit-done → src/pilot}/templates/codebase/stack.md +0 -0
  482. /package/{gsd/get-shit-done → src/pilot}/templates/codebase/testing.md +0 -0
  483. /package/{gsd/get-shit-done → src/pilot}/templates/config.json +0 -0
  484. /package/{gsd/get-shit-done → src/pilot}/templates/continue-here.md +0 -0
  485. /package/{gsd/get-shit-done → src/pilot}/templates/milestone-archive.md +0 -0
  486. /package/{gsd/get-shit-done → src/pilot}/templates/milestone.md +0 -0
  487. /package/{gsd/get-shit-done → src/pilot}/templates/requirements.md +0 -0
  488. /package/{gsd/get-shit-done → src/pilot}/templates/research-project/ARCHITECTURE.md +0 -0
  489. /package/{gsd/get-shit-done → src/pilot}/templates/research-project/FEATURES.md +0 -0
  490. /package/{gsd/get-shit-done → src/pilot}/templates/research-project/PITFALLS.md +0 -0
  491. /package/{gsd/get-shit-done → src/pilot}/templates/research-project/STACK.md +0 -0
  492. /package/{gsd/get-shit-done → src/pilot}/templates/research-project/SUMMARY.md +0 -0
  493. /package/{gsd/get-shit-done → src/pilot}/templates/retrospective.md +0 -0
  494. /package/{gsd/get-shit-done → src/pilot}/templates/roadmap.md +0 -0
  495. /package/{gsd/get-shit-done → src/pilot}/templates/summary-minimal.md +0 -0
  496. /package/{gsd/get-shit-done → src/pilot}/templates/summary-standard.md +0 -0
  497. /package/{gsd/get-shit-done → src/pilot}/templates/summary.md +0 -0
  498. /package/{gsd/get-shit-done → src/pilot}/templates/user-setup.md +0 -0
  499. /package/{gsd/get-shit-done → src/pilot}/templates/verification-report.md +0 -0
  500. /package/{ecc → src}/rules/common/development-workflow.md +0 -0
  501. /package/{ecc → src}/rules/common/git-workflow.md +0 -0
  502. /package/{ecc → src}/rules/common/hooks.md +0 -0
  503. /package/{ecc → src}/rules/common/patterns.md +0 -0
  504. /package/{ecc → src}/rules/common/performance.md +0 -0
  505. /package/{ecc → src}/rules/common/security.md +0 -0
  506. /package/{ecc → src}/rules/common/testing.md +0 -0
  507. /package/{ecc → src}/skills/continuous-learning-v2/agents/start-observer.sh +0 -0
  508. /package/{ecc → src}/skills/continuous-learning-v2/config.json +0 -0
  509. /package/{ecc → src}/skills/continuous-learning-v2/hooks/observe.sh +0 -0
  510. /package/{ecc → src}/skills/continuous-learning-v2/scripts/detect-project.sh +0 -0
  511. /package/{ecc → src}/skills/continuous-learning-v2/scripts/instinct-cli.py +0 -0
  512. /package/{ecc → src}/skills/continuous-learning-v2/scripts/test_parse_instinct.py +0 -0
  513. /package/{ecc → src}/skills/strategic-compact/SKILL.md +0 -0
  514. /package/{ecc → src}/skills/strategic-compact/suggest-compact.sh +0 -0
@@ -0,0 +1,174 @@
1
+ ---
2
+ name: ccp:cpp-build
3
+ description: Fix C++ build errors, CMake issues, and linker problems incrementally. Invokes the cpp-build-resolver agent for minimal, surgical fixes.
4
+ ---
5
+
6
+ # C++ Build and Fix
7
+
8
+ This command invokes the **cpp-build-resolver** agent to incrementally fix C++ build errors with minimal changes.
9
+
10
+ ## What This Command Does
11
+
12
+ 1. **Run Diagnostics**: Execute `cmake --build`, `clang-tidy`, `cppcheck`
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:cpp-build` when:
21
+ - `cmake --build build` fails with errors
22
+ - Linker errors (undefined references, multiple definitions)
23
+ - Template instantiation failures
24
+ - Include/dependency issues
25
+ - After pulling changes that break the build
26
+
27
+ ## Diagnostic Commands Run
28
+
29
+ ```bash
30
+ # CMake configure
31
+ cmake -B build -S .
32
+
33
+ # Build
34
+ cmake --build build 2>&1 | head -100
35
+
36
+ # Static analysis (if available)
37
+ clang-tidy src/*.cpp -- -std=c++17
38
+ cppcheck --enable=all src/
39
+ ```
40
+
41
+ ## Example Session
42
+
43
+ ```text
44
+ User: /ccp:cpp-build
45
+
46
+ Agent:
47
+ # C++ Build Resolution
48
+
49
+ ## Initial Diagnostics
50
+
51
+ ```bash
52
+ $ cmake --build build
53
+ src/service/user.cpp:25:15: error: use of undeclared identifier 'UserRepository'
54
+ src/handler/api.cpp:42:9: error: no matching function for call to 'process'
55
+ src/handler/api.cpp:58:1: error: non-void function does not return a value
56
+ ```
57
+
58
+ Errors found: 3
59
+
60
+ ## Fix 1: Undeclared Identifier
61
+
62
+ File: src/service/user.cpp:25
63
+ Error: use of undeclared identifier 'UserRepository'
64
+ Cause: Missing include
65
+
66
+ ```cpp
67
+ // Added include
68
+ #include "repository/user_repository.hpp"
69
+ ```
70
+
71
+ ```bash
72
+ $ cmake --build build
73
+ # 2 errors remaining
74
+ ```
75
+
76
+ ## Fix 2: No Matching Function
77
+
78
+ File: src/handler/api.cpp:42
79
+ Error: no matching function for call to 'process'
80
+
81
+ ```cpp
82
+ // Changed
83
+ process(params.get("count"));
84
+ // To
85
+ process(std::stoi(params.get("count")));
86
+ ```
87
+
88
+ ```bash
89
+ $ cmake --build build
90
+ # 1 error remaining
91
+ ```
92
+
93
+ ## Fix 3: Missing Return
94
+
95
+ File: src/handler/api.cpp:58
96
+ Error: non-void function does not return a value
97
+
98
+ ```cpp
99
+ std::optional<User> getUser(const std::string& id) {
100
+ if (id.empty()) {
101
+ return std::nullopt;
102
+ }
103
+ auto user = findUser(id);
104
+ // Added missing return
105
+ return user;
106
+ }
107
+ ```
108
+
109
+ ```bash
110
+ $ cmake --build build
111
+ # Build successful!
112
+ ```
113
+
114
+ ## Final Verification
115
+
116
+ ```bash
117
+ $ ctest --test-dir build --output-on-failure
118
+ Test project build
119
+ 1/5 Test #1: unit_tests ........ Passed 0.02 sec
120
+ 2/5 Test #2: integration_tests Passed 0.15 sec
121
+ All tests passed.
122
+ ```
123
+
124
+ ## Summary
125
+
126
+ | Metric | Count |
127
+ |--------|-------|
128
+ | Build errors fixed | 3 |
129
+ | Linker errors fixed | 0 |
130
+ | Files modified | 2 |
131
+ | Remaining issues | 0 |
132
+
133
+ Build Status: ✅ SUCCESS
134
+ ```
135
+
136
+ ## Common Errors Fixed
137
+
138
+ | Error | Typical Fix |
139
+ |-------|-------------|
140
+ | `undeclared identifier` | Add `#include` or fix typo |
141
+ | `no matching function` | Fix argument types or add overload |
142
+ | `undefined reference` | Link library or add implementation |
143
+ | `multiple definition` | Use `inline` or move to .cpp |
144
+ | `incomplete type` | Replace forward decl with `#include` |
145
+ | `no member named X` | Fix member name or include |
146
+ | `cannot convert X to Y` | Add appropriate cast |
147
+ | `CMake Error` | Fix CMakeLists.txt configuration |
148
+
149
+ ## Fix Strategy
150
+
151
+ 1. **Compilation errors first** - Code must compile
152
+ 2. **Linker errors second** - Resolve undefined references
153
+ 3. **Warnings third** - Fix with `-Wall -Wextra`
154
+ 4. **One fix at a time** - Verify each change
155
+ 5. **Minimal changes** - Don't refactor, just fix
156
+
157
+ ## Stop Conditions
158
+
159
+ The agent will stop and report if:
160
+ - Same error persists after 3 attempts
161
+ - Fix introduces more errors
162
+ - Requires architectural changes
163
+ - Missing external dependencies
164
+
165
+ ## Related Commands
166
+
167
+ - `/ccp:cpp-test` - Run tests after build succeeds
168
+ - `/ccp:cpp-review` - Review code quality
169
+ - `/ccp:verify` - Full verification loop
170
+
171
+ ## Related
172
+
173
+ - Agent: `agents/cpp-build-resolver.md`
174
+ - Skill: `skills/cpp-coding-standards/`
@@ -0,0 +1,133 @@
1
+ ---
2
+ name: ccp:cpp-review
3
+ description: Comprehensive C++ code review for memory safety, modern C++ idioms, concurrency, and security. Invokes the cpp-reviewer agent.
4
+ ---
5
+
6
+ # C++ Code Review
7
+
8
+ This command invokes the **cpp-reviewer** agent for comprehensive C++-specific code review.
9
+
10
+ ## What This Command Does
11
+
12
+ 1. **Identify C++ Changes**: Find modified `.cpp`, `.hpp`, `.cc`, `.h` files via `git diff`
13
+ 2. **Run Static Analysis**: Execute `clang-tidy` and `cppcheck`
14
+ 3. **Memory Safety Scan**: Check for raw new/delete, buffer overflows, use-after-free
15
+ 4. **Concurrency Review**: Analyze thread safety, mutex usage, data races
16
+ 5. **Modern C++ Check**: Verify code follows C++17/20 conventions and best practices
17
+ 6. **Generate Report**: Categorize issues by severity
18
+
19
+ ## When to Use
20
+
21
+ Use `/ccp:cpp-review` when:
22
+ - After writing or modifying C++ code
23
+ - Before committing C++ changes
24
+ - Reviewing pull requests with C++ code
25
+ - Onboarding to a new C++ codebase
26
+ - Checking for memory safety issues
27
+
28
+ ## Review Categories
29
+
30
+ ### CRITICAL (Must Fix)
31
+ - Raw `new`/`delete` without RAII
32
+ - Buffer overflows and use-after-free
33
+ - Data races without synchronization
34
+ - Command injection via `system()`
35
+ - Uninitialized variable reads
36
+ - Null pointer dereferences
37
+
38
+ ### HIGH (Should Fix)
39
+ - Rule of Five violations
40
+ - Missing `std::lock_guard` / `std::scoped_lock`
41
+ - Detached threads without proper lifetime management
42
+ - C-style casts instead of `static_cast`/`dynamic_cast`
43
+ - Missing `const` correctness
44
+
45
+ ### MEDIUM (Consider)
46
+ - Unnecessary copies (pass by value instead of `const&`)
47
+ - Missing `reserve()` on known-size containers
48
+ - `using namespace std;` in headers
49
+ - Missing `[[nodiscard]]` on important return values
50
+ - Overly complex template metaprogramming
51
+
52
+ ## Automated Checks Run
53
+
54
+ ```bash
55
+ # Static analysis
56
+ clang-tidy --checks='*,-llvmlibc-*' src/*.cpp -- -std=c++17
57
+
58
+ # Additional analysis
59
+ cppcheck --enable=all --suppress=missingIncludeSystem src/
60
+
61
+ # Build with warnings
62
+ cmake --build build -- -Wall -Wextra -Wpedantic
63
+ ```
64
+
65
+ ## Example Usage
66
+
67
+ ```text
68
+ User: /ccp:cpp-review
69
+
70
+ Agent:
71
+ # C++ Code Review Report
72
+
73
+ ## Files Reviewed
74
+ - src/handler/user.cpp (modified)
75
+ - src/service/auth.cpp (modified)
76
+
77
+ ## Static Analysis Results
78
+ ✓ clang-tidy: 2 warnings
79
+ ✓ cppcheck: No issues
80
+
81
+ ## Issues Found
82
+
83
+ [CRITICAL] Memory Leak
84
+ File: src/service/auth.cpp:45
85
+ Issue: Raw `new` without matching `delete`
86
+ ```cpp
87
+ auto* session = new Session(userId); // Memory leak!
88
+ cache[userId] = session;
89
+ ```
90
+ Fix: Use `std::unique_ptr`
91
+ ```cpp
92
+ auto session = std::make_unique<Session>(userId);
93
+ cache[userId] = std::move(session);
94
+ ```
95
+
96
+ [HIGH] Missing const Reference
97
+ File: src/handler/user.cpp:28
98
+ Issue: Large object passed by value
99
+ ```cpp
100
+ void processUser(User user) { // Unnecessary copy
101
+ ```
102
+ Fix: Pass by const reference
103
+ ```cpp
104
+ void processUser(const User& user) {
105
+ ```
106
+
107
+ ## Summary
108
+ - CRITICAL: 1
109
+ - HIGH: 1
110
+ - MEDIUM: 0
111
+
112
+ Recommendation: ❌ Block merge until CRITICAL issue is fixed
113
+ ```
114
+
115
+ ## Approval Criteria
116
+
117
+ | Status | Condition |
118
+ |--------|-----------|
119
+ | ✅ Approve | No CRITICAL or HIGH issues |
120
+ | ⚠️ Warning | Only MEDIUM issues (merge with caution) |
121
+ | ❌ Block | CRITICAL or HIGH issues found |
122
+
123
+ ## Integration with Other Commands
124
+
125
+ - Use `/ccp:cpp-test` first to ensure tests pass
126
+ - Use `/ccp:cpp-build` if build errors occur
127
+ - Use `/ccp:cpp-review` before committing
128
+ - Use `/ccp:code-review` for non-C++ specific concerns
129
+
130
+ ## Related
131
+
132
+ - Agent: `agents/cpp-reviewer.md`
133
+ - Skills: `skills/cpp-coding-standards/`, `skills/cpp-testing/`
@@ -0,0 +1,252 @@
1
+ ---
2
+ name: ccp:cpp-test
3
+ description: Enforce TDD workflow for C++. Write GoogleTest tests first, then implement. Verify coverage with gcov/lcov.
4
+ ---
5
+
6
+ # C++ TDD Command
7
+
8
+ This command enforces test-driven development methodology for C++ code using GoogleTest/GoogleMock with CMake/CTest.
9
+
10
+ ## What This Command Does
11
+
12
+ 1. **Define Interfaces**: Scaffold class/function signatures first
13
+ 2. **Write Tests**: Create comprehensive GoogleTest test cases (RED)
14
+ 3. **Run Tests**: Verify tests fail for the right reason
15
+ 4. **Implement Code**: Write minimal code to pass (GREEN)
16
+ 5. **Refactor**: Improve while keeping tests green
17
+ 6. **Check Coverage**: Ensure 80%+ coverage
18
+
19
+ ## When to Use
20
+
21
+ Use `/ccp:cpp-test` when:
22
+ - Implementing new C++ functions or classes
23
+ - Adding test coverage to existing code
24
+ - Fixing bugs (write failing test first)
25
+ - Building critical business logic
26
+ - Learning TDD workflow in C++
27
+
28
+ ## TDD Cycle
29
+
30
+ ```
31
+ RED → Write failing GoogleTest test
32
+ GREEN → Implement minimal code to pass
33
+ REFACTOR → Improve code, tests stay green
34
+ REPEAT → Next test case
35
+ ```
36
+
37
+ ## Example Session
38
+
39
+ ````
40
+ User: /ccp:cpp-test I need a function to validate email addresses
41
+
42
+ Agent:
43
+ # TDD Session: Email Validator
44
+
45
+ ## Step 1: Define Interface
46
+
47
+ ```cpp
48
+ // validator/email.hpp
49
+ #pragma once
50
+ #include <string>
51
+ #include <expected>
52
+
53
+ enum class EmailError {
54
+ Empty,
55
+ InvalidFormat
56
+ };
57
+
58
+ std::expected<void, EmailError> validate_email(const std::string& email);
59
+ ```
60
+
61
+ ## Step 2: Write Tests (RED)
62
+
63
+ ```cpp
64
+ // validator/email_test.cpp
65
+ #include <gtest/gtest.h>
66
+ #include "email.hpp"
67
+
68
+ TEST(ValidateEmail, AcceptsSimpleEmail) {
69
+ auto result = validate_email("user@example.com");
70
+ EXPECT_TRUE(result.has_value());
71
+ }
72
+
73
+ TEST(ValidateEmail, AcceptsSubdomain) {
74
+ EXPECT_TRUE(validate_email("user@mail.example.com").has_value());
75
+ }
76
+
77
+ TEST(ValidateEmail, AcceptsPlus) {
78
+ EXPECT_TRUE(validate_email("user+tag@example.com").has_value());
79
+ }
80
+
81
+ TEST(ValidateEmail, RejectsEmpty) {
82
+ auto result = validate_email("");
83
+ ASSERT_FALSE(result.has_value());
84
+ EXPECT_EQ(result.error(), EmailError::Empty);
85
+ }
86
+
87
+ TEST(ValidateEmail, RejectsNoAtSign) {
88
+ EXPECT_FALSE(validate_email("userexample.com").has_value());
89
+ }
90
+
91
+ TEST(ValidateEmail, RejectsNoDomain) {
92
+ EXPECT_FALSE(validate_email("user@").has_value());
93
+ }
94
+
95
+ TEST(ValidateEmail, RejectsNoLocalPart) {
96
+ EXPECT_FALSE(validate_email("@example.com").has_value());
97
+ }
98
+ ```
99
+
100
+ ## Step 3: Run Tests - Verify FAIL
101
+
102
+ ```bash
103
+ $ cmake --build build && ctest --test-dir build --output-on-failure
104
+
105
+ 1/1 Test #1: email_validator_test .....***Failed
106
+ --- undefined reference to `validate_email`
107
+
108
+ FAIL
109
+ ```
110
+
111
+ ✓ Tests fail as expected (unimplemented).
112
+
113
+ ## Step 4: Implement Minimal Code (GREEN)
114
+
115
+ ```cpp
116
+ // validator/email.cpp
117
+ #include "email.hpp"
118
+ #include <regex>
119
+
120
+ std::expected<void, EmailError> validate_email(const std::string& email) {
121
+ if (email.empty()) {
122
+ return std::unexpected(EmailError::Empty);
123
+ }
124
+ static const std::regex pattern(R"([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,})");
125
+ if (!std::regex_match(email, pattern)) {
126
+ return std::unexpected(EmailError::InvalidFormat);
127
+ }
128
+ return {};
129
+ }
130
+ ```
131
+
132
+ ## Step 5: Run Tests - Verify PASS
133
+
134
+ ```bash
135
+ $ cmake --build build && ctest --test-dir build --output-on-failure
136
+
137
+ 1/1 Test #1: email_validator_test ..... Passed 0.01 sec
138
+
139
+ 100% tests passed.
140
+ ```
141
+
142
+ ✓ All tests passing!
143
+
144
+ ## Step 6: Check Coverage
145
+
146
+ ```bash
147
+ $ cmake -DCMAKE_CXX_FLAGS="--coverage" -B build && cmake --build build
148
+ $ ctest --test-dir build
149
+ $ lcov --capture --directory build --output-file coverage.info
150
+ $ lcov --list coverage.info
151
+
152
+ validator/email.cpp | 100%
153
+ ```
154
+
155
+ ✓ Coverage: 100%
156
+
157
+ ## TDD Complete!
158
+ ````
159
+
160
+ ## Test Patterns
161
+
162
+ ### Basic Tests
163
+ ```cpp
164
+ TEST(SuiteName, TestName) {
165
+ EXPECT_EQ(add(2, 3), 5);
166
+ EXPECT_NE(result, nullptr);
167
+ EXPECT_TRUE(is_valid);
168
+ EXPECT_THROW(func(), std::invalid_argument);
169
+ }
170
+ ```
171
+
172
+ ### Fixtures
173
+ ```cpp
174
+ class DatabaseTest : public ::testing::Test {
175
+ protected:
176
+ void SetUp() override { db_ = create_test_db(); }
177
+ void TearDown() override { db_.reset(); }
178
+ std::unique_ptr<Database> db_;
179
+ };
180
+
181
+ TEST_F(DatabaseTest, InsertsRecord) {
182
+ db_->insert("key", "value");
183
+ EXPECT_EQ(db_->get("key"), "value");
184
+ }
185
+ ```
186
+
187
+ ### Parameterized Tests
188
+ ```cpp
189
+ class PrimeTest : public ::testing::TestWithParam<std::pair<int, bool>> {};
190
+
191
+ TEST_P(PrimeTest, ChecksPrimality) {
192
+ auto [input, expected] = GetParam();
193
+ EXPECT_EQ(is_prime(input), expected);
194
+ }
195
+
196
+ INSTANTIATE_TEST_SUITE_P(Primes, PrimeTest, ::testing::Values(
197
+ std::make_pair(2, true),
198
+ std::make_pair(4, false),
199
+ std::make_pair(7, true)
200
+ ));
201
+ ```
202
+
203
+ ## Coverage Commands
204
+
205
+ ```bash
206
+ # Build with coverage
207
+ cmake -DCMAKE_CXX_FLAGS="--coverage" -DCMAKE_EXE_LINKER_FLAGS="--coverage" -B build
208
+
209
+ # Run tests
210
+ cmake --build build && ctest --test-dir build
211
+
212
+ # Generate coverage report
213
+ lcov --capture --directory build --output-file coverage.info
214
+ lcov --remove coverage.info '/usr/*' --output-file coverage.info
215
+ genhtml coverage.info --output-directory coverage_html
216
+ ```
217
+
218
+ ## Coverage Targets
219
+
220
+ | Code Type | Target |
221
+ |-----------|--------|
222
+ | Critical business logic | 100% |
223
+ | Public APIs | 90%+ |
224
+ | General code | 80%+ |
225
+ | Generated code | Exclude |
226
+
227
+ ## TDD Best Practices
228
+
229
+ **DO:**
230
+ - Write test FIRST, before any implementation
231
+ - Run tests after each change
232
+ - Use `EXPECT_*` (continues) over `ASSERT_*` (stops) when appropriate
233
+ - Test behavior, not implementation details
234
+ - Include edge cases (empty, null, max values, boundary conditions)
235
+
236
+ **DON'T:**
237
+ - Write implementation before tests
238
+ - Skip the RED phase
239
+ - Test private methods directly (test through public API)
240
+ - Use `sleep` in tests
241
+ - Ignore flaky tests
242
+
243
+ ## Related Commands
244
+
245
+ - `/ccp:cpp-build` - Fix build errors
246
+ - `/ccp:cpp-review` - Review code after implementation
247
+ - `/ccp:verify` - Run full verification loop
248
+
249
+ ## Related
250
+
251
+ - Skill: `skills/cpp-testing/`
252
+ - Skill: `skills/tdd-workflow/`
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: gsd:debug
2
+ name: ccp:debug
3
3
  description: Systematic debugging with persistent state across context resets
4
4
  argument-hint: [issue description]
5
5
  allowed-tools:
@@ -12,11 +12,16 @@ allowed-tools:
12
12
  <objective>
13
13
  Debug issues using scientific method with subagent isolation.
14
14
 
15
- **Orchestrator role:** Gather symptoms, spawn gsd-debugger agent, handle checkpoints, spawn continuations.
15
+ **Orchestrator role:** Gather symptoms, spawn ccp-debugger agent, handle checkpoints, spawn continuations.
16
16
 
17
17
  **Why subagent:** Investigation burns context fast (reading files, forming hypotheses, testing). Fresh 200k context per investigation. Main context stays lean for user interaction.
18
18
  </objective>
19
19
 
20
+ <available_agent_types>
21
+ Valid CCP subagent types (use exact names — do not fall back to 'general-purpose'):
22
+ - ccp-debugger — Diagnoses and fixes issues
23
+ </available_agent_types>
24
+
20
25
  <context>
21
26
  User's issue: $ARGUMENTS
22
27
 
@@ -31,13 +36,13 @@ ls .planning/debug/*.md 2>/dev/null | grep -v resolved | head -5
31
36
  ## 0. Initialize Context
32
37
 
33
38
  ```bash
34
- INIT=$(node "$HOME/.claude/get-shit-done/bin/gsd-tools.cjs" state load)
39
+ INIT=$(node "$HOME/.claude/pilot/bin/ccp-tools.cjs" state load)
35
40
  if [[ "$INIT" == @file:* ]]; then INIT=$(cat "${INIT#@file:}"); fi
36
41
  ```
37
42
 
38
43
  Extract `commit_docs` from init JSON. Resolve debugger model:
39
44
  ```bash
40
- debugger_model=$(node "$HOME/.claude/get-shit-done/bin/gsd-tools.cjs" resolve-model gsd-debugger --raw)
45
+ debugger_model=$(node "$HOME/.claude/pilot/bin/ccp-tools.cjs" resolve-model ccp-debugger --raw)
41
46
  ```
42
47
 
43
48
  ## 1. Check Active Sessions
@@ -61,7 +66,7 @@ Use AskUserQuestion for each:
61
66
 
62
67
  After all gathered, confirm ready to investigate.
63
68
 
64
- ## 3. Spawn gsd-debugger Agent
69
+ ## 3. Spawn ccp-debugger Agent
65
70
 
66
71
  Fill prompt and spawn:
67
72
 
@@ -93,7 +98,7 @@ Create: .planning/debug/{slug}.md
93
98
  ```
94
99
  Task(
95
100
  prompt=filled_prompt,
96
- subagent_type="gsd-debugger",
101
+ subagent_type="ccp-debugger",
97
102
  model="{debugger_model}",
98
103
  description="Debug {slug}"
99
104
  )
@@ -105,7 +110,7 @@ Task(
105
110
  - Display root cause and evidence summary
106
111
  - Offer options:
107
112
  - "Fix now" - spawn fix subagent
108
- - "Plan fix" - suggest /gsd:plan-phase --gaps
113
+ - "Plan fix" - suggest /ccp:plan-phase --gaps
109
114
  - "Manual fix" - done
110
115
 
111
116
  **If `## CHECKPOINT REACHED`:**
@@ -151,7 +156,7 @@ goal: find_and_fix
151
156
  ```
152
157
  Task(
153
158
  prompt=continuation_prompt,
154
- subagent_type="gsd-debugger",
159
+ subagent_type="ccp-debugger",
155
160
  model="{debugger_model}",
156
161
  description="Continue debug {slug}"
157
162
  )
@@ -162,7 +167,7 @@ Task(
162
167
  <success_criteria>
163
168
  - [ ] Active sessions checked
164
169
  - [ ] Symptoms gathered (if new)
165
- - [ ] gsd-debugger spawned with context
170
+ - [ ] ccp-debugger spawned with context
166
171
  - [ ] Checkpoints handled correctly
167
172
  - [ ] Root cause confirmed before fixing
168
173
  </success_criteria>
@@ -0,0 +1,64 @@
1
+ ---
2
+ name: ccp:discuss-phase
3
+ description: Gather phase context through adaptive questioning before planning. Use --auto to skip interactive questions (Claude picks recommended defaults).
4
+ argument-hint: "<phase> [--auto] [--batch] [--analyze] [--text]"
5
+ allowed-tools:
6
+ - Read
7
+ - Write
8
+ - Bash
9
+ - Glob
10
+ - Grep
11
+ - AskUserQuestion
12
+ - Task
13
+ - mcp__context7__resolve-library-id
14
+ - mcp__context7__query-docs
15
+ ---
16
+
17
+ <objective>
18
+ Extract implementation decisions that downstream agents need — researcher and planner will use CONTEXT.md to know what to investigate and what choices are locked.
19
+
20
+ **How it works:**
21
+ 1. Load prior context (PROJECT.md, REQUIREMENTS.md, STATE.md, prior CONTEXT.md files)
22
+ 2. Scout codebase for reusable assets and patterns
23
+ 3. Analyze phase — skip gray areas already decided in prior phases
24
+ 4. Present remaining gray areas — user selects which to discuss
25
+ 5. Deep-dive each selected area until satisfied
26
+ 6. Create CONTEXT.md with decisions that guide research and planning
27
+
28
+ **Output:** `{phase_num}-CONTEXT.md` — decisions clear enough that downstream agents can act without asking the user again
29
+ </objective>
30
+
31
+ <execution_context>
32
+ @~/.claude/pilot/workflows/discuss-phase.md
33
+ @~/.claude/pilot/workflows/discuss-phase-assumptions.md
34
+ @~/.claude/pilot/templates/context.md
35
+ </execution_context>
36
+
37
+ <context>
38
+ Phase number: $ARGUMENTS (required)
39
+
40
+ Context files are resolved in-workflow using `init phase-op` and roadmap/state tool calls.
41
+ </context>
42
+
43
+ <process>
44
+ **Mode routing:**
45
+ ```bash
46
+ DISCUSS_MODE=$(node "$HOME/.claude/pilot/bin/ccp-tools.cjs" config-get workflow.discuss_mode 2>/dev/null || echo "discuss")
47
+ ```
48
+
49
+ If `DISCUSS_MODE` is `"assumptions"`: Read and execute @~/.claude/pilot/workflows/discuss-phase-assumptions.md end-to-end.
50
+
51
+ If `DISCUSS_MODE` is `"discuss"` (or unset, or any other value): Read and execute @~/.claude/pilot/workflows/discuss-phase.md end-to-end.
52
+
53
+ **MANDATORY:** The execution_context files listed above ARE the instructions. Read the workflow file BEFORE taking any action. The objective and success_criteria sections in this command file are summaries — the workflow file contains the complete step-by-step process with all required behaviors, config checks, and interaction patterns. Do not improvise from the summary.
54
+ </process>
55
+
56
+ <success_criteria>
57
+ - Prior context loaded and applied (no re-asking decided questions)
58
+ - Gray areas identified through intelligent analysis
59
+ - User chose which areas to discuss
60
+ - Each selected area explored until satisfied
61
+ - Scope creep redirected to deferred ideas
62
+ - CONTEXT.md captures decisions, not vague vision
63
+ - User knows next steps
64
+ </success_criteria>