claude-code-kit 0.11.2__tar.gz → 0.12.0__tar.gz

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 (227) hide show
  1. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/.claude-plugin/marketplace.json +1 -1
  2. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/.claude-plugin/plugin.json +1 -1
  3. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/CHANGELOG.md +141 -0
  4. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/PKG-INFO +30 -1
  5. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/README.md +29 -0
  6. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/agents/dependency-scanner.md +18 -0
  7. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/agents/merge-reviewer.md +26 -0
  8. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/agents/observability-engineer.md +1 -0
  9. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/agents/orchestrator.md +2 -1
  10. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/catalog/mcp.yaml +15 -0
  11. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/catalog/profiles.yaml +1 -1
  12. claude_code_kit-0.12.0/commands/abort.md +27 -0
  13. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/docs/agents.md +3 -2
  14. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/pyproject.toml +1 -1
  15. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/rules/continuity.md +6 -0
  16. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/rules/devops-observability.md +1 -0
  17. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/rules/mandatory-workflow.md +11 -1
  18. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/rules/model-tiers.md +18 -0
  19. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/rules/quality-gates.md +2 -1
  20. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/skills/ci-cd-and-automation/SKILL.md +9 -0
  21. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/skills/sdlc/SKILL.md +15 -2
  22. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/src/claude_kit/__init__.py +1 -1
  23. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/src/claude_kit/validator.py +15 -0
  24. claude_code_kit-0.12.0/templates/artifacts/api-change-report.md +29 -0
  25. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/.gitignore +0 -0
  26. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/CLAUDE.md +0 -0
  27. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/CONTRIBUTING.md +0 -0
  28. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/LICENSE +0 -0
  29. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/agents/acceptance-reviewer.md +0 -0
  30. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/agents/auditor.md +0 -0
  31. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/agents/developer.md +0 -0
  32. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/agents/devils-advocate.md +0 -0
  33. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/agents/devops-engineer.md +0 -0
  34. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/agents/e2e-tester.md +0 -0
  35. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/agents/em-reviewer.md +0 -0
  36. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/agents/incident-responder.md +0 -0
  37. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/agents/owasp-reviewer.md +0 -0
  38. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/agents/policy-validator.md +0 -0
  39. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/agents/pr-raiser.md +0 -0
  40. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/agents/risk-classifier.md +0 -0
  41. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/agents/sdlc-code-reviewer.md +0 -0
  42. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/agents/secret-scanner.md +0 -0
  43. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/agents/security-reviewer.md +0 -0
  44. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/agents/senior-backend-dev.md +0 -0
  45. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/agents/senior-frontend-dev.md +0 -0
  46. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/agents/senior-tester.md +0 -0
  47. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/agents/spec-doc-writer.md +0 -0
  48. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/agents/story-planner.md +0 -0
  49. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/agents/technical-architect.md +0 -0
  50. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/agents/tester.md +0 -0
  51. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/agents/ui-designer.md +0 -0
  52. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/agents/unit-tester.md +0 -0
  53. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/catalog/org.yaml +0 -0
  54. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/catalog/stacks.yaml +0 -0
  55. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/commands/init.md +0 -0
  56. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/commands/sdlc.md +0 -0
  57. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/commands/status.md +0 -0
  58. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/docs/agentic-patterns.md +0 -0
  59. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/docs/architecture.md +0 -0
  60. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/docs/org-capabilities.md +0 -0
  61. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/hooks/hooks.json +0 -0
  62. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/hooks/scripts/audit-log.sh +0 -0
  63. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/hooks/scripts/guard-destructive-git.sh +0 -0
  64. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/hooks/scripts/guard-secrets.sh +0 -0
  65. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/hooks/scripts/lint-fix.sh +0 -0
  66. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/hooks/scripts/load-autonomy.sh +0 -0
  67. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/hooks/scripts/load-continuity.sh +0 -0
  68. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/hooks/scripts/load-learnings.sh +0 -0
  69. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/hooks/scripts/type-check.sh +0 -0
  70. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/hooks/scripts/validate-frontmatter.sh +0 -0
  71. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/hooks/scripts/validate-settings.sh +0 -0
  72. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/hooks/scripts/warn-large-edits.sh +0 -0
  73. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/hooks/scripts/warn-llm-io.sh +0 -0
  74. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/hooks/scripts/warn-missing-tests.sh +0 -0
  75. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/hooks/scripts/warn-sensitive-files.sh +0 -0
  76. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/hooks/scripts/warn-shared-modules.sh +0 -0
  77. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/rules/agent-guardrails.md +0 -0
  78. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/rules/agent-memory.md +0 -0
  79. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/rules/agent-resilience.md +0 -0
  80. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/rules/autonomy-levels.md +0 -0
  81. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/rules/code-organization.md +0 -0
  82. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/rules/design-patterns.md +0 -0
  83. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/rules/documentation.md +0 -0
  84. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/rules/evals.md +0 -0
  85. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/rules/frontend-best-practices.md +0 -0
  86. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/rules/goal-setting-and-monitoring.md +0 -0
  87. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/rules/human-in-the-loop.md +0 -0
  88. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/rules/linting-and-formatting.md +0 -0
  89. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/rules/rarv-cycle.md +0 -0
  90. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/rules/reasoning-techniques.md +0 -0
  91. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/rules/responsive-and-accessibility.md +0 -0
  92. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/rules/risk-classification.md +0 -0
  93. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/rules/testing.md +0 -0
  94. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/rules/tool-design.md +0 -0
  95. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/scripts/init.sh +0 -0
  96. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/skills/_references/accessibility-checklist.md +0 -0
  97. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/skills/_references/orchestration-patterns.md +0 -0
  98. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/skills/_references/performance-checklist.md +0 -0
  99. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/skills/_references/security-checklist.md +0 -0
  100. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/skills/_references/testing-patterns.md +0 -0
  101. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/skills/accessibility-review/SKILL.md +0 -0
  102. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/skills/api-and-interface-design/SKILL.md +0 -0
  103. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/skills/api-integration/SKILL.md +0 -0
  104. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/skills/archive-sprint/SKILL.md +0 -0
  105. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/skills/backlog/SKILL.md +0 -0
  106. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/skills/backlog/item-template.md +0 -0
  107. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/skills/browser-testing-with-devtools/SKILL.md +0 -0
  108. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/skills/code-review-and-quality/SKILL.md +0 -0
  109. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/skills/code-simplification/SKILL.md +0 -0
  110. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/skills/component-design/SKILL.md +0 -0
  111. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/skills/consolidate-learnings/SKILL.md +0 -0
  112. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/skills/context-engineering/SKILL.md +0 -0
  113. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/skills/debugging-and-error-recovery/SKILL.md +0 -0
  114. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/skills/decision/SKILL.md +0 -0
  115. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/skills/decision/adr-template.md +0 -0
  116. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/skills/deprecation-and-migration/SKILL.md +0 -0
  117. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/skills/documentation-and-adrs/SKILL.md +0 -0
  118. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/skills/doubt-driven-development/SKILL.md +0 -0
  119. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/skills/execute/SKILL.md +0 -0
  120. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/skills/frontend-ui-engineering/SKILL.md +0 -0
  121. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/skills/git-workflow-and-versioning/SKILL.md +0 -0
  122. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/skills/idea-refine/SKILL.md +0 -0
  123. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/skills/idea-refine/examples.md +0 -0
  124. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/skills/idea-refine/frameworks.md +0 -0
  125. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/skills/idea-refine/refinement-criteria.md +0 -0
  126. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/skills/idea-refine/scripts/idea-refine.sh +0 -0
  127. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/skills/incident-postmortem/SKILL.md +0 -0
  128. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/skills/incremental-implementation/SKILL.md +0 -0
  129. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/skills/interview-me/SKILL.md +0 -0
  130. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/skills/load-testing/SKILL.md +0 -0
  131. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/skills/manual-test/SKILL.md +0 -0
  132. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/skills/over-engineering-review/SKILL.md +0 -0
  133. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/skills/performance-optimization/SKILL.md +0 -0
  134. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/skills/planning-and-task-breakdown/SKILL.md +0 -0
  135. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/skills/playwright-verification/SKILL.md +0 -0
  136. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/skills/refresh-docs/SKILL.md +0 -0
  137. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/skills/remember/SKILL.md +0 -0
  138. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/skills/scope/SKILL.md +0 -0
  139. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/skills/scope/scope-template.md +0 -0
  140. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/skills/security-and-hardening/SKILL.md +0 -0
  141. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/skills/security-verification/SKILL.md +0 -0
  142. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/skills/shipping-and-launch/SKILL.md +0 -0
  143. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/skills/simplification-debt/SKILL.md +0 -0
  144. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/skills/smoke-test/SKILL.md +0 -0
  145. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/skills/source-driven-development/SKILL.md +0 -0
  146. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/skills/spec-driven-development/SKILL.md +0 -0
  147. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/skills/sprint/SKILL.md +0 -0
  148. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/skills/sprint/sprint-template.md +0 -0
  149. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/skills/task-tracker-sync/SKILL.md +0 -0
  150. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/skills/test-driven-development/SKILL.md +0 -0
  151. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/skills/threat-model/SKILL.md +0 -0
  152. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/skills/triage/SKILL.md +0 -0
  153. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/skills/ui-ux-design/SKILL.md +0 -0
  154. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/skills/unit-test/SKILL.md +0 -0
  155. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/skills/using-agent-skills/SKILL.md +0 -0
  156. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/src/claude_kit/__main__.py +0 -0
  157. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/src/claude_kit/catalog.py +0 -0
  158. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/src/claude_kit/cli.py +0 -0
  159. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/src/claude_kit/hooks.py +0 -0
  160. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/src/claude_kit/models.py +0 -0
  161. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/src/claude_kit/prompts.py +0 -0
  162. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/src/claude_kit/render.py +0 -0
  163. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/src/claude_kit/scaffold.py +0 -0
  164. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/src/claude_kit/upgrader.py +0 -0
  165. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/templates/CLAUDE.md +0 -0
  166. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/templates/CLAUDE.stack.md.tmpl +0 -0
  167. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/templates/CONTINUITY.template.md +0 -0
  168. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/templates/README.claude-sdlc.md.tmpl +0 -0
  169. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/templates/agent-memory/MEMORY.md +0 -0
  170. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/templates/agent-memory/api/.gitkeep +0 -0
  171. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/templates/agent-memory/architecture/.gitkeep +0 -0
  172. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/templates/agent-memory/debugging/.gitkeep +0 -0
  173. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/templates/agent-memory/gotchas/.gitkeep +0 -0
  174. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/templates/agent-memory/patterns/.gitkeep +0 -0
  175. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/templates/agent-memory/performance/.gitkeep +0 -0
  176. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/templates/artifacts/adr.md +0 -0
  177. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/templates/artifacts/feature-spec.md +0 -0
  178. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/templates/artifacts/release-plan.md +0 -0
  179. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/templates/artifacts/runbook.md +0 -0
  180. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/templates/artifacts/security-review.md +0 -0
  181. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/templates/artifacts/test-plan.md +0 -0
  182. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/templates/org/README.md +0 -0
  183. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/templates/org/agents/data-workflow-agent.md +0 -0
  184. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/templates/org/agents/founder-prototype-agent.md +0 -0
  185. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/templates/org/agents/internal-tools-builder.md +0 -0
  186. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/templates/org/agents/pm-copilot.md +0 -0
  187. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/templates/org/agents/support-ticket-engineer.md +0 -0
  188. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/templates/org/packs/devops-and-release/README.md +0 -0
  189. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/templates/org/packs/devops-and-release/pack.yaml +0 -0
  190. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/templates/org/packs/engineering-core/README.md +0 -0
  191. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/templates/org/packs/engineering-core/pack.yaml +0 -0
  192. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/templates/org/packs/non-engineer-builder/README.md +0 -0
  193. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/templates/org/packs/non-engineer-builder/pack.yaml +0 -0
  194. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/templates/org/packs/onboarding-and-docs/README.md +0 -0
  195. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/templates/org/packs/onboarding-and-docs/pack.yaml +0 -0
  196. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/templates/org/packs/product-to-code/README.md +0 -0
  197. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/templates/org/packs/product-to-code/pack.yaml +0 -0
  198. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/templates/org/packs/quality-and-review/README.md +0 -0
  199. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/templates/org/packs/quality-and-review/pack.yaml +0 -0
  200. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/templates/org/packs/security-and-compliance/README.md +0 -0
  201. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/templates/org/packs/security-and-compliance/pack.yaml +0 -0
  202. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/templates/org/rules/ai-working-agreement.md +0 -0
  203. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/templates/org/rules/ambiguity-resolution.md +0 -0
  204. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/templates/org/rules/branch-and-pr-policy.md +0 -0
  205. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/templates/org/rules/compliance-policy.md +0 -0
  206. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/templates/org/rules/non-engineer-safe-coding.md +0 -0
  207. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/templates/org/rules/pii-policy.md +0 -0
  208. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/templates/org/rules/production-data-policy.md +0 -0
  209. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/templates/org/rules/prompt-to-task-conversion.md +0 -0
  210. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/templates/org/rules/prototype-boundaries.md +0 -0
  211. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/templates/org/rules/secrets-policy.md +0 -0
  212. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/templates/org/skills/customer-issue-to-fix/SKILL.md +0 -0
  213. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/templates/org/skills/feature-from-idea/SKILL.md +0 -0
  214. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/templates/org/skills/prompt-to-safe-task/SKILL.md +0 -0
  215. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/templates/org/skills/prototype-to-production/SKILL.md +0 -0
  216. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/templates/org/skills/repo-onboarding/SKILL.md +0 -0
  217. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/templates/settings.json +0 -0
  218. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/templates/stacks/backend/python/fastapi/rules/fastapi-patterns.md +0 -0
  219. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/templates/stacks/db/mongodb/agents/migration-specialist.md +0 -0
  220. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/templates/stacks/db/mongodb/agents/mongodb-specialist.md +0 -0
  221. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/templates/stacks/db/mongodb/rules/mongodb-patterns.md +0 -0
  222. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/templates/stacks/db/postgres/agents/db-performance-reviewer.md +0 -0
  223. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/templates/stacks/db/postgres/agents/migration-specialist.md +0 -0
  224. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/templates/stacks/db/postgres/agents/postgres-specialist.md +0 -0
  225. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/templates/stacks/db/postgres/rules/database-performance.md +0 -0
  226. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/templates/stacks/db/postgres/rules/postgres-patterns.md +0 -0
  227. {claude_code_kit-0.11.2 → claude_code_kit-0.12.0}/templates/stacks/frontend/react/rules/react-patterns.md +0 -0
