claude-code-kit 0.10.0__tar.gz → 0.11.3__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 (226) hide show
  1. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/.claude-plugin/marketplace.json +1 -1
  2. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/.claude-plugin/plugin.json +1 -1
  3. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/CHANGELOG.md +199 -0
  4. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/PKG-INFO +1 -1
  5. claude_code_kit-0.11.3/catalog/mcp.yaml +80 -0
  6. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/catalog/profiles.yaml +1 -1
  7. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/hooks/hooks.json +1 -0
  8. claude_code_kit-0.11.3/hooks/scripts/guard-destructive-git.sh +39 -0
  9. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/pyproject.toml +1 -1
  10. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/rules/testing.md +10 -0
  11. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/skills/code-review-and-quality/SKILL.md +16 -0
  12. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/src/claude_kit/__init__.py +1 -1
  13. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/src/claude_kit/hooks.py +6 -0
  14. claude_code_kit-0.10.0/catalog/mcp.yaml +0 -54
  15. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/.gitignore +0 -0
  16. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/CLAUDE.md +0 -0
  17. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/CONTRIBUTING.md +0 -0
  18. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/LICENSE +0 -0
  19. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/README.md +0 -0
  20. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/agents/acceptance-reviewer.md +0 -0
  21. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/agents/auditor.md +0 -0
  22. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/agents/dependency-scanner.md +0 -0
  23. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/agents/developer.md +0 -0
  24. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/agents/devils-advocate.md +0 -0
  25. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/agents/devops-engineer.md +0 -0
  26. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/agents/e2e-tester.md +0 -0
  27. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/agents/em-reviewer.md +0 -0
  28. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/agents/incident-responder.md +0 -0
  29. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/agents/merge-reviewer.md +0 -0
  30. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/agents/observability-engineer.md +0 -0
  31. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/agents/orchestrator.md +0 -0
  32. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/agents/owasp-reviewer.md +0 -0
  33. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/agents/policy-validator.md +0 -0
  34. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/agents/pr-raiser.md +0 -0
  35. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/agents/risk-classifier.md +0 -0
  36. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/agents/sdlc-code-reviewer.md +0 -0
  37. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/agents/secret-scanner.md +0 -0
  38. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/agents/security-reviewer.md +0 -0
  39. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/agents/senior-backend-dev.md +0 -0
  40. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/agents/senior-frontend-dev.md +0 -0
  41. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/agents/senior-tester.md +0 -0
  42. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/agents/spec-doc-writer.md +0 -0
  43. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/agents/story-planner.md +0 -0
  44. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/agents/technical-architect.md +0 -0
  45. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/agents/tester.md +0 -0
  46. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/agents/ui-designer.md +0 -0
  47. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/agents/unit-tester.md +0 -0
  48. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/catalog/org.yaml +0 -0
  49. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/catalog/stacks.yaml +0 -0
  50. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/commands/init.md +0 -0
  51. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/commands/sdlc.md +0 -0
  52. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/commands/status.md +0 -0
  53. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/docs/agentic-patterns.md +0 -0
  54. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/docs/agents.md +0 -0
  55. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/docs/architecture.md +0 -0
  56. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/docs/org-capabilities.md +0 -0
  57. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/hooks/scripts/audit-log.sh +0 -0
  58. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/hooks/scripts/guard-secrets.sh +0 -0
  59. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/hooks/scripts/lint-fix.sh +0 -0
  60. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/hooks/scripts/load-autonomy.sh +0 -0
  61. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/hooks/scripts/load-continuity.sh +0 -0
  62. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/hooks/scripts/load-learnings.sh +0 -0
  63. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/hooks/scripts/type-check.sh +0 -0
  64. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/hooks/scripts/validate-frontmatter.sh +0 -0
  65. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/hooks/scripts/validate-settings.sh +0 -0
  66. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/hooks/scripts/warn-large-edits.sh +0 -0
  67. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/hooks/scripts/warn-llm-io.sh +0 -0
  68. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/hooks/scripts/warn-missing-tests.sh +0 -0
  69. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/hooks/scripts/warn-sensitive-files.sh +0 -0
  70. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/hooks/scripts/warn-shared-modules.sh +0 -0
  71. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/rules/agent-guardrails.md +0 -0
  72. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/rules/agent-memory.md +0 -0
  73. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/rules/agent-resilience.md +0 -0
  74. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/rules/autonomy-levels.md +0 -0
  75. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/rules/code-organization.md +0 -0
  76. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/rules/continuity.md +0 -0
  77. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/rules/design-patterns.md +0 -0
  78. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/rules/devops-observability.md +0 -0
  79. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/rules/documentation.md +0 -0
  80. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/rules/evals.md +0 -0
  81. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/rules/frontend-best-practices.md +0 -0
  82. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/rules/goal-setting-and-monitoring.md +0 -0
  83. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/rules/human-in-the-loop.md +0 -0
  84. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/rules/linting-and-formatting.md +0 -0
  85. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/rules/mandatory-workflow.md +0 -0
  86. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/rules/model-tiers.md +0 -0
  87. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/rules/quality-gates.md +0 -0
  88. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/rules/rarv-cycle.md +0 -0
  89. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/rules/reasoning-techniques.md +0 -0
  90. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/rules/responsive-and-accessibility.md +0 -0
  91. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/rules/risk-classification.md +0 -0
  92. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/rules/tool-design.md +0 -0
  93. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/scripts/init.sh +0 -0
  94. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/skills/_references/accessibility-checklist.md +0 -0
  95. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/skills/_references/orchestration-patterns.md +0 -0
  96. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/skills/_references/performance-checklist.md +0 -0
  97. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/skills/_references/security-checklist.md +0 -0
  98. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/skills/_references/testing-patterns.md +0 -0
  99. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/skills/accessibility-review/SKILL.md +0 -0
  100. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/skills/api-and-interface-design/SKILL.md +0 -0
  101. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/skills/api-integration/SKILL.md +0 -0
  102. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/skills/archive-sprint/SKILL.md +0 -0
  103. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/skills/backlog/SKILL.md +0 -0
  104. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/skills/backlog/item-template.md +0 -0
  105. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/skills/browser-testing-with-devtools/SKILL.md +0 -0
  106. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/skills/ci-cd-and-automation/SKILL.md +0 -0
  107. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/skills/code-simplification/SKILL.md +0 -0
  108. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/skills/component-design/SKILL.md +0 -0
  109. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/skills/consolidate-learnings/SKILL.md +0 -0
  110. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/skills/context-engineering/SKILL.md +0 -0
  111. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/skills/debugging-and-error-recovery/SKILL.md +0 -0
  112. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/skills/decision/SKILL.md +0 -0
  113. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/skills/decision/adr-template.md +0 -0
  114. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/skills/deprecation-and-migration/SKILL.md +0 -0
  115. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/skills/documentation-and-adrs/SKILL.md +0 -0
  116. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/skills/doubt-driven-development/SKILL.md +0 -0
  117. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/skills/execute/SKILL.md +0 -0
  118. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/skills/frontend-ui-engineering/SKILL.md +0 -0
  119. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/skills/git-workflow-and-versioning/SKILL.md +0 -0
  120. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/skills/idea-refine/SKILL.md +0 -0
  121. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/skills/idea-refine/examples.md +0 -0
  122. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/skills/idea-refine/frameworks.md +0 -0
  123. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/skills/idea-refine/refinement-criteria.md +0 -0
  124. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/skills/idea-refine/scripts/idea-refine.sh +0 -0
  125. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/skills/incident-postmortem/SKILL.md +0 -0
  126. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/skills/incremental-implementation/SKILL.md +0 -0
  127. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/skills/interview-me/SKILL.md +0 -0
  128. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/skills/load-testing/SKILL.md +0 -0
  129. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/skills/manual-test/SKILL.md +0 -0
  130. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/skills/over-engineering-review/SKILL.md +0 -0
  131. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/skills/performance-optimization/SKILL.md +0 -0
  132. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/skills/planning-and-task-breakdown/SKILL.md +0 -0
  133. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/skills/playwright-verification/SKILL.md +0 -0
  134. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/skills/refresh-docs/SKILL.md +0 -0
  135. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/skills/remember/SKILL.md +0 -0
  136. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/skills/scope/SKILL.md +0 -0
  137. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/skills/scope/scope-template.md +0 -0
  138. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/skills/sdlc/SKILL.md +0 -0
  139. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/skills/security-and-hardening/SKILL.md +0 -0
  140. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/skills/security-verification/SKILL.md +0 -0
  141. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/skills/shipping-and-launch/SKILL.md +0 -0
  142. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/skills/simplification-debt/SKILL.md +0 -0
  143. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/skills/smoke-test/SKILL.md +0 -0
  144. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/skills/source-driven-development/SKILL.md +0 -0
  145. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/skills/spec-driven-development/SKILL.md +0 -0
  146. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/skills/sprint/SKILL.md +0 -0
  147. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/skills/sprint/sprint-template.md +0 -0
  148. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/skills/task-tracker-sync/SKILL.md +0 -0
  149. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/skills/test-driven-development/SKILL.md +0 -0
  150. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/skills/threat-model/SKILL.md +0 -0
  151. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/skills/triage/SKILL.md +0 -0
  152. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/skills/ui-ux-design/SKILL.md +0 -0
  153. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/skills/unit-test/SKILL.md +0 -0
  154. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/skills/using-agent-skills/SKILL.md +0 -0
  155. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/src/claude_kit/__main__.py +0 -0
  156. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/src/claude_kit/catalog.py +0 -0
  157. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/src/claude_kit/cli.py +0 -0
  158. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/src/claude_kit/models.py +0 -0
  159. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/src/claude_kit/prompts.py +0 -0
  160. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/src/claude_kit/render.py +0 -0
  161. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/src/claude_kit/scaffold.py +0 -0
  162. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/src/claude_kit/upgrader.py +0 -0
  163. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/src/claude_kit/validator.py +0 -0
  164. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/templates/CLAUDE.md +0 -0
  165. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/templates/CLAUDE.stack.md.tmpl +0 -0
  166. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/templates/CONTINUITY.template.md +0 -0
  167. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/templates/README.claude-sdlc.md.tmpl +0 -0
  168. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/templates/agent-memory/MEMORY.md +0 -0
  169. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/templates/agent-memory/api/.gitkeep +0 -0
  170. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/templates/agent-memory/architecture/.gitkeep +0 -0
  171. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/templates/agent-memory/debugging/.gitkeep +0 -0
  172. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/templates/agent-memory/gotchas/.gitkeep +0 -0
  173. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/templates/agent-memory/patterns/.gitkeep +0 -0
  174. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/templates/agent-memory/performance/.gitkeep +0 -0
  175. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/templates/artifacts/adr.md +0 -0
  176. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/templates/artifacts/feature-spec.md +0 -0
  177. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/templates/artifacts/release-plan.md +0 -0
  178. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/templates/artifacts/runbook.md +0 -0
  179. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/templates/artifacts/security-review.md +0 -0
  180. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/templates/artifacts/test-plan.md +0 -0
  181. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/templates/org/README.md +0 -0
  182. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/templates/org/agents/data-workflow-agent.md +0 -0
  183. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/templates/org/agents/founder-prototype-agent.md +0 -0
  184. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/templates/org/agents/internal-tools-builder.md +0 -0
  185. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/templates/org/agents/pm-copilot.md +0 -0
  186. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/templates/org/agents/support-ticket-engineer.md +0 -0
  187. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/templates/org/packs/devops-and-release/README.md +0 -0
  188. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/templates/org/packs/devops-and-release/pack.yaml +0 -0
  189. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/templates/org/packs/engineering-core/README.md +0 -0
  190. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/templates/org/packs/engineering-core/pack.yaml +0 -0
  191. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/templates/org/packs/non-engineer-builder/README.md +0 -0
  192. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/templates/org/packs/non-engineer-builder/pack.yaml +0 -0
  193. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/templates/org/packs/onboarding-and-docs/README.md +0 -0
  194. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/templates/org/packs/onboarding-and-docs/pack.yaml +0 -0
  195. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/templates/org/packs/product-to-code/README.md +0 -0
  196. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/templates/org/packs/product-to-code/pack.yaml +0 -0
  197. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/templates/org/packs/quality-and-review/README.md +0 -0
  198. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/templates/org/packs/quality-and-review/pack.yaml +0 -0
  199. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/templates/org/packs/security-and-compliance/README.md +0 -0
  200. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/templates/org/packs/security-and-compliance/pack.yaml +0 -0
  201. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/templates/org/rules/ai-working-agreement.md +0 -0
  202. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/templates/org/rules/ambiguity-resolution.md +0 -0
  203. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/templates/org/rules/branch-and-pr-policy.md +0 -0
  204. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/templates/org/rules/compliance-policy.md +0 -0
  205. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/templates/org/rules/non-engineer-safe-coding.md +0 -0
  206. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/templates/org/rules/pii-policy.md +0 -0
  207. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/templates/org/rules/production-data-policy.md +0 -0
  208. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/templates/org/rules/prompt-to-task-conversion.md +0 -0
  209. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/templates/org/rules/prototype-boundaries.md +0 -0
  210. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/templates/org/rules/secrets-policy.md +0 -0
  211. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/templates/org/skills/customer-issue-to-fix/SKILL.md +0 -0
  212. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/templates/org/skills/feature-from-idea/SKILL.md +0 -0
  213. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/templates/org/skills/prompt-to-safe-task/SKILL.md +0 -0
  214. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/templates/org/skills/prototype-to-production/SKILL.md +0 -0
  215. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/templates/org/skills/repo-onboarding/SKILL.md +0 -0
  216. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/templates/settings.json +0 -0
  217. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/templates/stacks/backend/python/fastapi/rules/fastapi-patterns.md +0 -0
  218. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/templates/stacks/db/mongodb/agents/migration-specialist.md +0 -0
  219. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/templates/stacks/db/mongodb/agents/mongodb-specialist.md +0 -0
  220. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/templates/stacks/db/mongodb/rules/mongodb-patterns.md +0 -0
  221. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/templates/stacks/db/postgres/agents/db-performance-reviewer.md +0 -0
  222. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/templates/stacks/db/postgres/agents/migration-specialist.md +0 -0
  223. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/templates/stacks/db/postgres/agents/postgres-specialist.md +0 -0
  224. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/templates/stacks/db/postgres/rules/database-performance.md +0 -0
  225. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/templates/stacks/db/postgres/rules/postgres-patterns.md +0 -0
  226. {claude_code_kit-0.10.0 → claude_code_kit-0.11.3}/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.10.0",