@@ -10,7 +10,7 @@
10
10
  "name": "claude-kit",
11
11
  "source": "./",
12
12
  "description": "Cookiecutter-style scaffolder for an autonomous Claude Code SDLC config (no app code, no Docker): install CLAUDE.md + .claude/ (rules, the profile's agents/skills, hooks, artifact templates) + optional .mcp.json, then run /sdlc to drive spec → review → build → test → security → ship through profile-aware quality gates, working memory, and a self-improving learnings loop.",
13
- "version": "0.11.2",
13
+ "version": "0.12.0",
14
14
  "license": "MIT",
15
15
  "keywords": ["sdlc", "agents", "orchestration", "quality-gates", "workflow", "scaffold", "cookiecutter"]
16
16
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "claude-kit",
3
- "version": "0.11.2",
3
+ "version": "0.12.0",
4
4
  "description": "Cookiecutter-style scaffolder for an autonomous Claude Code SDLC config (no app code, no Docker). `claude-kit init` asks ordered questions and installs CLAUDE.md + .claude/ (rules, the profile's agents/skills, hooks, artifact templates) + optional .mcp.json; run /sdlc to drive spec → review → build → test → security → ship through profile-aware quality gates with working memory and a self-improving learnings loop.",
5
5
  "author": {
6
6
  "name": "Arjunsingh Yadav",
@@ -4,6 +4,147 @@ All notable changes to claude-kit are documented here. The format follows
4
4
  [Keep a Changelog](https://keepachangelog.com/), and the project uses
5
5
  [semantic versioning](https://semver.org/).
6
6
 
7
+ ## [0.12.0] — 2026-06-15
8
+
9
+ An **improvement brief** (external self-review, no repo access) proposed ~15 changes — four P0, five
10
+ P1, six P2. Run through the kit's own mandated **adversarial reuse-first mapping** (an 18-agent
11
+ map→verify pass), **every substantive (P0/P1) item resolved to _extend an existing component_, not add
12
+ a new one** — the brief, written without the repo, repeatedly proposed agents/gates/skills that already
13
+ ship. The result is **one new quality gate, one new artifact template, one new slash command, and a set
14
+ of surgical edits to existing files — zero new agents, skills, or rules** (counts unchanged: 28 core
15
+ agents · 50 skills · 23 rules). Config-only, stack-agnostic, no Docker, no new `resolve()` branches.
16
+
17
+ ### Added
18
+ - **`contract-clear` quality gate** (enterprise profile; API-exposing backend stacks only). A
19
+ pre-merge **API backward-compatibility** gate **owned by the existing `merge-reviewer`** (not a new
20
+ agent): it diffs the API contract against the base branch (`git show <base>:<contract>`), classifies
21
+ each delta by the kit's severity model (removed/renamed endpoint or field, narrowed type, new
22
+ required field, removed status code = **Critical/High**), and blocks a breaking change that lacks an
23
+ approved migration note + version bump. **Self-skips** when the stack has no contract surface, so it
24
+ is inert for non-API projects. Wired as **data** in `catalog/profiles.yaml` (enterprise gate list),
25
+ documented in `rules/quality-gates.md` §4, and sequenced as the mechanical counterpart to
26
+ `mandatory-workflow.md` §2d. Builds **on** §2d's existing manual breaking-change check rather than
27
+ replacing it.
28
+ - **`templates/artifacts/api-change-report.md`** — the `contract-clear` gate's output artifact
29
+ (contract source · base ref · added/changed/removed tables with per-row severity · backward-compat
30
+ verdict · affected consumers). Installs with the other artifact templates.
31
+ - **`/claude-kit:abort`** slash command (`commands/abort.md`) — a guided, **reversible** mid-pipeline
32
+ cleanup: confirm a run is in progress, remove **only the worktrees this run created**, mark
33
+ `CONTINUITY.md` aborted. Deliberately **not** a `claude-kit abort` CLI subcommand (a destructive
34
+ one-shot CLI for "remove worktrees" is exactly the kind of irreversible action the kit gates).
35
+
36
+ ### Changed (surgical extensions to existing components)
37
+ - **`skills/ci-cd-and-automation`** — named **Blue/Green vs Canary** as an explicit deployment-strategy
38
+ subsection (blue/green was never named anywhere in the kit; cross-refs the existing Rollout Decision
39
+ Thresholds). *(P0-1 — the only real gap; see "Not adopted" for the rest of P0-1.)*
40
+ - **`rules/devops-observability.md` + `agents/observability-engineer.md`** — Observability Ready now
41
+ requires, **for a hot / SLO-bearing backend path**, an empirical load run (drive the existing
42
+ `load-testing` skill) that meets its p95/p99 latency, error-rate, and throughput budgets; a budget
43
+ breach is **High**. Recorded in the `quality-gates.md` §4 row. No new gate, no new agent. *(P0-3)*
44
+ - **`agents/dependency-scanner.md`** — added a **Cadence Mode** (a whole-project, scheduled
45
+ supply-chain maintenance pass: batch grouped upgrades, defer triage to `security-and-hardening`,
46
+ re-run the existing gates on applied upgrades). Scheduling is left to org CI (the kit has no
47
+ time-driven hook). No new skill. *(P0-4)*
48
+ - **`rules/model-tiers.md`** — added a **profile cost expectations** subsection (relative, non-currency
49
+ ballpark: lean cheapest → enterprise heaviest, noting enterprise still runs only four opus agents).
50
+ *(P1-1)*
51
+ - **`skills/sdlc` + `agents/orchestrator.md`** — `/sdlc` now **detects an in-progress run** from
52
+ `CONTINUITY.md` and offers **resume** (re-enter at the first gate after the last PASS, read from the
53
+ orchestrator's `PIPELINE:` state line) **vs restart**; the orchestrator's Stage-7 summary now reports
54
+ per-gate PASS/FAIL + severity + PR-or-ABORTED and **tears down this run's worktrees**. *(P1-2, P1-3)*
55
+ - **`rules/mandatory-workflow.md`** — §2a now states the **worktree lifecycle** (one per lane → merge
56
+ after gates pass → remove after the PR is raised or the run is aborted); §2d gained a note pointing
57
+ at the mechanical `contract-clear` counterpart. *(P1-3)*
58
+ - **`rules/continuity.md`** — added a **Concurrency** subsection (one live `CONTINUITY.md` per working
59
+ dir; use a worktree per concurrent `/sdlc`; `agent-memory` is intentionally shared, not namespaced).
60
+ *(P1-4)*
61
+ - **`src/claude_kit/validator.py` + README** — `claude-kit doctor` now reports **platform visibility**:
62
+ on Windows without `jq` it WARNs (actionable: run under WSL/Git Bash; config + CLI work natively
63
+ regardless) and on Windows *with* `jq` it confirms a POSIX shell is providing the hooks — **never a
64
+ failure**. README gained a Windows prerequisites note + troubleshooting row. *(P1-5)*
65
+
66
+ ### Not adopted (deliberately — the kit already covers these)
67
+ - **P0-1 `release-manager`/`release-ready`/`rollback-safety` (new agent + gate + rule).** Release &
68
+ rollback are **already owned by `devops-engineer`** (and the Pipeline Green gate already requires a
69
+ *verified* rollback + runbook); canary, feature flags, staged rollout, and rollback are already
70
+ covered in depth by the `shipping-and-launch` skill. Only "blue/green was never named" was a genuine
71
+ gap — fixed above as one subsection, no new components.
72
+ - **P0-2 `contract-reviewer` agent in the _standard_ profile.** Reused `merge-reviewer` instead of a
73
+ new agent, and placed the gate in **enterprise** (heavyweight gates default to enterprise per the
74
+ profile policy), not standard. It also **builds on** `mandatory-workflow.md` §2d rather than
75
+ duplicating it.
76
+ - **P0-3 `performance-engineer` agent + standalone performance gate.** Folded into the existing
77
+ Observability Ready gate + `observability-engineer` + `load-testing` skill.
78
+ - **P0-4 `dependency-maintenance` skill.** Folded into the existing `dependency-scanner` agent as a
79
+ mode; no competing skill.
80
+ - **P1-1 `cost-estimate` skill + a per-run cost hook.** A doc subsection in `model-tiers.md` conveys
81
+ the expectation without a runtime token-accounting surface the kit can't reliably measure.
82
+ - **P1-3 a `run-report` subsystem / structured run trace.** Already covered by `CONTINUITY.md` working
83
+ memory + the orchestrator's Stage-7 summary; only the genuine gaps (worktree teardown + clean abort)
84
+ were added.
85
+ - **P1-5 a PowerShell hook port.** The hooks stay POSIX `.sh`; `doctor` now tells Windows users to run
86
+ under WSL/Git Bash. Porting every guard to PowerShell would double the maintenance surface for a
87
+ shell most users already have via WSL/Git Bash.
88
+ - **The P2 items** (repo metadata, PyPI publish, listing submissions) that require a human / `gh` are
89
+ left as follow-ups; the **E2E worked example**, **positioning section**, and **README on-ramp** were
90
+ partly addressed (a "How claude-kit compares" positioning block + the adoption row were added).
91
+
92
+ ## [0.11.3] — 2026-06-15
93
+
94
+ A field review of a **reference table of ecosystem repos** — official + community **MCP-server
95
+ directories** ([modelcontextprotocol/servers](https://github.com/modelcontextprotocol/servers),
96
+ [wong2/awesome-mcp-servers](https://github.com/wong2/awesome-mcp-servers),
97
+ [appcypher/awesome-mcp-servers](https://github.com/appcypher/awesome-mcp-servers)), **Cursor-rules**
98
+ collections ([PatrickJS/awesome-cursorrules](https://github.com/PatrickJS/awesome-cursorrules),
99
+ [sanjeed5/awesome-cursor-rules-mdc](https://github.com/sanjeed5/awesome-cursor-rules-mdc)), a
100
+ **community skills** index ([GetBindu/awesome-claude-code-and-skills](https://github.com/GetBindu/awesome-claude-code-and-skills)),
101
+ and a **plugins** marketplace ([ComposioHQ/awesome-claude-plugins](https://github.com/ComposioHQ/awesome-claude-plugins)) —
102
+ run through the same adversarial map→verify pass (six candidates surfaced, each refuted against the
103
+ actual kit files). Exactly **one** survived. (anthropics/skills, wshobson/agents,
104
+ hesreallyhim/awesome-claude-code, rohitg00/awesome-claude-code-toolkit, and
105
+ anthropics/claude-plugins-official were re-confirmed at **zero** from prior reviews.)
106
+
107
+ ### Added
108
+ - **`catalog/mcp.yaml`** — a new opt-in **`sentry`** MCP server (error monitoring / issue triage:
109
+ top unresolved issues, stacktraces, performance & trace data, Seer root-cause analysis). This fills
110
+ a gap the kit had already *designed in*: `agents/incident-responder.md` explicitly says *"If an
111
+ error-tracking / monitoring integration is connected (e.g. via an MCP), pull the top unresolved
112
+ issue + event trend"* and lists an "error-tracking issue" as a triage signal — yet no catalog entry
113
+ fulfilled it, even though the kit ships both `incident-responder` and `observability-engineer`
114
+ agents. Uses the **hosted OAuth HTTP endpoint** (`https://mcp.sentry.dev/mcp`, matching the
115
+ `linear`/`docs` http style) so **no credentials are generated**. NOT bundled — only referenced; the
116
+ server's source is **FSL-1.1-Apache-2.0 (source-available)**, flagged inline in the label exactly
117
+ like the `repowise` AGPL note (a self-hosted/token `npx @sentry/mcp-server` alternative is
118
+ documented in a comment). Opt-in (catalog default stays *none*), stack-agnostic, zero resolver
119
+ change. (+2 tests, 80.)
120
+
121
+ ### Not adopted (deliberately, per the assessment)
122
+ - **Semgrep MCP** (MIT, modelcontextprotocol directories) — SAST is already owned by `owasp-reviewer`
123
+ + `security-reviewer` + `secret-scanner` + `dependency-scanner`, which follow the kit's "shell out to
124
+ an installed CLI via Bash" pattern (`gitleaks detect`, `pip-audit`/`npm audit`); `owasp-reviewer`
125
+ can run `semgrep --config auto` today with no catalog change. An MCP would add a privilege surface
126
+ for zero new capability (`agent-guardrails §4`: treat MCP servers as untrusted until reviewed).
127
+ - **Composio `connect-apps` MCP** (ComposioHQ) — a closed commercial broker holding one key to authed
128
+ **write** access across 500+ SaaS apps via an external relay. It overlaps the existing
129
+ `github`/`linear`/`jira` servers and is the textbook supply-chain + data-egress risk that
130
+ `agent-guardrails §4` and `human-in-the-loop` (outward-facing actions = mandatory STOP) warn
131
+ against. Contradicts the catalog's deliberate one-server-per-purpose, least-privilege posture.
132
+ - **PatrickJS/awesome-cursorrules, sanjeed5/awesome-cursor-rules-mdc** (CC0) — overwhelmingly
133
+ *stack-specific* `.cursorrules`/`.mdc` files (one per framework/language), which cannot enter the
134
+ agnostic core. The one cross-cutting near-miss — anti-sycophancy *directed at the user* (resist
135
+ manufactured urgency/authority) — is already expressed in `code-review-and-quality` ("Push back;
136
+ sycophancy is a failure mode"), `idea-refine`, and `interview-me`, and its residual angle sits
137
+ awkwardly against `human-in-the-loop`'s human-as-authority contract. The generator tool is out of
138
+ scope for a config-only kit.
139
+ - **GetBindu skills** (Apache-2.0 index) — `should-i-care` (CVE applicability triage) duplicates the
140
+ "Triaging Dependency Audit Results" decision tree in `security-and-hardening` + `dependency-scanner`
141
+ (A06) and depends on a global `~/.config` state file foreign to the per-project `.claude/` model;
142
+ `claudemd-auditor` is meta/out-of-SDLC-scope and covered by `context-engineering` + the harness's own
143
+ `claude-md-management` skills.
144
+ - **Re-confirmed zero** — anthropics/skills (grew 8→17 skills, still document-processing/source-available/
145
+ covered), wshobson/agents (stack-specific/covered), hesreallyhim & rohitg00 (meta-lists/aggregators),
146
+ anthropics/claude-plugins-official (distribution marketplace).
147
+
7
148
  ## [0.11.2] — 2026-06-15
8
149
 
9
150
  A field review of **thirteen** more external collections — marketplaces, awesome-lists, subagent
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: claude-code-kit
3
- Version: 0.11.2
3
+ Version: 0.12.0
4
4
  Summary: Cookiecutter-style scaffolder for an autonomous Claude Code SDLC configuration (no app code, no Docker). Asks ordered questions and installs CLAUDE.md + .claude/ (rules, the chosen profile's agents/skills, hooks, artifact templates) + optional .mcp.json; run /sdlc to drive spec → review → build → test → security → ship through profile-aware quality gates, working memory, and a self-improving learnings loop.
5
5
  Project-URL: Homepage, https://github.com/ajyadav013/claude-kit
6
6
  Project-URL: Repository, https://github.com/ajyadav013/claude-kit
@@ -122,6 +122,11 @@ claude-kit init --defaults # non-interactive: React + Python/FastAPI + Post
122
122
  > **Prerequisites:** [Claude Code](https://www.claude.com/product/claude-code); Python ≥ 3.9 for the
123
123
  > CLI; `jq` to enable the shell hooks (they no-op without it); Node / `npx` only if you enable an MCP
124
124
  > (Model Context Protocol) server.
125
+ >
126
+ > **Windows:** the config (agents · skills · rules) and the `claude-kit` CLI work natively. The shell
127
+ > hooks (`guard-*`, `warn-*`) need a POSIX shell + `jq`, so run inside **WSL or Git Bash** to enable
128
+ > them — `claude-kit doctor` detects Windows and tells you which case you're in. Without a POSIX shell
129
+ > the hooks silently no-op (the kit still functions; you just lose the deterministic guards).
125
130
 
126
131
  <details>
127
132
  <summary><b>What the init flow asks &amp; what lands on disk</b></summary>
@@ -239,6 +244,7 @@ non-duplicative gaps**, minimally and catalog-wired.
239
244
  | **[ponytail](https://github.com/DietrichGebert/ponytail)** | YAGNI / anti-over-engineering as an explicit recurring pass; deferral-debt tracking; surfacing the active autonomy level | `over-engineering-review` & `simplification-debt` skills, the `load-autonomy` hook, median-of-N in `evals` | `0.8.0` |
240
245
  | **[GitHub spec-kit](https://github.com/github/spec-kit)** | Spec → tasks → **analyze** coverage gate; tasks → tracker issues; stable requirement IDs + assumptions in specs | Wired the (previously orphaned) `story-planner` as the **coverage gate (1f)**, a tracker-agnostic `task-tracker-sync` skill, and enriched the feature-spec template | `0.9.0` |
241
246
  | **[protectai/llm-guard](https://github.com/protectai/llm-guard)** | Input→model→output guardrails for LLM features — prompt injection, PII vault, treating model output as untrusted | **Opt-in** "LLM / AI Feature Security" guidance in `security-and-hardening` + the advisory `warn-llm-io` hook (warns, **never blocks**) | `0.10.0` |
247
+ | **Improvement brief** (external self-review) | API backward-compat as a gate; load-against-SLO as a release criterion; supply-chain maintenance cadence; pipeline resumability, clean abort, and worktree lifecycle; pipeline cost/concurrency/cross-platform transparency | The enterprise **`contract-clear`** gate (owned by `merge-reviewer`) + `api-change-report` template; a load-vs-SLO criterion in Observability Ready; dependency **Cadence Mode**; `/sdlc` resume-vs-restart, `/claude-kit:abort`, worktree teardown; cost/concurrency/Windows notes — **9 surgical extensions, 0 new agents/skills/rules** | `0.12.0` |
242
248
 
243
249
  > Each adoption is detailed in the [CHANGELOG](CHANGELOG.md) — including, for every review, what we
244
250
  > deliberately **did not** add because the kit already covered it.
@@ -273,6 +279,28 @@ mandatory security gate — that would have made it mandatory.
273
279
 
274
280
  </details>
275
281
 
282
+ <details>
283
+ <summary><b>How claude-kit compares (positioning)</b></summary>
284
+
285
+ <br>
286
+
287
+ claude-kit is a **config-only, stack-agnostic SDLC scaffolder** — it installs a governed pipeline
288
+ (agents · skills · rules · gates · hooks) into your project's `.claude/` and then gets out of the way.
289
+ It is **not** a runtime, an orchestration engine, or a code library. That framing is the difference:
290
+
291
+ | Project | What it is | How claude-kit differs |
292
+ |---|---|---|
293
+ | **[wshobson/agents](https://github.com/wshobson/agents)** & similar agent collections | Large libraries of individual subagent prompts you pick from | claude-kit ships a **smaller, opinionated set wired into a sequenced pipeline with owned quality gates** — agents aren't a menu, they're stages that hand off and block on each other. Adopt-by-reuse, not by accumulation. |
294
+ | **[GitHub spec-kit](https://github.com/github/spec-kit)** | A spec-driven workflow (constitution → spec → tasks → analyze) | claude-kit **absorbed spec-kit's coverage-gate idea** (the `story-planner` 1f gate + `task-tracker-sync`) into a **broader** lifecycle that also covers review, security, build, test, release, and observability gates. Complementary, wider scope. |
295
+ | **claude-flow / multi-agent runtimes** | Runtime orchestrators that *execute* swarms of agents | claude-kit produces **portable configuration**, not a running process — the orchestration is described in rules the host (Claude Code) executes. No daemon, no lock-in, no app code. |
296
+ | **dotfiles / `CLAUDE.md` starters** | A single rules file or settings snippet | claude-kit is a **catalog-driven generator**: it resolves your stack/profile/scope into the right subset of 23 rules, ~28 agents, ~50 skills, gates, and hooks, and keeps them **upgradeable** (`claude-kit upgrade` preserves your edits via owner + checksum). |
297
+
298
+ **Choose claude-kit when** you want a consistent, reviewable, **gate-enforced** autonomous-SDLC setup
299
+ that's the same across every repo and stack, installs in seconds, ships nothing you have to run, and
300
+ **evolves reuse-first** rather than by piling on near-duplicate agents.
301
+
302
+ </details>
303
+
276
304
  ---
277
305
 
278
306
  ## The agents
@@ -424,6 +452,7 @@ hints.
424
452
  |---|---|---|
425
453
  | `/sdlc`, agents, or skills "not found" right after `init` | Claude Code hasn't loaded the new project config yet | **Restart Claude Code** — or use `/claude-kit:sdlc <task>` (works without a restart) |
426
454
  | Guard / quality hooks seem to do nothing | `jq` isn't installed (the hooks parse tool input with it) | Install `jq`; without it the hooks degrade to no-ops by design |
455
+ | Hooks do nothing on **Windows** | No POSIX shell — `.sh` hooks can't run under `cmd`/PowerShell | Run claude-kit inside **WSL or Git Bash** (with `jq`); `claude-kit doctor` confirms. Config + CLI work natively regardless |
427
456
  | A selected MCP server won't start | `node` / `npx` missing (most MCP servers launch via `npx`) | Install Node.js, or remove the server from `.mcp.json` |
428
457
  | `pip install claude-code-kit` fails | Not yet published to PyPI | Use `pip install "git+https://github.com/ajyadav013/claude-kit.git"` |
429
458
  | `validate` reports missing files | Partial or outdated install | Re-run `claude-kit init` (choose **merge**), or `claude-kit upgrade` |
@@ -95,6 +95,11 @@ claude-kit init --defaults # non-interactive: React + Python/FastAPI + Post
95
95
  > **Prerequisites:** [Claude Code](https://www.claude.com/product/claude-code); Python ≥ 3.9 for the
96
96
  > CLI; `jq` to enable the shell hooks (they no-op without it); Node / `npx` only if you enable an MCP
97
97
  > (Model Context Protocol) server.
98
+ >
99
+ > **Windows:** the config (agents · skills · rules) and the `claude-kit` CLI work natively. The shell
100
+ > hooks (`guard-*`, `warn-*`) need a POSIX shell + `jq`, so run inside **WSL or Git Bash** to enable
101
+ > them — `claude-kit doctor` detects Windows and tells you which case you're in. Without a POSIX shell
102
+ > the hooks silently no-op (the kit still functions; you just lose the deterministic guards).
98
103
 
99
104
  <details>
100
105
  <summary><b>What the init flow asks &amp; what lands on disk</b></summary>
@@ -212,6 +217,7 @@ non-duplicative gaps**, minimally and catalog-wired.
212
217
  | **[ponytail](https://github.com/DietrichGebert/ponytail)** | YAGNI / anti-over-engineering as an explicit recurring pass; deferral-debt tracking; surfacing the active autonomy level | `over-engineering-review` & `simplification-debt` skills, the `load-autonomy` hook, median-of-N in `evals` | `0.8.0` |
213
218
  | **[GitHub spec-kit](https://github.com/github/spec-kit)** | Spec → tasks → **analyze** coverage gate; tasks → tracker issues; stable requirement IDs + assumptions in specs | Wired the (previously orphaned) `story-planner` as the **coverage gate (1f)**, a tracker-agnostic `task-tracker-sync` skill, and enriched the feature-spec template | `0.9.0` |
214
219
  | **[protectai/llm-guard](https://github.com/protectai/llm-guard)** | Input→model→output guardrails for LLM features — prompt injection, PII vault, treating model output as untrusted | **Opt-in** "LLM / AI Feature Security" guidance in `security-and-hardening` + the advisory `warn-llm-io` hook (warns, **never blocks**) | `0.10.0` |
220
+ | **Improvement brief** (external self-review) | API backward-compat as a gate; load-against-SLO as a release criterion; supply-chain maintenance cadence; pipeline resumability, clean abort, and worktree lifecycle; pipeline cost/concurrency/cross-platform transparency | The enterprise **`contract-clear`** gate (owned by `merge-reviewer`) + `api-change-report` template; a load-vs-SLO criterion in Observability Ready; dependency **Cadence Mode**; `/sdlc` resume-vs-restart, `/claude-kit:abort`, worktree teardown; cost/concurrency/Windows notes — **9 surgical extensions, 0 new agents/skills/rules** | `0.12.0` |
215
221
 
216
222
  > Each adoption is detailed in the [CHANGELOG](CHANGELOG.md) — including, for every review, what we
217
223
  > deliberately **did not** add because the kit already covered it.
@@ -246,6 +252,28 @@ mandatory security gate — that would have made it mandatory.
246
252
 
247
253
  </details>
248
254
 
255
+ <details>
256
+ <summary><b>How claude-kit compares (positioning)</b></summary>
257
+
258
+ <br>
259
+
260
+ claude-kit is a **config-only, stack-agnostic SDLC scaffolder** — it installs a governed pipeline
261
+ (agents · skills · rules · gates · hooks) into your project's `.claude/` and then gets out of the way.
262
+ It is **not** a runtime, an orchestration engine, or a code library. That framing is the difference:
263
+
264
+ | Project | What it is | How claude-kit differs |
265
+ |---|---|---|
266
+ | **[wshobson/agents](https://github.com/wshobson/agents)** & similar agent collections | Large libraries of individual subagent prompts you pick from | claude-kit ships a **smaller, opinionated set wired into a sequenced pipeline with owned quality gates** — agents aren't a menu, they're stages that hand off and block on each other. Adopt-by-reuse, not by accumulation. |
267
+ | **[GitHub spec-kit](https://github.com/github/spec-kit)** | A spec-driven workflow (constitution → spec → tasks → analyze) | claude-kit **absorbed spec-kit's coverage-gate idea** (the `story-planner` 1f gate + `task-tracker-sync`) into a **broader** lifecycle that also covers review, security, build, test, release, and observability gates. Complementary, wider scope. |
268
+ | **claude-flow / multi-agent runtimes** | Runtime orchestrators that *execute* swarms of agents | claude-kit produces **portable configuration**, not a running process — the orchestration is described in rules the host (Claude Code) executes. No daemon, no lock-in, no app code. |
269
+ | **dotfiles / `CLAUDE.md` starters** | A single rules file or settings snippet | claude-kit is a **catalog-driven generator**: it resolves your stack/profile/scope into the right subset of 23 rules, ~28 agents, ~50 skills, gates, and hooks, and keeps them **upgradeable** (`claude-kit upgrade` preserves your edits via owner + checksum). |
270
+
271
+ **Choose claude-kit when** you want a consistent, reviewable, **gate-enforced** autonomous-SDLC setup
272
+ that's the same across every repo and stack, installs in seconds, ships nothing you have to run, and
273
+ **evolves reuse-first** rather than by piling on near-duplicate agents.
274
+
275
+ </details>
276
+
249
277
  ---
250
278
 
251
279
  ## The agents
@@ -397,6 +425,7 @@ hints.
397
425
  |---|---|---|
398
426
  | `/sdlc`, agents, or skills "not found" right after `init` | Claude Code hasn't loaded the new project config yet | **Restart Claude Code** — or use `/claude-kit:sdlc <task>` (works without a restart) |
399
427
  | Guard / quality hooks seem to do nothing | `jq` isn't installed (the hooks parse tool input with it) | Install `jq`; without it the hooks degrade to no-ops by design |
428
+ | Hooks do nothing on **Windows** | No POSIX shell — `.sh` hooks can't run under `cmd`/PowerShell | Run claude-kit inside **WSL or Git Bash** (with `jq`); `claude-kit doctor` confirms. Config + CLI work natively regardless |
400
429
  | A selected MCP server won't start | `node` / `npx` missing (most MCP servers launch via `npx`) | Install Node.js, or remove the server from `.mcp.json` |
401
430
  | `pip install claude-code-kit` fails | Not yet published to PyPI | Use `pip install "git+https://github.com/ajyadav013/claude-kit.git"` |
402
431
  | `validate` reports missing files | Partial or outdated install | Re-run `claude-kit init` (choose **merge**), or `claude-kit upgrade` |
@@ -82,3 +82,21 @@ Backend deps: {N} · Frontend deps: {N} · Vulns: Critical {N} / High {N} / Medi
82
82
  ## HANDOFF
83
83
 
84
84
  Return counts by severity + the finding table to `security-reviewer`. If a CVE has no patch, recommend a workaround or replacement and mark it for an allowlist-with-review-date decision (route to the human via the Orchestrator). Log durable findings to `.claude/CONTINUITY.md`.
85
+
86
+ ## CADENCE MODE (whole-project maintenance pass)
87
+
88
+ The same audit can be dispatched **standalone** — outside any one feature — as a recurring
89
+ maintenance pass over the *whole* project (the ongoing CVE-remediation loop):
90
+
91
+ - Run the **same METHOD** across every manifest in the repo, not just one feature's dependencies.
92
+ - **Batch** the findings into grouped upgrade proposals — group by ecosystem and by major-vs-minor,
93
+ and keep **security** patches separate from routine bumps — ordered by the
94
+ `.claude/rules/quality-gates.md` severity model.
95
+ - **Triage stays in** `.claude/skills/security-and-hardening` §"Triaging Dependency Audit Results"
96
+ (reachability → fix-timing); cite it, do not restate it. Reuse the same recommend→apply split: you
97
+ **recommend**; the **developer lane applies** (manifest edits need user approval).
98
+ - Posture is **advisory** — you propose; the human/Orchestrator decides what to schedule and apply.
99
+ Every applied upgrade re-runs the existing **security-clear + build-green + test-coverage** gates
100
+ (no new gate logic, no new skill).
101
+ - **Scheduling** (cron/CI) is the consuming project's CI concern, not the kit's — claude-kit hooks are
102
+ event-driven (no time trigger). Wire a periodic job in the project's CI to invoke this pass.
@@ -168,6 +168,32 @@ Frontend code reviewed: ✓ | Build/tests: ✓
168
168
 
169
169
  ---
170
170
 
171
+ ## Join Point: API Backward-Compatibility (contract-clear gate)
172
+
173
+ > **Extends** `.claude/rules/mandatory-workflow.md` §2d (Breaking Changes + Impact Check). §2d is the
174
+ > Developer's manual consumer/signature check for *internal* exports; this is its **mechanical
175
+ > counterpart for the externally-exposed contract** — a base-branch surface diff. It runs **only**
176
+ > when the selected stack exposes an API surface (a committed OpenAPI/GraphQL schema, or typed routes
177
+ > a generator can emit). **Degrade to a no-op** (PASS, note "no API contract surface") when no schema
178
+ > source is found — mirror the hooks' detect-then-skip pattern; never block a project that has no
179
+ > contract.
180
+
181
+ Owns the **contract-clear** gate (enterprise; or any profile an org opts into via `org.yaml`
182
+ strictness). With `Bash`:
183
+
184
+ 1. **Locate or generate the contract** — a committed `openapi.(json|yaml)` / GraphQL SDL, or generate it from the framework's typed routes.
185
+ 2. **Diff against the base branch** — `git show <base>:<contract-path>` vs the working copy.
186
+ 3. **Classify each delta** by `.claude/rules/quality-gates.md` §1:
187
+ - **Critical/High** — a removed or renamed endpoint/field, a narrowed type, a new **required** request field, or a removed status code clients branch on (backward-incompatible for already-shipped consumers).
188
+ - **Medium** — an undocumented additive change, or a deprecation with no migration note.
189
+ - **Low/Cosmetic** — an additive **optional** field, or a doc-only change.
190
+ 4. **Require a migration path** — any Critical/High breaking delta needs an approved migration note (cross-ref `.claude/skills/deprecation-and-migration`) **and** a version bump before PASS.
191
+ 5. **Emit** `docs/api/{feature-name}_api-change-report.md` from the `api-change-report.md` artifact template.
192
+
193
+ **Rule:** *contract-clear* PASSes only at zero Critical/High/Medium per the severity model; a breaking change shipped without an approved migration note + version bump is **auto-High**.
194
+
195
+ ---
196
+
171
197
  ## Defect Loop Integration
172
198
 
173
199
  When the Tester or Senior Tester finds defects after your verification:
@@ -45,6 +45,7 @@ You are the **Observability Engineer** agent. You make a feature **operable in p
45
45
  ### 1. SLOs / SLIs
46
46
  - For each critical journey the feature adds, define a measurable objective: latency (p95/p99), availability/success-rate, or error budget.
47
47
  - Record them where the project keeps them (e.g., `docs/observability/{feature}-slo.md`); reference the spec's NFR targets.
48
+ - When the feature adds a **hot / concurrency-sensitive backend path**, don't stop at *defining* the SLO — drive `.claude/skills/load-testing` against it, attach the run to the SLO doc (record under `docs/performance/`), and confirm it **meets** the budget. A budget breach (p95/p99 latency, error rate, or throughput) is **High** per `.claude/rules/quality-gates.md`. Skip (note why in `CONTINUITY.md`) for changes with no concurrency-sensitive surface.
48
49
 
49
50
  ### 2. Health & Readiness
50
51
  - Liveness endpoint stays trivial and dependency-free (always 200 if the process is up).
@@ -392,7 +392,8 @@ For backend-only or frontend-only tasks, spawn a single tester in `full` mode
392
392
 
393
393
  ### Stage 7: Pipeline Complete
394
394
  - Report PR URL to the human.
395
- - Summarize: specs, dev docs, design, reviews (senior dev + tech architect + EM per lane), code reviewed, merge verified, testing validated + verified, Devil's Advocate (if unanimous), DevOps + Observability (where applicable), PR raised.
395
+ - Summarize: specs, dev docs, design, reviews (senior dev + tech architect + EM per lane), code reviewed, merge verified, testing validated + verified, Devil's Advocate (if unanimous), DevOps + Observability (where applicable), PR raised. State the summary as **per-gate PASS/FAIL**, open findings by **Critical/High/Medium**, and **PR-or-ABORTED** status (`.claude/rules/quality-gates.md` severity model).
396
+ - **Tear down this run's worktrees.** Once the PR is raised (or the run is abandoned), remove the per-lane worktrees this run created via the Agent tool's `isolation: "worktree"` — they auto-clean when unchanged; for merged lanes confirm removal with `git worktree remove`. **Only** remove worktrees this run created — never the user's other worktrees or the primary checkout. If a run must be cancelled mid-pipeline before this stage, use `/claude-kit:abort`.
396
397
 
397
398
  ---
398
399
 
@@ -52,6 +52,21 @@ servers:
52
52
  config:
53
53
  type: http
54
54
  url: "https://mcp.context7.com/mcp"
55
+ # Sentry (github.com/getsentry/sentry-mcp) — official, vendor-maintained MCP for production error
56
+ # monitoring / issue triage: top unresolved issues, stacktraces, performance & trace data, and Seer
57
+ # root-cause analysis. Fills the error-monitoring gap the `incident-responder` + `observability-engineer`
58
+ # agents already expect (incident-responder.md: "If an error-tracking / monitoring integration is
59
+ # connected (e.g. via an MCP), pull the top unresolved issue + event trend"). NOT bundled — only
60
+ # referenced; the hosted HTTP endpoint below uses OAuth and generates NO credentials. The server's
61
+ # source is FSL-1.1-Apache-2.0 (source-available; converts to Apache-2.0 two years after each
62
+ # release) — flagged in the label like the repowise AGPL note; this entry references only the
63
+ # OAuth-hosted service, not the source. Self-hosted/token alternative (instead of the http url):
64
+ # command: npx, args: ["-y", "@sentry/mcp-server@latest"], env: SENTRY_ACCESS_TOKEN: "${SENTRY_ACCESS_TOKEN}".
65
+ sentry:
66
+ label: "Sentry (error monitoring / issue triage; source-available FSL-1.1)"
67
+ config:
68
+ type: http
69
+ url: "https://mcp.sentry.dev/mcp"
55
70
  # Repowise (github.com/repowise-dev/repowise) — optional codebase-intelligence engine exposing an
56
71
  # MCP server: deterministic hotspots (churn × complexity), change-risk, co-change coupling, dead
57
72
  # code, and a dependency graph. NOT bundled (claude-kit only references it): it is AGPL-3.0, so
@@ -95,5 +95,5 @@ profiles:
95
95
  - incident-responder
96
96
  - risk-classifier
97
97
  skills: all
98
- gates: [spec-complete, em-approved, code-review, build-green, test-coverage, security-clear, pipeline-green, observability-ready, acceptance]
98
+ gates: [spec-complete, em-approved, code-review, build-green, test-coverage, security-clear, contract-clear, pipeline-green, observability-ready, acceptance]
99
99
  hooks: all
@@ -0,0 +1,27 @@
1
+ ---
2
+ description: Abort the in-progress /sdlc run — remove only this run's worktrees and mark CONTINUITY aborted
3
+ argument-hint: "[reason]"
4
+ allowed-tools: Bash, Read, Edit
5
+ ---
6
+
7
+ Cleanly abort the in-progress autonomous SDLC run in this project. There is **no destructive CLI** for
8
+ this by design — aborting is a guided, reversible cleanup you perform, never removing anything this run
9
+ did not create.
10
+
11
+ 1. **Confirm a run is in progress.** Read `.claude/CONTINUITY.md` — check **Current Phase** /
12
+ **Active Tasks** and the orchestrator's `PIPELINE:` line to see which lanes/worktrees this run
13
+ created. If no run is in progress, say so and stop.
14
+ 2. **List worktrees:** `git worktree list`. Identify **only** the worktrees this run created for its
15
+ lanes (the `developer` lanes use the Agent tool's `isolation: "worktree"`). **Never** remove a
16
+ worktree this run did not create, and never the primary checkout.
17
+ 3. **Remove them:** `git worktree remove <path>` for each identified worktree. Unchanged worktrees are
18
+ auto-cleaned by the Agent tool; this handles any that remain. Add `--force` **only** after telling
19
+ the user exactly what uncommitted lane work would be lost and getting confirmation.
20
+ 4. **Mark the run aborted:** append `ABORTED <date> — <reason from $ARGUMENTS>` under **Current Phase**
21
+ in `.claude/CONTINUITY.md`, and reset **Active Tasks** / **Next Steps** so the next `/sdlc` starts
22
+ fresh. (To merely *pause*, leave the `PIPELINE:` line intact so `/sdlc` can offer RESUME instead.)
23
+ 5. **Report** what was removed and the final state. Do not touch the user's branches, commits, or other
24
+ worktrees.
25
+
26
+ This is the counterpart to the worktree-teardown step in `orchestrator` Stage 7: use it when a run must
27
+ be cancelled mid-pipeline rather than completing to a PR.
@@ -54,8 +54,9 @@ Request ─▶ classify ─▶ Spec & Dev Docs ─▶ [Gate: EM approved]
54
54
  ```
55
55
 
56
56
  Which gates actually run depends on the profile: **lean** = code-review · build-green; **standard**
57
- adds spec/EM/coverage/security; **enterprise** adds pipeline-green · observability-ready ·
58
- acceptance. A **fast-track** path (bug fixes / < 5 files) skips planning: Developer → Code Reviewer →
57
+ adds spec/EM/coverage/security; **enterprise** adds contract-clear · pipeline-green ·
58
+ observability-ready · acceptance (contract-clear self-skips on stacks with no API contract surface). A
59
+ **fast-track** path (bug fixes / < 5 files) skips planning: Developer → Code Reviewer →
59
60
  Tester → PR.
60
61
 
61
62
  Every gate uses the same severity model — a gate passes only with **zero Critical/High/Medium**
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "claude-code-kit"
7
- version = "0.11.2"
7
+ version = "0.12.0"
8
8
  description = "Cookiecutter-style scaffolder for an autonomous Claude Code SDLC configuration (no app code, no Docker). Asks ordered questions and installs CLAUDE.md + .claude/ (rules, the chosen profile's agents/skills, hooks, artifact templates) + optional .mcp.json; run /sdlc to drive spec → review → build → test → security → ship through profile-aware quality gates, working memory, and a self-improving learnings loop."
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.9"
@@ -22,6 +22,12 @@ When a CONTINUITY entry under **Mistakes & Learnings** is durable (a correction,
22
22
  - **Seed:** `.claude/CONTINUITY.template.md` — committed. The `load-continuity.sh` SessionStart hook copies the template to the live file if the live file is missing, then prints it into context.
23
23
  - Never commit the live file. Never store secrets, tokens, or credentials in it.
24
24
 
25
+ ## Concurrency
26
+
27
+ - There is exactly **one** live `.claude/CONTINUITY.md` per working directory. Two pipeline runs in the **same** checkout share it and will clobber each other's state — don't run concurrent `/sdlc` in one directory.
28
+ - To run pipelines **concurrently** on one repo, give each its own **git worktree** (the isolation primitive already used for parallel lanes in `.claude/rules/mandatory-workflow.md`). Each worktree is a separate checkout, so the `load-continuity.sh` SessionStart hook seeds it an independent `CONTINUITY.md` (it copies the template to `$ROOT/.claude/CONTINUITY.md` when absent).
29
+ - `agent-memory/` is the opposite by design: a single **shared, committed** store any session reads and contributes to (last-writer-wins on distinct kebab-case files; the `remember` skill dedups). It is intentionally **not** namespaced per branch — cross-run learnings pool on purpose.
30
+
25
31
  ## Protocol
26
32
 
27
33
  **At the start of every turn / session / after compaction:**
@@ -41,6 +41,7 @@ Ensures the feature is **operable in production**: you can tell when it breaks a
41
41
 
42
42
  **Observability Ready passes when:**
43
43
  - [ ] **SLOs/SLIs** defined for each critical user journey the feature adds (e.g., "p95 endpoint latency < 200ms", "login success rate ≥ 99.5%").
44
+ - [ ] **Load verified against the SLO** — for a change to a hot / SLO-bearing backend path, an empirical load run (drive `.claude/skills/load-testing`) was executed against the defined SLO and **met** its p95/p99 latency + error-rate + throughput budgets; record it under `docs/performance/` and link it from the feature SLO doc. *Skip (note why in `CONTINUITY.md`) for changes with no concurrency-sensitive surface.* A budget breach is **High** (`.claude/rules/quality-gates.md`).
44
45
  - [ ] **Health/readiness** — any new external dependency (database, cache, third-party service) is reflected in the readiness check; liveness stays dependency-free.
45
46
  - [ ] **Structured logging** — new state changes log via the project's structured logger as JSON key-values, semantic event names, **no secrets/PII**; error paths log at `error`/`exception` level.
46
47
  - [ ] **Alerts** — alert rules defined for the feature's failure modes (error-rate spike, latency breach, dependency down) with a severity and an owner.
@@ -176,7 +176,10 @@ CANNOT start until coverage is complete.
176
176
  # Phase 2 — Development (Stages 4-5)
177
177
 
178
178
  ## 2a — Read Existing Code & Confirm Scope `[Developer]`
179
- Work in an **isolated git worktree**. Before writing code, read the approved spec + dev docs,
179
+ Work in an **isolated git worktree** (lifecycle: create one per lane merge after the gates pass →
180
+ **remove it after the PR is raised or the run is aborted** — only the worktrees this run created, never
181
+ the user's others; `git worktree remove`, see `.claude/skills/git-workflow-and-versioning/SKILL.md`).
182
+ Before writing code, read the approved spec + dev docs,
180
183
  the relevant `.claude/rules/*` for your stack, and EVERY file you plan to modify — in full.
181
184
  Understand a function's callers/returns before changing it. Reuse existing utilities and
182
185
  components — search before creating.
@@ -220,6 +223,13 @@ every consumer and verify it still works. Run the full test suite (not just your
220
223
  Review the diff for changes outside your scope.
221
224
  **Gate:** zero regressions verified across the codebase.
222
225
 
226
+ > **Mechanical counterpart (enterprise, API-exposing stacks):** the `merge-reviewer` runs the
227
+ > **contract-clear** gate — a base-branch API-surface diff (`git show <base>:<schema>`) that classifies
228
+ > each delta by severity and blocks backward-incompatible changes lacking an approved migration note +
229
+ > version bump. It self-skips when no API contract surface exists. This §2d is the manual consumer
230
+ > check; contract-clear is its automated, externally-exposed-contract complement. See
231
+ > `.claude/agents/merge-reviewer.md`.
232
+
223
233
  ---
224
234
 
225
235
  # Phase 3 — Testing & Delivery (Stages 6-7)
@@ -32,3 +32,21 @@ tier — they are focused specialists/personas, not deep-reasoning orchestrators
32
32
  (`secret-scanner`, `dependency-scanner`, `policy-validator`) are `sonnet` (pattern/tool work).
33
33
  - **Re-map when names/prices change.** Keep the tier *intent* (Critical / Default / Fast); swap the
34
34
  concrete alias if Anthropic's model lineup shifts.
35
+
36
+ ## Profile cost expectations
37
+
38
+ Token cost scales with the **profile** (the agent / skill / hook set it installs — see
39
+ `catalog/profiles.yaml`): more agents and more parallel review lanes mean more model turns. As a
40
+ *relative* guide (not a currency figure):
41
+
42
+ - **lean** — cheapest: ~5 agents, a single review lane, no Devil's Advocate, fewest gates. Only
43
+ `orchestrator` + `developer` run on `opus`; the rest are `sonnet`/`haiku`.
44
+ - **standard** — adds the spec / design / test / security lanes and the blind-review + Devil's
45
+ Advocate pass: mostly `sonnet` reviewers and scanners layered on top of lean.
46
+ - **enterprise** — heaviest: adds the DevOps / Observability / audit agents, `skills: all`, and
47
+ `hooks: all`, with more gates — but still only the four `opus` agents (`orchestrator`, `developer`,
48
+ `devils-advocate`, `owasp-reviewer`); everything it adds is `sonnet`/`haiku`.
49
+
50
+ Scale effort to the work, not the ceremony: pick the smallest profile that fits, and use the per-agent
51
+ tier table above plus `.claude/rules/reasoning-techniques.md` ("resource-aware effort") to avoid
52
+ spending `opus` on mechanical turns.
@@ -90,7 +90,8 @@ Where the agent is installed, a gate reached by unanimous PASS is not PASS until
90
90
  | Test coverage verified | 3 | All acceptance criteria covered across lanes | **Yes** — senior testers blind, Devil's Advocate on unanimous PASS |
91
91
  | Security clear | 5.4 | 0 Critical/High/Medium, no secrets, deps patched, policies enforced | No — `security-reviewer` + sub-scanners |
92
92
  | Pipeline green | DevOps | CI valid, container/build artifacts healthy, runbook complete | No — see `devops-observability.md` |
93
- | Observability ready | Observability | SLOs, health checks, alerts, structured logs | No — see `devops-observability.md` |
93
+ | Observability ready | Observability | SLOs, health checks, alerts, structured logs + (for hot backend paths) a load run meets the SLO | No — see `devops-observability.md` |
94
+ | Contract clear *(enterprise; API stacks)* | Pre-merge | API contract diff vs base branch: 0 backward-incompatible deltas without an approved migration note + version bump; self-skips when no contract surface | No — `merge-reviewer` |
94
95
 
95
96
  ---
96
97
 
@@ -236,6 +236,15 @@ return renderLegacyCheckout();
236
236
 
237
237
  **Flag lifecycle:** Create → Enable for testing → Canary → Full rollout → Remove the flag and dead code. Flags that live forever become technical debt — set a cleanup date when you create them.
238
238
 
239
+ ### Blue/Green vs Canary
240
+
241
+ Two complementary cutover strategies — both keep rollback fast:
242
+
243
+ - **Blue/green** — run two identical production environments (blue = current, green = new). Deploy to the idle one, smoke-test it, then flip the router/load balancer in a single switch. Rollback is instant: flip back. Choose it when you need an atomic cutover and a clean, immediate revert and can afford two full environments.
244
+ - **Canary** — keep one environment and shift a *percentage* of traffic (or users, via a flag) to the new version — 5% → 25% → 50% → 100% — watching error rate, latency, and business metrics at each step before advancing. Choose it to limit blast radius on real traffic, tolerating both versions running at once.
245
+
246
+ Pick blue/green for atomic switch + instant revert, canary for gradual observable exposure. Either way, define the advance / hold / rollback thresholds **before** you start — reuse the Rollout Decision Thresholds table in `.claude/skills/shipping-and-launch/SKILL.md` rather than inventing new ones.
247
+
239
248
  ### Staged Rollouts
240
249
 
241
250
  ```
@@ -25,6 +25,18 @@ Before doing anything, read:
25
25
  and the blind-review + Devil's Advocate protocol.
26
26
  - `.claude/rules/rarv-cycle.md` — the Reason → Act → Reflect → Verify self-check every agent runs.
27
27
 
28
+ Then read `.claude/CONTINUITY.md` (the `load-continuity` SessionStart hook has already printed it into
29
+ context). **Detect an in-progress run:** if **Current Phase** is not idle and **Active Tasks** names a
30
+ run matching `$ARGUMENTS`, an earlier pipeline is in flight. Tell the user the **last PASSed gate** and
31
+ the active lane(s) from the mirrored `PIPELINE:` line (the orchestrator's authoritative, gate-precise
32
+ state line — see `.claude/rules/continuity.md`), then ask whether to:
33
+
34
+ - **RESUME** — re-enter the orchestrator at the first gate *after* the last passed one, re-running only
35
+ un-passed or defect-affected lanes; or
36
+ - **RESTART** — reset **Current Phase** / **Next Steps** and begin again from spec.
37
+
38
+ If **Current Phase** is idle (or CONTINUITY was freshly seeded), proceed as a fresh run.
39
+
28
40
  ## 2. Discover the active profile (this decides which gates run)
29
41
 
30
42
  Read `.claude/config/stack-catalog.snapshot.yaml`. Its `gates:` and `agents:` lists are the
@@ -53,8 +65,9 @@ and the stack selection. Instruct it to:
53
65
  1. **Classify** the work — bug fix vs. feature; single-stream vs. parallel lanes (backend/frontend);
54
66
  fast-track (< 5 files) vs. full pipeline. Fast-track collapses to the lean gate set regardless of
55
67
  profile.
56
- 2. **Record** the plan and initial state in `.claude/CONTINUITY.md` (working memory survives
57
- compaction — update it at every phase transition).
68
+ 2. **Record** (or, **on resume**, update) the plan and state in `.claude/CONTINUITY.md` (working memory
69
+ survives compaction — update it at every phase transition). On resume, re-enter at the first gate
70
+ *after* the last PASSed gate per the `PIPELINE:` line rather than restarting from spec.
58
71
  3. **Run each active phase with its gate**, in order, using only the profile's agents:
59
72
  spec & dev-docs → story planning → (design, if UI) → senior/architect/EM review →
60
73
  implementation (one worktree per lane) → code review → unit + e2e tests → test-coverage merge →
@@ -7,4 +7,4 @@ Docker): ``claude-kit init`` asks ordered questions and lays down ``CLAUDE.md``
7
7
  as a plugin. Extensibility is data-driven via the ``catalog/`` (stacks, profiles, MCP).
8
8
  """
9
9
 
10
- __version__ = "0.11.2"
10
+ __version__ = "0.12.0"