13
+ "version": "0.11.3",
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.10.0",
3
+ "version": "0.11.3",
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,205 @@ 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.11.3] — 2026-06-15
8
+
9
+ A field review of a **reference table of ecosystem repos** — official + community **MCP-server
10
+ directories** ([modelcontextprotocol/servers](https://github.com/modelcontextprotocol/servers),
11
+ [wong2/awesome-mcp-servers](https://github.com/wong2/awesome-mcp-servers),
12
+ [appcypher/awesome-mcp-servers](https://github.com/appcypher/awesome-mcp-servers)), **Cursor-rules**
13
+ collections ([PatrickJS/awesome-cursorrules](https://github.com/PatrickJS/awesome-cursorrules),
14
+ [sanjeed5/awesome-cursor-rules-mdc](https://github.com/sanjeed5/awesome-cursor-rules-mdc)), a
15
+ **community skills** index ([GetBindu/awesome-claude-code-and-skills](https://github.com/GetBindu/awesome-claude-code-and-skills)),
16
+ and a **plugins** marketplace ([ComposioHQ/awesome-claude-plugins](https://github.com/ComposioHQ/awesome-claude-plugins)) —
17
+ run through the same adversarial map→verify pass (six candidates surfaced, each refuted against the
18
+ actual kit files). Exactly **one** survived. (anthropics/skills, wshobson/agents,
19
+ hesreallyhim/awesome-claude-code, rohitg00/awesome-claude-code-toolkit, and
20
+ anthropics/claude-plugins-official were re-confirmed at **zero** from prior reviews.)
21
+
22
+ ### Added
23
+ - **`catalog/mcp.yaml`** — a new opt-in **`sentry`** MCP server (error monitoring / issue triage:
24
+ top unresolved issues, stacktraces, performance & trace data, Seer root-cause analysis). This fills
25
+ a gap the kit had already *designed in*: `agents/incident-responder.md` explicitly says *"If an
26
+ error-tracking / monitoring integration is connected (e.g. via an MCP), pull the top unresolved
27
+ issue + event trend"* and lists an "error-tracking issue" as a triage signal — yet no catalog entry
28
+ fulfilled it, even though the kit ships both `incident-responder` and `observability-engineer`
29
+ agents. Uses the **hosted OAuth HTTP endpoint** (`https://mcp.sentry.dev/mcp`, matching the
30
+ `linear`/`docs` http style) so **no credentials are generated**. NOT bundled — only referenced; the
31
+ server's source is **FSL-1.1-Apache-2.0 (source-available)**, flagged inline in the label exactly
32
+ like the `repowise` AGPL note (a self-hosted/token `npx @sentry/mcp-server` alternative is
33
+ documented in a comment). Opt-in (catalog default stays *none*), stack-agnostic, zero resolver
34
+ change. (+2 tests, 80.)
35
+
36
+ ### Not adopted (deliberately, per the assessment)
37
+ - **Semgrep MCP** (MIT, modelcontextprotocol directories) — SAST is already owned by `owasp-reviewer`
38
+ + `security-reviewer` + `secret-scanner` + `dependency-scanner`, which follow the kit's "shell out to
39
+ an installed CLI via Bash" pattern (`gitleaks detect`, `pip-audit`/`npm audit`); `owasp-reviewer`
40
+ can run `semgrep --config auto` today with no catalog change. An MCP would add a privilege surface
41
+ for zero new capability (`agent-guardrails §4`: treat MCP servers as untrusted until reviewed).
42
+ - **Composio `connect-apps` MCP** (ComposioHQ) — a closed commercial broker holding one key to authed
43
+ **write** access across 500+ SaaS apps via an external relay. It overlaps the existing
44
+ `github`/`linear`/`jira` servers and is the textbook supply-chain + data-egress risk that
45
+ `agent-guardrails §4` and `human-in-the-loop` (outward-facing actions = mandatory STOP) warn
46
+ against. Contradicts the catalog's deliberate one-server-per-purpose, least-privilege posture.
47
+ - **PatrickJS/awesome-cursorrules, sanjeed5/awesome-cursor-rules-mdc** (CC0) — overwhelmingly
48
+ *stack-specific* `.cursorrules`/`.mdc` files (one per framework/language), which cannot enter the
49
+ agnostic core. The one cross-cutting near-miss — anti-sycophancy *directed at the user* (resist
50
+ manufactured urgency/authority) — is already expressed in `code-review-and-quality` ("Push back;
51
+ sycophancy is a failure mode"), `idea-refine`, and `interview-me`, and its residual angle sits
52
+ awkwardly against `human-in-the-loop`'s human-as-authority contract. The generator tool is out of
53
+ scope for a config-only kit.
54
+ - **GetBindu skills** (Apache-2.0 index) — `should-i-care` (CVE applicability triage) duplicates the
55
+ "Triaging Dependency Audit Results" decision tree in `security-and-hardening` + `dependency-scanner`
56
+ (A06) and depends on a global `~/.config` state file foreign to the per-project `.claude/` model;
57
+ `claudemd-auditor` is meta/out-of-SDLC-scope and covered by `context-engineering` + the harness's own
58
+ `claude-md-management` skills.
59
+ - **Re-confirmed zero** — anthropics/skills (grew 8→17 skills, still document-processing/source-available/
60
+ covered), wshobson/agents (stack-specific/covered), hesreallyhim & rohitg00 (meta-lists/aggregators),
61
+ anthropics/claude-plugins-official (distribution marketplace).
62
+
63
+ ## [0.11.2] — 2026-06-15
64
+
65
+ A field review of **thirteen** more external collections — marketplaces, awesome-lists, subagent
66
+ packs, and hook/config repos — run through the same adversarial map→verify pass against the actual
67
+ kit files. Most are *distribution channels* (no copyable content) or *stack-specific* role packs that
68
+ would violate the agnostic core. Crucially, grounding the strongest candidates against the real hook
69
+ registry showed the kit **already** ships destructive-command blocking (`guard-rm-rf`,
70
+ `guard-push-main`), secret protection (`protect-secrets`, `guard-commit-secrets`), and skill
71
+ auto-routing (`skill-routing`) — refuting the headline ideas. Exactly **one** genuine gap survived.
72
+ Reviewed: [anthropics/claude-plugins-official](https://github.com/anthropics/claude-code) ·
73
+ claude-plugins-community · [hesreallyhim/awesome-claude-code](https://github.com/hesreallyhim/awesome-claude-code) ·
74
+ ccplugins/awesome-claude-code-plugins · rohitg00/awesome-claude-code-toolkit ·
75
+ [VoltAgent/awesome-claude-code-subagents](https://github.com/VoltAgent/awesome-claude-code-subagents) ·
76
+ [0xfurai/claude-code-subagents](https://github.com/0xfurai/claude-code-subagents) ·
77
+ [disler/claude-code-hooks-mastery](https://github.com/disler/claude-code-hooks-mastery) ·
78
+ yurukusa/claude-code-hooks (cc-safe-setup) · alirezarezvani/claude-skills ·
79
+ eddiemessiah/config-claude-code · ChrisWiles/claude-code-showcase.
80
+
81
+ ### Added
82
+ - **`hooks/scripts/guard-destructive-git.sh`** + the `guard-destructive-git` hook (PreToolUse·Bash,
83
+ `standard`→`enterprise`; absent in `lean`). A hard **block** (exit 2) for the git commands that
84
+ irreversibly destroy *uncommitted* work — `git reset --hard`, `git clean -f`, and worktree-wide
85
+ discards (`git checkout/restore .`) — each message pointing at the reversible alternative
86
+ (`git stash`). This completes the `guard-rm-rf` / `guard-push-main` destructive-command family with
87
+ the single most common irreversible agent mistake: nuking its own output. A *warn* would be theatre
88
+ here (the command would still run and the work would be gone), so this is a guard, consistent with
89
+ `guard-rm-rf`. Scope is deliberately git-only and conservative — no false positives on
90
+ `git clean -n`, branch checkouts, or single-file restores; fail-open without `jq`. (+2 tests, 78.)
91
+
92
+ ### Not adopted (deliberately, per the assessment)
93
+ - **Marketplaces** (anthropics official/community) — Apache-2.0 *distribution* manifests, not content;
94
+ claude-kit already ships its own `.claude-plugin/marketplace.json`. Nothing to copy.
95
+ - **Awesome-lists** (hesreallyhim, ccplugins, rohitg00) — curated discovery indexes; no installable
96
+ components of their own.
97
+ - **Subagent packs** (VoltAgent 154+, 0xfurai 100+; MIT) — overwhelmingly language/framework
98
+ specialists (violate the stack-agnostic core) or roles the kit already has; `api-designer`→
99
+ `technical-architect`/`api-and-interface-design`, `chaos-engineer`→`incident-responder`+`load-testing`,
100
+ `penetration-tester`→`security-reviewer`/`owasp-reviewer`/`threat-model`, `product-manager`→ the org
101
+ `pm-copilot` persona + `interview-me`/`idea-refine`. No genuine stack-agnostic SDLC role gap.
102
+ - **disler/claude-code-hooks-mastery** (no licence) — its destructive-command guard and skill-suggestion
103
+ ideas are already covered (`guard-rm-rf`/`guard-push-main`, `skill-routing`); lifecycle hooks
104
+ (SessionEnd/PreCompact continuity persistence) are covered by the continuity rule + `load-continuity`
105
+ + the SessionStart:compact reload. The one residual — git work-loss blocking — became the adoption above.
106
+ - **yurukusa/cc-safe-setup** (MIT) — its **database-wipe** guard (`migrate reset`/`drop database`) was
107
+ considered and **rejected as over-reach**: DB resets are legitimate in local dev and a hook can't tell
108
+ dev from prod, so a block would break normal workflows and a warn would be theatre. DB risk stays
109
+ governed by `risk-classification.md` (production-data/migrations → high/restricted) + `warn-sensitive-files`
110
+ on migration edits.
111
+ - **alirezarezvani/claude-skills** — a codebase-onboarding skill duplicates `context-engineering` +
112
+ `source-driven-development` (+ the org `repo-onboarding` skill).
113
+ - **eddiemessiah/config-claude-code, ChrisWiles/claude-code-showcase** (MIT) — personal config
114
+ collections; the transferable ideas (tool-budget hygiene → `agent-guardrails`§3/`tool-design`/
115
+ `context-engineering`; skill auto-suggestion → `skill-routing`; scheduled-maintenance CI → out of
116
+ scope for a config-only kit, covered by `ci-cd-and-automation`/`devops-engineer`) are already covered.
117
+
118
+ ## [0.11.1] — 2026-06-15
119
+
120
+ A field review of **seven** external projects, each run through the same adversarial map→verify pass
121
+ (read the source *and* the actual kit files; adopt only genuine, non-duplicative, config-only,
122
+ stack-agnostic, IP-safe gaps). The result is deliberately tiny: across all seven, exactly **one** real
123
+ gap survived — everything else is already covered, runtime-only, stack-specific, out of SDLC scope, or
124
+ IP-unsafe to copy. Reviewed: [obra/superpowers](https://github.com/obra/superpowers),
125
+ [wshobson/agents](https://github.com/wshobson/agents),
126
+ [anthropics/skills](https://github.com/anthropics/skills),
127
+ [karpathy/autoresearch](https://github.com/karpathy/autoresearch),
128
+ [browser-use](https://github.com/browser-use/browser-use),
129
+ [x1xhlol/system-prompts-and-models-of-ai-tools](https://github.com/x1xhlol/system-prompts-and-models-of-ai-tools),
130
+ and [langgenius/dify](https://github.com/langgenius/dify).
131
+
132
+ ### Changed
133
+ - **`rules/testing.md`** — the "Async/Event-Loop Systems" guidance gains a **condition-based waiting**
134
+ rule (distilled from superpowers' `condition-based-waiting`, MIT, re-expressed in original,
135
+ stack-agnostic words): never wait on a fixed delay/sleep, poll for the observable condition instead
136
+ (framework waiter or a small `wait_for(condition, timeout)`), and avoid the three flakiness traps
137
+ (no timeout, interval too tight, stale reads). The section previously only said "mock I/O, use
138
+ async/await" — it never addressed timing-dependent test flakiness.
139
+
140
+ ### Not adopted (deliberately, per the assessment)
141
+ - **superpowers** — 14 skills, ~all duplicate existing kit skills (TDD, `systematic-debugging`→
142
+ `debugging-and-error-recovery`, `brainstorming`→`idea-refine`/`doubt-driven-development`/`interview-me`,
143
+ `writing-plans`→`planning-and-task-breakdown`, `executing-plans`→`execute`, `requesting`/`receiving-code-review`→
144
+ `code-review-and-quality`, `using-git-worktrees`/`finishing-a-development-branch`→`git-workflow-and-versioning`/
145
+ `shipping-and-launch`/`pr-raiser`, `verification-before-completion`→`rarv-cycle`+`mandatory-workflow`,
146
+ `dispatching-parallel-agents`→`orchestrator`, `writing-skills`→`using-agent-skills`). Its
147
+ `testing-anti-patterns` was refuted as a near-duplicate of the TDD skill's existing anti-pattern table.
148
+ - **wshobson/agents** — almost entirely language/framework specialists (violate the stack-agnostic core)
149
+ or roles the kit already has (`code-reviewer`, `security-auditor`, `incident-responder`,
150
+ `observability-engineer`, `performance-engineer`, `debugger`, `docs-architect`, `architect-reviewer`,
151
+ database/devops roles), plus out-of-SDLC-scope domains (SEO, business, data-science). No general gap.
152
+ - **anthropics/skills** — document skills are source-available (not open) and out of scope; the example
153
+ skills are out of scope (art/design/comms) or duplicative (`skill-creator`→`using-agent-skills`,
154
+ `frontend-design`→`frontend-ui-engineering`). The `SKILL.md` `name`+`description` convention is already followed.
155
+ - **karpathy/autoresearch** — the closed-loop / single-metric / fixed-budget principles are covered by
156
+ `evals` + `goal-setting-and-monitoring`; the ML-training loop itself is stack-specific. "Iterate the
157
+ instructions, not the code" is what the kit already *is* (config-only).
158
+ - **browser-use** — a runtime library; browser automation is already covered by the opt-in `playwright`
159
+ MCP entry + `browser-testing-with-devtools`/`playwright-verification`. Its "treat DOM/console/network
160
+ as untrusted" guidance is already a verbatim "Security Boundaries" section in `browser-testing-with-devtools`.
161
+ - **x1xhlol/system-prompts** — GPL-3.0 archive of prompts extracted from proprietary tools (double IP
162
+ hazard: copyleft + unresolved vendor rights). Its generic principles (plan-first, tool discipline,
163
+ minimal diffs, verification, concise comms, refusal/secret-safety) are already in `reasoning-techniques`,
164
+ `tool-design`, `mandatory-workflow`, `agent-guardrails`, `human-in-the-loop`, and `code-review-and-quality`.
165
+ Nothing was copied.
166
+ - **langgenius/dify** — a runtime platform (Apache-2.0 *with additional conditions*); its principles
167
+ (ReAct/function-calling agents, inspectable workflow steps, RAG stages, prompt-management feedback)
168
+ are covered by `reasoning-techniques`, `tool-design`, `context-engineering`, `evals`, and `devops-observability`.
169
+
170
+ ## [0.11.0] — 2026-06-15
171
+
172
+ Distils a field review of [repowise](https://github.com/repowise-dev/repowise) (a runtime
173
+ codebase-intelligence engine: dependency graph, git analytics, LLM wiki, code-health biomarkers,
174
+ change-risk, dead code). An adversarial map→verify pass over six candidates found that repowise is
175
+ overwhelmingly a **runtime product** whose config-equivalents claude-kit already ships — so the
176
+ honest, reuse-first result is small: one genuine kit-owned methodology gap and one sanctioned,
177
+ opt-in external-tool reference. No application code, no Docker, nothing bundled.
178
+
179
+ ### Added
180
+ - **`catalog/mcp.yaml`** gains an **opt-in** `repowise` MCP server (codebase intelligence: hotspots,
181
+ change-risk, co-change coupling, dead code). It is **only** written into `.mcp.json` when explicitly
182
+ selected at init — the kit *references* repowise, never bundles it. The label flags that it is
183
+ **AGPL-3.0** and requires installing it separately (`pip install repowise`) and indexing the repo
184
+ once (`repowise init`); the repo path is supplied via the `${REPOWISE_PROJECT_ROOT}` env placeholder
185
+ (same pattern as postgres's `${DATABASE_URL}`), so this is pure catalog data with no resolver change.
186
+
187
+ ### Changed
188
+ - **`skills/code-review-and-quality`** gains a **"Where to Focus: Change Hotspots & Coupling"** section:
189
+ a tool-agnostic, `git log`-only technique for spending review attention where defects cluster —
190
+ churn × complexity hotspots, co-change coupling (hidden dependencies), and single-owner/bus-factor
191
+ files. It notes that a codebase-intelligence MCP (e.g. the optional repowise server) provides the
192
+ same signals precomputed via `get_risk`/`get_health`, but always as **advisory input, never a
193
+ blocking gate**. A matching checklist item was added.
194
+
195
+ ### Not done (deliberately, per the assessment)
196
+ - repowise's engine itself — dependency graph, dashboard (`repowise serve`), deterministic PR bot,
197
+ LLM wiki/RAG, the 25 code-health biomarkers — is runtime and **cannot** be config. Its
198
+ config-equivalents already exist and were **not** duplicated: dead-code hygiene
199
+ (`over-engineering-review` / `code-simplification` / `code-review-and-quality` / `mandatory-workflow`),
200
+ noisy-output compression a.k.a. "distill" (`tool-design` rule + `context-engineering` skill),
201
+ read-an-overview-first (`context-engineering` / `source-driven-development`), ADRs
202
+ (`documentation-and-adrs`), commit provenance (`git-workflow-and-versioning`), and auto-generated
203
+ project instructions (`templates/CLAUDE.md`). No new rule/agent/skill/gate (the hotspot technique is
204
+ advisory, so it enriches a profile-gated skill rather than becoming a mandatory rule).
205
+
7
206
  ## [0.10.0] — 2026-06-15
8
207
 
9
208
  Adds **LLM / AI application-security** guidance distilled from a field review of
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: claude-code-kit
3
- Version: 0.10.0
3
+ Version: 0.11.3
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
@@ -0,0 +1,80 @@
1
+ # claude-kit optional MCP integrations. Selected servers are written into a project-root `.mcp.json`
2
+ # ONLY when chosen at init (default: none). Configs use ${ENV} placeholders — no credentials are ever
3
+ # generated. Fill the referenced env vars (e.g. in your shell or .env) before using a server.
4
+
5
+ version: 1
6
+
7
+ servers:
8
+ github:
9
+ label: "GitHub (issues, PRs, repos)"
10
+ config:
11
+ type: stdio
12
+ command: npx
13
+ args: ["-y", "@modelcontextprotocol/server-github"]
14
+ env:
15
+ GITHUB_PERSONAL_ACCESS_TOKEN: "${GITHUB_PERSONAL_ACCESS_TOKEN}"
16
+ linear:
17
+ label: "Linear (issues)"
18
+ config:
19
+ type: http
20
+ url: "https://mcp.linear.app/mcp"
21
+ jira:
22
+ label: "Jira (issues)"
23
+ config:
24
+ type: stdio
25
+ command: npx
26
+ args: ["-y", "mcp-atlassian"]
27
+ env:
28
+ JIRA_URL: "${JIRA_URL}"
29
+ JIRA_API_TOKEN: "${JIRA_API_TOKEN}"
30
+ postgres:
31
+ label: "PostgreSQL (query the database)"
32
+ config:
33
+ type: stdio
34
+ command: npx
35
+ args: ["-y", "@modelcontextprotocol/server-postgres", "${DATABASE_URL}"]
36
+ mongodb:
37
+ label: "MongoDB (query the database)"
38
+ config:
39
+ type: stdio
40
+ command: npx
41
+ args: ["-y", "mongodb-mcp-server"]
42
+ env:
43
+ MDB_MCP_CONNECTION_STRING: "${MONGODB_URI}"
44
+ playwright:
45
+ label: "Playwright (browser automation / E2E)"
46
+ config:
47
+ type: stdio
48
+ command: npx
49
+ args: ["-y", "@playwright/mcp@latest"]
50
+ docs:
51
+ label: "Docs / Context7 (live library docs)"
52
+ config:
53
+ type: http
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"
70
+ # Repowise (github.com/repowise-dev/repowise) — optional codebase-intelligence engine exposing an
71
+ # MCP server: deterministic hotspots (churn × complexity), change-risk, co-change coupling, dead
72
+ # code, and a dependency graph. NOT bundled (claude-kit only references it): it is AGPL-3.0, so
73
+ # install it separately (`pip install repowise`) and index the repo once (`repowise init`) before
74
+ # first use. Point it at the repo via the env var below (e.g. `export REPOWISE_PROJECT_ROOT=$(pwd)`).
75
+ repowise:
76
+ label: "Repowise codebase intelligence (AGPL-3.0; needs `pip install repowise` + `repowise init`)"
77
+ config:
78
+ type: stdio
79
+ command: repowise
80
+ args: ["mcp", "${REPOWISE_PROJECT_ROOT}", "--transport", "stdio"]
@@ -83,7 +83,7 @@ profiles:
83
83
  - simplification-debt
84
84
  - task-tracker-sync
85
85
  gates: [spec-complete, em-approved, code-review, build-green, test-coverage, security-clear]
86
- hooks: [load-continuity, load-learnings, load-autonomy, skill-routing, learning-detection, guard-rm-rf, guard-push-main, protect-secrets, guard-commit-secrets, warn-shared-modules, warn-llm-io, lint-fix, type-check]
86
+ hooks: [load-continuity, load-learnings, load-autonomy, skill-routing, learning-detection, guard-rm-rf, guard-push-main, guard-destructive-git, protect-secrets, guard-commit-secrets, warn-shared-modules, warn-llm-io, lint-fix, type-check]
87
87
 
88
88
  enterprise:
89
89
  label: "Enterprise — adds DevOps, Observability, full audit + acceptance"
@@ -30,6 +30,7 @@
30
30
  "hooks": [
31
31
  { "type": "command", "command": "CMD=$(jq -r '.tool_input.command'); if echo \"$CMD\" | grep -qE 'rm[[:space:]]+-[^[:space:]]*r[^[:space:]]*f'; then echo 'BLOCKED: rm -rf is disabled by claude-kit. Move to trash or delete specific paths explicitly.' >&2; exit 2; fi" },
32
32
  { "type": "command", "command": "CMD=$(jq -r '.tool_input.command'); if echo \"$CMD\" | grep -qE 'git[[:space:]]+push.*[[:space:]:](main|master)([[:space:]]|$)'; then echo 'BLOCKED: refusing to push to main/master — use a feature branch and a PR.' >&2; exit 2; fi" },
33
+ { "type": "command", "command": "bash \"${CLAUDE_PLUGIN_ROOT}/hooks/scripts/guard-destructive-git.sh\"" },
33
34
  { "type": "command", "command": "bash \"${CLAUDE_PLUGIN_ROOT}/hooks/scripts/guard-secrets.sh\"" }
34
35
  ]
35
36
  },
@@ -0,0 +1,39 @@
1
+ #!/usr/bin/env bash
2
+ # PreToolUse(Bash): BLOCK git commands that irreversibly destroy *uncommitted* work —
3
+ # `git reset --hard`, `git clean -f`, and worktree-wide discards (`git checkout/restore .`).
4
+ #
5
+ # Why a guard (block, exit 2) and not a warn: a PreToolUse advisory here would be theatre — the
6
+ # command would still run and the work would already be gone. So this guard refuses and points at
7
+ # the reversible alternative (`git stash`), exactly like guard-rm-rf points at trash. It completes
8
+ # the guard-rm-rf / guard-push-main destructive-command family with the single most common
9
+ # irreversible agent mistake: nuking its own uncommitted output.
10
+ #
11
+ # Scope is deliberately git-only and conservative — no false positives on `git clean -n` (dry run),
12
+ # plain branch checkouts, or single-file restores. Database wipes (`migrate reset`, `drop database`)
13
+ # stay OUT on purpose: they are legitimate in local dev, so blocking them would be over-reach; they
14
+ # are governed by .claude/rules/risk-classification.md and warn-sensitive-files on migration edits.
15
+ #
16
+ # Degrades to a no-op (fail-open) without jq.
17
+ command -v jq >/dev/null 2>&1 || exit 0
18
+ CMD="$(jq -r '.tool_input.command // empty' 2>/dev/null || true)"
19
+ [ -z "$CMD" ] && exit 0
20
+
21
+ # 1. reset --hard : discards all uncommitted tracked changes
22
+ if printf '%s' "$CMD" | grep -qE 'git[[:space:]]+reset[[:space:]].*--hard'; then
23
+ echo "BLOCKED: 'git reset --hard' discards uncommitted work irreversibly. Run 'git stash' to set it aside (recoverable via 'git stash list'), or 'git stash && git stash drop' to discard deliberately." >&2
24
+ exit 2
25
+ fi
26
+
27
+ # 2. clean -f / --force : permanently deletes untracked files
28
+ if printf '%s' "$CMD" | grep -qE 'git[[:space:]]+clean[[:space:]].*(-[a-zA-Z]*f|--force)'; then
29
+ echo "BLOCKED: 'git clean -f' permanently deletes untracked files. Preview with 'git clean -n' first; to keep them, 'git stash -u'." >&2
30
+ exit 2
31
+ fi
32
+
33
+ # 3. checkout/restore of the whole worktree ('.') : discards every unstaged change at once
34
+ if printf '%s' "$CMD" | grep -qE 'git[[:space:]]+(checkout|restore)[[:space:]]+(.*[[:space:]])?\.([[:space:]]|$)'; then
35
+ echo "BLOCKED: 'git checkout/restore .' discards every unstaged change in the worktree. Run 'git stash' first to keep a recoverable copy (restore a single file by naming it instead of '.')." >&2
36
+ exit 2
37
+ fi
38
+
39
+ exit 0
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "claude-code-kit"
7
- version = "0.10.0"
7
+ version = "0.11.3"
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"
@@ -383,6 +383,16 @@ For systems with async I/O or event loops (Node.js, Python asyncio, Go goroutine
383
383
  - Mock all I/O operations (database, HTTP, file system)
384
384
  - Use the test framework's async support (`async/await` in tests)
385
385
  - Never use blocking I/O in tests for async systems — mock it or use async equivalents
386
+ - **Wait on conditions, never on the clock.** A fixed delay ("sleep" to let the async work finish)
387
+ is the single biggest source of flaky tests — too short and it fails under load, too long and it
388
+ drags out the whole suite. Instead, **poll for the observable condition you actually care about**
389
+ (the value, state, or side effect) and continue the instant it holds:
390
+ - Use your framework's condition waiter — e.g. `waitFor` / `expect.poll` (JS), `Awaitility` (JVM),
391
+ `tenacity` or a polling fixture (Python), `Eventually` (Go) — or a small generic
392
+ `wait_for(condition, timeout)` that re-checks the live value on a short interval.
393
+ - Three mistakes that quietly re-introduce flakiness: (1) **no timeout** — the test hangs forever
394
+ instead of failing; (2) **interval too tight** — a busy-loop that pegs the CPU; (3) **stale
395
+ reads** — re-evaluate the live value on every poll, never assert against a snapshot captured once.
386
396
 
387
397
  ### Multi-Tenant/Authorization Systems
388
398
 
@@ -80,6 +80,21 @@ For detailed profiling and optimization, see `performance-optimization`. Does th
80
80
  - Any missing pagination on list endpoints?
81
81
  - Any large objects created in hot paths?
82
82
 
83
+ ## Where to Focus: Change Hotspots & Coupling
84
+
85
+ You can't give every line equal attention — on a large change or an unfamiliar codebase, spend the most scrutiny where defects actually cluster. The project's own git history surfaces this for free, no special tooling required:
86
+
87
+ - **Hotspots (churn × complexity).** Files that change *often* **and** are *large/complex* carry the most risk. List the frequently-changed files and weight review toward the complex ones among them — a rarely-touched file is usually stable, while a hotspot edited in *this* change deserves extra correctness and test scrutiny.
88
+ ```bash
89
+ # Most-churned files over the last 6 months — pair the top hits with their size/complexity
90
+ git log --since="6 months ago" --name-only --pretty=format: | sort | uniq -c | sort -rn | head -20
91
+ ```
92
+ Use the project's own complexity tooling if it has one; file size is only a rough proxy for complexity.
93
+ - **Co-change coupling (hidden dependencies).** Files historically committed together often share an implicit contract. If this change touches one side of a known pair but not the other, ask whether the coupled file also needs updating — `git log` on a changed file reveals what usually moves with it.
94
+ - **Single-owner / bus-factor files.** Code with one dominant author has had fewer eyes. Treat changes there with extra care and prefer a second reviewer.
95
+
96
+ These are deterministic signals an agent can derive from `git log` alone. If a codebase-intelligence MCP server is configured (e.g. the optional **repowise** server in the catalog), its `get_risk` / `get_health` tools surface the same hotspot, coupling, and change-risk signals precomputed — use them when available, but treat the output as **advisory input to your judgment, never a blocking gate**.
97
+
83
98
  ## Change Sizing
84
99
 
85
100
  Small, focused changes are easier to review, faster to merge, and safer to deploy. Target these sizes:
@@ -272,6 +287,7 @@ Part of code review is dependency review:
272
287
 
273
288
  ### Context
274
289
  - [ ] I understand what this change does and why
290
+ - [ ] For a large/unfamiliar change, I focused review on the riskiest files (hotspots, coupled files)
275
291
 
276
292
  ### Correctness
277
293
  - [ ] Change matches spec/task requirements
@@ -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.10.0"
10
+ __version__ = "0.11.3"
@@ -118,6 +118,12 @@ HOOK_REGISTRY: dict[str, dict[str, Any]] = {
118
118
  "entry": {"type": "command", "command": _PUSH_GUARD},
119
119
  "script": None,
120
120
  },
121
+ "guard-destructive-git": {
122
+ "event": "PreToolUse",
123
+ "matcher": "Bash",
124
+ "entry": _script_entry("guard-destructive-git.sh"),
125
+ "script": "guard-destructive-git.sh",
126
+ },
121
127
  "protect-secrets": {
122
128
  "event": "PreToolUse",
123
129
  "matcher": "Read",
@@ -1,54 +0,0 @@
1
- # claude-kit optional MCP integrations. Selected servers are written into a project-root `.mcp.json`
2
- # ONLY when chosen at init (default: none). Configs use ${ENV} placeholders — no credentials are ever
3
- # generated. Fill the referenced env vars (e.g. in your shell or .env) before using a server.
4
-
5
- version: 1
6
-
7
- servers:
8
- github:
9
- label: "GitHub (issues, PRs, repos)"
10
- config:
11
- type: stdio
12
- command: npx
13
- args: ["-y", "@modelcontextprotocol/server-github"]
14
- env:
15
- GITHUB_PERSONAL_ACCESS_TOKEN: "${GITHUB_PERSONAL_ACCESS_TOKEN}"
16
- linear:
17
- label: "Linear (issues)"
18
- config:
19
- type: http
20
- url: "https://mcp.linear.app/mcp"
21
- jira:
22
- label: "Jira (issues)"
23
- config:
24
- type: stdio
25
- command: npx
26
- args: ["-y", "mcp-atlassian"]
27
- env:
28
- JIRA_URL: "${JIRA_URL}"
29
- JIRA_API_TOKEN: "${JIRA_API_TOKEN}"
30
- postgres:
31
- label: "PostgreSQL (query the database)"
32
- config:
33
- type: stdio
34
- command: npx
35
- args: ["-y", "@modelcontextprotocol/server-postgres", "${DATABASE_URL}"]
36
- mongodb:
37
- label: "MongoDB (query the database)"
38
- config:
39
- type: stdio
40
- command: npx
41
- args: ["-y", "mongodb-mcp-server"]
42
- env:
43
- MDB_MCP_CONNECTION_STRING: "${MONGODB_URI}"
44
- playwright:
45
- label: "Playwright (browser automation / E2E)"
46
- config:
47
- type: stdio
48
- command: npx
49
- args: ["-y", "@playwright/mcp@latest"]
50
- docs:
51
- label: "Docs / Context7 (live library docs)"
52
- config:
53
- type: http
54
- url: "https://mcp.context7.com/mcp"