@qball-inc/the-bulwark 1.1.0 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (222) hide show
  1. package/.claude-plugin/plugin.json +1 -1
  2. package/.gitattributes +48 -0
  3. package/CHANGELOG.md +121 -0
  4. package/LICENSE +21 -21
  5. package/README.md +426 -408
  6. package/agents/bulwark-fix-validator.md +643 -633
  7. package/agents/bulwark-implementer.md +407 -391
  8. package/agents/bulwark-issue-analyzer.md +310 -308
  9. package/agents/bulwark-standards-reviewer.md +305 -221
  10. package/agents/plan-creation-architect.md +325 -323
  11. package/agents/plan-creation-eng-lead.md +354 -352
  12. package/agents/plan-creation-po.md +302 -300
  13. package/agents/plan-creation-qa-critic.md +336 -334
  14. package/agents/product-ideation-competitive-analyzer.md +2 -0
  15. package/agents/product-ideation-idea-validator.md +2 -0
  16. package/agents/product-ideation-market-researcher.md +2 -0
  17. package/agents/product-ideation-pattern-documenter.md +2 -0
  18. package/agents/product-ideation-segment-analyzer.md +2 -0
  19. package/agents/product-ideation-strategist.md +2 -0
  20. package/agents/statusline-setup.md +99 -97
  21. package/hooks/hooks.json +19 -1
  22. package/package.json +6 -5
  23. package/scripts/apply-section.sh +243 -0
  24. package/scripts/hooks/check-template-drift.sh +191 -0
  25. package/scripts/hooks/cleanup-review-registry.sh +106 -0
  26. package/scripts/hooks/cleanup-stale.sh +19 -2
  27. package/scripts/hooks/enforce-quality.sh +2 -2
  28. package/scripts/hooks/lib/coverage_check.py +513 -0
  29. package/scripts/hooks/suggest-pipeline-stop.sh +172 -56
  30. package/scripts/init.sh +56 -0
  31. package/scripts/install-bun.sh +327 -0
  32. package/scripts/update.sh +342 -0
  33. package/skills/anthropic-validator/SKILL.md +497 -607
  34. package/skills/anthropic-validator/references/agents-checklist.md +144 -131
  35. package/skills/anthropic-validator/references/agents-validation.md +90 -0
  36. package/skills/anthropic-validator/references/commands-checklist.md +102 -102
  37. package/skills/anthropic-validator/references/commands-validation.md +42 -0
  38. package/skills/anthropic-validator/references/hooks-checklist.md +160 -151
  39. package/skills/anthropic-validator/references/hooks-validation.md +82 -0
  40. package/skills/anthropic-validator/references/mcp-checklist.md +136 -136
  41. package/skills/anthropic-validator/references/mcp-validation.md +39 -0
  42. package/skills/anthropic-validator/references/plugins-checklist.md +154 -148
  43. package/skills/anthropic-validator/references/plugins-validation.md +68 -0
  44. package/skills/anthropic-validator/references/skills-checklist.md +105 -85
  45. package/skills/anthropic-validator/references/skills-validation.md +79 -0
  46. package/skills/assertion-patterns/SKILL.md +298 -296
  47. package/skills/bug-magnet-data/SKILL.md +286 -284
  48. package/skills/bug-magnet-data/context/cli-args.md +91 -91
  49. package/skills/bug-magnet-data/context/db-query.md +104 -104
  50. package/skills/bug-magnet-data/context/file-contents.md +103 -103
  51. package/skills/bug-magnet-data/context/http-body.md +91 -91
  52. package/skills/bug-magnet-data/context/process-spawn.md +123 -123
  53. package/skills/bug-magnet-data/data/booleans/boundaries.yaml +143 -143
  54. package/skills/bug-magnet-data/data/collections/arrays.yaml +114 -114
  55. package/skills/bug-magnet-data/data/collections/objects.yaml +123 -123
  56. package/skills/bug-magnet-data/data/concurrency/race-conditions.yaml +118 -118
  57. package/skills/bug-magnet-data/data/concurrency/state-machines.yaml +115 -115
  58. package/skills/bug-magnet-data/data/dates/boundaries.yaml +137 -137
  59. package/skills/bug-magnet-data/data/dates/invalid.yaml +132 -132
  60. package/skills/bug-magnet-data/data/dates/timezone.yaml +118 -118
  61. package/skills/bug-magnet-data/data/encoding/charset.yaml +79 -79
  62. package/skills/bug-magnet-data/data/encoding/normalization.yaml +105 -105
  63. package/skills/bug-magnet-data/data/formats/email.yaml +154 -154
  64. package/skills/bug-magnet-data/data/formats/json.yaml +187 -187
  65. package/skills/bug-magnet-data/data/formats/url.yaml +165 -165
  66. package/skills/bug-magnet-data/data/language-specific/javascript.yaml +182 -182
  67. package/skills/bug-magnet-data/data/language-specific/python.yaml +174 -174
  68. package/skills/bug-magnet-data/data/language-specific/rust.yaml +148 -148
  69. package/skills/bug-magnet-data/data/numbers/boundaries.yaml +161 -161
  70. package/skills/bug-magnet-data/data/numbers/precision.yaml +89 -89
  71. package/skills/bug-magnet-data/data/numbers/special.yaml +69 -69
  72. package/skills/bug-magnet-data/data/strings/boundaries.yaml +109 -109
  73. package/skills/bug-magnet-data/data/strings/injection.yaml +208 -208
  74. package/skills/bug-magnet-data/data/strings/special-chars.yaml +190 -190
  75. package/skills/bug-magnet-data/data/strings/unicode.yaml +139 -139
  76. package/skills/bug-magnet-data/references/external-lists.md +115 -115
  77. package/skills/bulwark-brainstorm/SKILL.md +566 -563
  78. package/skills/bulwark-brainstorm/references/at-teammate-prompts.md +95 -60
  79. package/skills/bulwark-brainstorm/references/role-critical-analyst.md +78 -78
  80. package/skills/bulwark-brainstorm/references/role-development-lead.md +66 -66
  81. package/skills/bulwark-brainstorm/references/role-product-delivery-lead.md +79 -79
  82. package/skills/bulwark-brainstorm/references/role-product-manager.md +62 -62
  83. package/skills/bulwark-brainstorm/references/role-project-sme.md +59 -59
  84. package/skills/bulwark-brainstorm/references/role-technical-architect.md +66 -66
  85. package/skills/bulwark-research/SKILL.md +300 -298
  86. package/skills/bulwark-research/references/viewpoint-contrarian.md +63 -63
  87. package/skills/bulwark-research/references/viewpoint-direct-investigation.md +62 -62
  88. package/skills/bulwark-research/references/viewpoint-first-principles.md +65 -65
  89. package/skills/bulwark-research/references/viewpoint-practitioner.md +62 -62
  90. package/skills/bulwark-research/references/viewpoint-prior-art.md +66 -66
  91. package/skills/bulwark-scaffold/SKILL.md +483 -396
  92. package/skills/bulwark-statusline/SKILL.md +166 -161
  93. package/skills/bulwark-statusline/scripts/statusline.sh +1 -1
  94. package/skills/bulwark-verify/SKILL.md +532 -519
  95. package/skills/code-review/SKILL.md +488 -428
  96. package/skills/code-review/examples/anti-patterns/linting.ts +181 -181
  97. package/skills/code-review/examples/anti-patterns/security.ts +91 -91
  98. package/skills/code-review/examples/anti-patterns/standards.ts +195 -195
  99. package/skills/code-review/examples/anti-patterns/type-safety.ts +108 -108
  100. package/skills/code-review/examples/recommended/linting.ts +195 -195
  101. package/skills/code-review/examples/recommended/security.ts +154 -154
  102. package/skills/code-review/examples/recommended/standards.ts +231 -231
  103. package/skills/code-review/examples/recommended/type-safety.ts +181 -181
  104. package/skills/code-review/frameworks/angular.md +218 -218
  105. package/skills/code-review/frameworks/django.md +235 -235
  106. package/skills/code-review/frameworks/express.md +207 -207
  107. package/skills/code-review/frameworks/fastapi.md +326 -0
  108. package/skills/code-review/frameworks/flask.md +298 -298
  109. package/skills/code-review/frameworks/generic.md +146 -146
  110. package/skills/code-review/frameworks/react.md +152 -152
  111. package/skills/code-review/frameworks/vue.md +244 -244
  112. package/skills/code-review/references/linting-patterns.md +221 -221
  113. package/skills/code-review/references/security-patterns.md +125 -125
  114. package/skills/code-review/references/standards-patterns.md +246 -246
  115. package/skills/code-review/references/type-safety-patterns.md +130 -130
  116. package/skills/component-patterns/SKILL.md +133 -131
  117. package/skills/component-patterns/references/pattern-cli-command.md +118 -118
  118. package/skills/component-patterns/references/pattern-database.md +166 -166
  119. package/skills/component-patterns/references/pattern-external-api.md +139 -139
  120. package/skills/component-patterns/references/pattern-file-parser.md +168 -168
  121. package/skills/component-patterns/references/pattern-http-server.md +162 -162
  122. package/skills/component-patterns/references/pattern-process-spawner.md +133 -133
  123. package/skills/continuous-feedback/SKILL.md +329 -327
  124. package/skills/continuous-feedback/references/collect-instructions.md +81 -81
  125. package/skills/continuous-feedback/references/specialize-code-review.md +82 -82
  126. package/skills/continuous-feedback/references/specialize-general.md +98 -98
  127. package/skills/continuous-feedback/references/specialize-test-audit.md +81 -81
  128. package/skills/create-skill/SKILL.md +550 -359
  129. package/skills/create-skill/agents/skill-eval-comparator.md +158 -0
  130. package/skills/create-skill/agents/skill-eval-grader.md +168 -0
  131. package/skills/create-skill/references/agent-conventions.md +194 -194
  132. package/skills/create-skill/references/agent-template.md +195 -195
  133. package/skills/create-skill/references/content-guidance.md +541 -291
  134. package/skills/create-skill/references/decision-framework.md +232 -124
  135. package/skills/create-skill/references/eval-scaffolding.md +468 -0
  136. package/skills/create-skill/references/eval-shape.md +383 -0
  137. package/skills/create-skill/references/scripts-conventions.md +142 -0
  138. package/skills/create-skill/references/template-generator.md +183 -0
  139. package/skills/create-skill/references/template-inversion.md +269 -0
  140. package/skills/create-skill/references/template-pipeline.md +248 -217
  141. package/skills/create-skill/references/template-research.md +234 -210
  142. package/skills/create-skill/references/template-reviewer.md +231 -0
  143. package/skills/create-skill/references/template-script-driven.md +185 -172
  144. package/skills/create-skill/references/template-tool-wrapper.md +199 -0
  145. package/skills/create-skill/scripts/check-description.ts +238 -0
  146. package/skills/create-skill/scripts/check-skill-size.ts +201 -0
  147. package/skills/create-skill/scripts/grade.ts +855 -0
  148. package/skills/create-skill/scripts/run-loop.ts +297 -0
  149. package/skills/create-subagent/SKILL.md +355 -353
  150. package/skills/create-subagent/references/agent-conventions.md +268 -268
  151. package/skills/create-subagent/references/content-guidance.md +232 -232
  152. package/skills/create-subagent/references/decision-framework.md +134 -134
  153. package/skills/create-subagent/references/template-single-agent.md +194 -192
  154. package/skills/fix-bug/SKILL.md +243 -241
  155. package/skills/governance-protocol/SKILL.md +118 -116
  156. package/skills/init/SKILL.md +519 -437
  157. package/skills/init/references/update-askuser-prompts.md +198 -0
  158. package/skills/init/references/update-mode.md +305 -0
  159. package/skills/init/references/update-section-anchor-diff.md +163 -0
  160. package/skills/issue-debugging/SKILL.md +387 -385
  161. package/skills/issue-debugging/references/anti-patterns.md +245 -245
  162. package/skills/issue-debugging/references/debug-report-schema.md +227 -227
  163. package/skills/mock-detection/SKILL.md +528 -511
  164. package/skills/mock-detection/references/false-positive-prevention.md +402 -402
  165. package/skills/mock-detection/references/stub-patterns.md +236 -236
  166. package/skills/pipeline-templates/SKILL.md +262 -215
  167. package/skills/pipeline-templates/references/code-change-workflow.md +277 -277
  168. package/skills/pipeline-templates/references/code-review.md +348 -336
  169. package/skills/pipeline-templates/references/fix-validation.md +421 -421
  170. package/skills/pipeline-templates/references/new-feature.md +335 -335
  171. package/skills/pipeline-templates/references/research-brainstorm.md +161 -161
  172. package/skills/pipeline-templates/references/research-planning.md +257 -257
  173. package/skills/pipeline-templates/references/test-audit.md +389 -389
  174. package/skills/pipeline-templates/references/test-execution-fix.md +238 -238
  175. package/skills/plan-creation/SKILL.md +531 -497
  176. package/skills/plan-to-tasks/SKILL.md +151 -0
  177. package/skills/plan-to-tasks/references/askuserquestion-prompts.md +75 -0
  178. package/skills/plan-to-tasks/references/transform.md +253 -0
  179. package/skills/product-ideation/SKILL.md +2 -0
  180. package/skills/session-handoff/SKILL.md +167 -165
  181. package/skills/session-handoff/references/examples.md +223 -223
  182. package/skills/setup-lsp/SKILL.md +314 -312
  183. package/skills/setup-lsp/references/server-registry.md +85 -85
  184. package/skills/setup-lsp/references/troubleshooting.md +135 -135
  185. package/skills/spec-drift-check/SKILL.md +287 -0
  186. package/skills/spec-drift-check/evals/evals.json +33 -0
  187. package/skills/spec-drift-check/evals/triggers.json +19 -0
  188. package/skills/spec-drift-check/examples/clean-spec.md +52 -0
  189. package/skills/spec-drift-check/examples/expected-output-clean.yaml +96 -0
  190. package/skills/spec-drift-check/examples/expected-output-high-drift.yaml +78 -0
  191. package/skills/spec-drift-check/examples/expected-output-low-drift.yaml +67 -0
  192. package/skills/spec-drift-check/examples/high-drift-spec.md +49 -0
  193. package/skills/spec-drift-check/examples/low-drift-spec.md +39 -0
  194. package/skills/spec-drift-check/references/anti-patterns.md +65 -0
  195. package/skills/spec-drift-check/references/output-template.md +142 -0
  196. package/skills/spec-drift-check/references/step-1-claim-extraction.md +147 -0
  197. package/skills/spec-drift-check/references/step-2-verification-methods.md +203 -0
  198. package/skills/spec-drift-check/references/step-3-categorization.md +105 -0
  199. package/skills/spec-drift-check/references/step-4-plan-adjustment.md +122 -0
  200. package/skills/spec-drift-check/references/step-5-log-template.md +220 -0
  201. package/skills/spec-drift-check/references/step-6-decision-matrix.md +136 -0
  202. package/skills/subagent-output-templating/SKILL.md +417 -415
  203. package/skills/subagent-output-templating/references/examples.md +440 -440
  204. package/skills/subagent-prompting/SKILL.md +366 -364
  205. package/skills/subagent-prompting/references/examples.md +342 -342
  206. package/skills/test-audit/SKILL.md +545 -531
  207. package/skills/test-audit/references/known-limitations.md +41 -41
  208. package/skills/test-audit/references/priority-classification.md +30 -30
  209. package/skills/test-audit/references/prompts/deep-mode-detection.md +83 -83
  210. package/skills/test-audit/references/prompts/synthesis.md +58 -57
  211. package/skills/test-audit/references/rewrite-instructions.md +46 -46
  212. package/skills/test-audit/references/schemas/audit-output.yaml +131 -100
  213. package/skills/test-audit/references/schemas/diagnostic-output.yaml +56 -49
  214. package/skills/test-audit/references/two-gate-logic.md +43 -0
  215. package/skills/test-audit/scripts/data-flow-analyzer.ts +508 -508
  216. package/skills/test-audit/scripts/integration-mock-detector.ts +462 -462
  217. package/skills/test-audit/scripts/skip-detector.ts +211 -211
  218. package/skills/test-audit/scripts/verification-counter.ts +295 -295
  219. package/skills/test-classification/SKILL.md +326 -310
  220. package/skills/test-fixture-creation/SKILL.md +297 -295
  221. package/skills/create-skill/references/template-reference-heavy.md +0 -111
  222. package/skills/create-skill/references/template-simple.md +0 -80
package/README.md CHANGED
@@ -1,408 +1,426 @@
1
- <p align="center">
2
- <img src="docs/assets/bulwark-hero.png" alt="The Bulwark" width="200" />
3
- </p>
4
-
5
- <h1 align="center">The Bulwark</h1>
6
-
7
- <p align="center">
8
- SDLC governance & enforcement for Claude Code.
9
- <br />
10
- Turn stochastic AI output into engineering-grade artifacts.
11
- </p>
12
-
13
- <p align="center">
14
- <a href="#quick-install">Install</a> &middot;
15
- <a href="#how-it-works">How it works</a> &middot;
16
- <a href="#hooks">Hooks</a> &middot;
17
- <a href="#skill-registry">Skills</a> &middot;
18
- <a href="#agent-registry">Agents</a> &middot;
19
- <a href="#planned-enhancements">Roadmap</a>
20
- </p>
21
-
22
- <p align="center">
23
- <a href="https://www.npmjs.com/package/@qball-inc/the-bulwark"><img src="https://img.shields.io/npm/v/@qball-inc/the-bulwark?label=npm" alt="npm version" /></a>
24
- <a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-blue" alt="MIT License" /></a>
25
- </p>
26
-
27
- ---
28
-
29
- ### If you find this useful, please give it a star. It helps others discover the project.
30
-
31
- [![GitHub stars](https://img.shields.io/github/stars/QBall-Inc/the-bulwark?style=social)](https://github.com/QBall-Inc/the-bulwark)
32
-
33
- ## What is The Bulwark?
34
-
35
- The Bulwark is a [Claude Code plugin](https://docs.anthropic.com/en/docs/claude-code/plugins) that adds automated quality enforcement to your development workflow. It ships 28 skills, 15 custom agents, and a set of hooks that run programmatic checks on every code change you make.
36
-
37
- The Bulwark is the culmination of close to 6 weeks and 100 sessions of intense planning & research, co-partnered by Claude and myself. The goal was straightforward: take everything I'd learned running Claude Code over 8 months and package it into a governance layer that actually enforces standards instead of suggesting them.
38
-
39
- ## Who is it for?
40
-
41
- - Builders who want to stay in the driver's seat while giving Claude semi-autonomy over structured workflows
42
- - Teams that need repeatable, auditable AI-assisted development
43
- - Users on Claude Max & Enterprise plans (the multi-agent pipelines are token-intensive)
44
-
45
- ## Who is it not for?
46
-
47
- - While it can be used by those who prefer to run `--dangerously-skip-permissions` on Claude Code, this plugin may work with slight modifications, I do not recommend it
48
- - Users on Claude Free, Pro, or Pro Plus plans. The multi-agent orchestration burns through tokens fast, and rate limits on lower tiers will interrupt pipelines mid-execution.
49
-
50
- ## Why?
51
-
52
- Claude Code is remarkably capable on its own. But capability without consistency is a problem.
53
-
54
- Without guardrails, you get:
55
- - Code that compiles but skips type checks, lint, or tests
56
- - Reviews that miss security issues because a single pass can't cover everything
57
- - Test suites full of mocks that verify function calls instead of real behavior
58
- - Plans and estimates that vary wildly between sessions
59
-
60
- The Bulwark fixes this by making enforcement automatic. Hooks run quality checks after every write. Skills orchestrate multi-agent pipelines where each agent has a single focus. Rules are injected at session start and enforced throughout. You don't have to remember to ask Claude to run tests or check types. It just happens.
61
-
62
- ## Quick install
63
-
64
- Two ways to install. Pick whichever works for you.
65
-
66
- ### Option A: npm
67
-
68
- ```bash
69
- claude /plugin install npm:@qball-inc/the-bulwark
70
- ```
71
-
72
- ### Option B: Marketplace
73
-
74
- First, add the QBall-Inc marketplace (one-time setup):
75
-
76
- ```bash
77
- claude /plugin marketplace add QBall-Inc/plugins-market
78
- ```
79
-
80
- Then install:
81
-
82
- ```bash
83
- claude /plugin install the-bulwark@qball-inc
84
- ```
85
-
86
- ### Post-install
87
-
88
- After installing, restart your Claude Code session and run the init skill:
89
-
90
- ```
91
- /the-bulwark:init
92
- ```
93
-
94
- This walks you through a guided setup: Rules.md injection, CLAUDE.md configuration, and optional tooling (LSP, Justfile scaffolding, statusline). It auto-detects brownfield projects and adjusts accordingly.
95
-
96
- > Having trouble installing? See [FAQ and troubleshooting](#faq-and-troubleshooting). If your issue isn't covered, please [open an issue](https://github.com/QBall-Inc/the-bulwark/issues).
97
-
98
- ## Prerequisites
99
-
100
- | Requirement | Details |
101
- |-------------|---------|
102
- | Claude Code | Latest version recommended. Plugin support required. |
103
- | Node.js | v18+ (for TypeScript tooling and `just` recipes) |
104
- | [just](https://github.com/casey/just) | Command runner used for build/typecheck/lint recipes. `/the-bulwark:init` offers to install it for you. |
105
- | Language Servers | TypeScript (`typescript-language-server`), Python (`pyright`), etc. The LSP setup within `/the-bulwark:init` will offer to install language servers for your project's languages. |
106
- | Platform | Linux, macOS, WSL2. Native Windows is not tested. |
107
- | Claude Plan | Max or Enterprise recommended. Pro Plus works for single-agent skills but will hit rate limits on multi-agent pipelines. |
108
-
109
- ## How it works
110
-
111
- The Bulwark has different orchestration models for coding and non-coding workflows.
112
-
113
- ### Coding workflows
114
-
115
- The coding side operates as a defense-in-depth system with three layers:
116
-
117
- ```mermaid
118
- flowchart TD
119
- A[Session Start] --> B[Inject Governance Protocol]
120
- B --> C[Rules.md Loaded]
121
- C --> D[Claude/You Write Code]
122
- D --> E{PostToolUse Hook}
123
- E -->|typecheck| F{Pass?}
124
- E -->|lint| F
125
- E -->|build| F
126
- F -->|No| G[Blocked - Fix Required]
127
- G --> D
128
- F -->|Yes| H[Change Accepted]
129
- H --> I[Quality Governance Pipeline]
130
- I --> I1[Code Review]
131
- I1 --> I2[Test Audit]
132
- I2 --> I3[Test Fixes]
133
- I3 --> I4[Code Fixes]
134
- I4 --> J{More Work?}
135
- J -->|Yes| D
136
- J -->|No| K[Session Handoff]
137
- K --> L[Session Stop]
138
- ```
139
-
140
- **Layer 1: Rules.** Injected into Claude's context at session start via the `SessionStart` hook. They define coding standards, testing requirements, and verification rules. Claude follows them because they're part of its active instructions, not because you asked nicely.
141
-
142
- **Layer 2: Hooks.** Run after every `Write` or `Edit` operation. The `enforce-quality.sh` hook fires `typecheck`, `lint`, and `build` checks. If any fail, the change is flagged and Claude sees the errors. No silent failures.
143
-
144
- **Layer 3: Pipelines.** Multi-agent workflows orchestrated by skills. A code review spawns 3-4 specialized agents (security, type safety, standards, synthesis). A test audit classifies every test file and checks for mock abuse. Each agent writes structured output to `logs/`, and only a summary returns to the main context.
145
-
146
- ### Non-coding workflows
147
-
148
- The Bulwark also orchestrates research, brainstorming, and planning workflows that don't involve writing code. These run entirely through multi-agent pipelines.
149
-
150
- **Research.** The `/the-bulwark:bulwark-research` skill spawns 5 parallel sub-agents, each researching a different viewpoint on your topic. After a short user interview, agents run concurrently and their findings merge into a single synthesis document. Useful for market research, competitor analysis, or deep dives on technical topics before you commit to a direction.
151
-
152
- **Product Ideation.** The `/the-bulwark:product-ideation` skill spawns a full ideation team (6 agents) after a short user interview: market researcher, idea validator, competitive analyzer, segment analyzer, pattern documenter, and strategist. The pipeline produces a structured BUY/HOLD/SELL recommendation backed by evidence from each stage.
153
-
154
- **Brainstorm & Plan Creation.** These two skills share a dual-mode orchestration pattern. You choose the mode based on how contested the topic is:
155
-
156
- ```mermaid
157
- flowchart TD
158
- A[User Interview] --> B{Mode Selection}
159
- B -->|Sequential| C[Task Tool Pipeline]
160
- C --> C1[Role 1] --> C2[Role 2] --> C3[Role 3] --> C4[Critic]
161
- C4 --> E[Structured Output]
162
- B -->|Agent Teams| D[Peer Debate]
163
- D --> D1[All Roles + Critic Run Concurrently]
164
- D1 --> D2[Real-time Collaboration & Challenge]
165
- D2 --> E
166
- ```
167
-
168
- **Sequential mode.** Each role writes its output, then the next role reads it and builds on it. Structured, predictable, lower token cost. Best for well-understood topics where roles won't disagree much.
169
-
170
- **Agent Teams mode.** All roles run concurrently and debate in real-time. The Critic challenges assumptions as they form, not after they've hardened. Better convergence on contested topics, more token-intensive. Best for novel problems where you want genuine adversarial pressure on every claim.
171
-
172
- ## Conventions
173
-
174
- The Bulwark enforces a specific set of conventions through `Rules.md`. When you run `/the-bulwark:init`, it installs these rules into your project at `.claude/rules/rules.md` where Claude Code automatically loads them every session. It also creates a `CLAUDE.md` with project-specific instructions (backing up any existing one first), and lets you choose scope — project-level (checked into the repo, shared with your team) or user-level (local to your machine, not committed).
175
-
176
- The rules cover four areas:
177
-
178
- **Coding Standards (CS1-CS4).** Single responsibility, no magic, fail fast, clean code. Every function does one thing. No hidden dependencies. Validate inputs at boundaries. Delete dead code instead of commenting it out.
179
-
180
- **Testing Rules (T1-T4).** Never mock the system under test. Verify observable output, not function calls. Integration tests use real systems. Write tests with implementation, not after. These four rules alone eliminate the most common failure modes in AI-generated test suites.
181
-
182
- **Verification Rules (V1-V4).** Never declare a fix complete without running it. Use `just` for all execution. Check logs for full output before attempting fixes. Verify compilation after every change.
183
-
184
- **Issue Debugging (ID1-ID3).** Understand the root cause before fixing. Rank complexity. Run the right level of tests. Document the debugging journey.
185
-
186
- Rules are not advisory. They're injected as binding instructions. Claude treats them as contract obligations, not suggestions.
187
-
188
- ## Hooks
189
-
190
- The Bulwark installs four hooks that run automatically. No manual invocation needed.
191
-
192
- | Hook | Event | Trigger | Timeout | What It Does |
193
- |------|-------|---------|---------|--------------|
194
- | `enforce-quality.sh` | PostToolUse | Every `Write` or `Edit` on code files | 60s | Runs `just typecheck`, `just lint`, `just build`. Flags failures to Claude with full error output. Skips non-code files (`tmp/`, `logs/`, `.claude/`, `docs/`). |
195
- | `inject-protocol.sh` | SessionStart | Every new session | 5s | Injects the governance protocol into Claude's context. Loads Rules.md, activates quality enforcement, displays the activation banner. |
196
- | `cleanup-stale.sh` | SessionStart | Every new session | 30s | Deletes files older than 10 days from `logs/` and `tmp/`. Preserves `.gitkeep` files. Keeps your repo from accumulating stale pipeline output. |
197
- | `track-pipeline-start.sh` | SubagentStart | Any sub-agent spawned | 30s | Logs pipeline invocation metadata (agent name, timestamp, parent context) for observability. |
198
- | `track-pipeline-stop.sh` | SubagentStop | Any sub-agent exits | 30s | Logs pipeline completion metadata (agent name, duration, exit status) for observability. |
199
-
200
- All hooks use `${CLAUDE_PLUGIN_ROOT}` for path resolution, so they work regardless of where the plugin is installed.
201
-
202
- ## Skill registry
203
-
204
- The Bulwark ships 28 skills. Each one is invoked with `/the-bulwark:{skill-name}` or triggered automatically by hooks and pipelines. Skills are grouped by what they do.
205
-
206
- ### Product & strategy
207
-
208
- Skills for ideation, research, and planning. These don't write code. They run multi-agent pipelines that produce structured documents.
209
-
210
- | Skill | What it does | Sub-agents |
211
- |-------|-------------|------------|
212
- | [product-ideation](docs/skills/product-ideation.md) | Evaluates product ideas through a 6-agent pipeline. Produces a BUY/HOLD/SELL recommendation with market analysis, competitive intelligence, and segment targeting. | [market-researcher](docs/agents/product-ideation-market-researcher.md), [idea-validator](docs/agents/product-ideation-idea-validator.md), [competitive-analyzer](docs/agents/product-ideation-competitive-analyzer.md), [segment-analyzer](docs/agents/product-ideation-segment-analyzer.md), [pattern-documenter](docs/agents/product-ideation-pattern-documenter.md), [strategist](docs/agents/product-ideation-strategist.md) |
213
- | [bulwark-research](docs/skills/bulwark-research.md) | Spawns 5 parallel sub-agents to research different viewpoints on a topic. Merges findings into a synthesis document. | 5 parallel Sonnet agents (dynamically created) |
214
- | [bulwark-brainstorm](docs/skills/bulwark-brainstorm.md) | Dual-mode brainstorming. `--scoped` runs 5 roles sequentially via Task tool. `--exploratory` runs 4 roles concurrently via Agent Teams with real-time peer debate. | Sequential: 5 role agents. Agent Teams: 4 concurrent agents + Critic. |
215
- | [plan-creation](docs/skills/plan-creation.md) | Creates implementation plans with a 4-role scrum team. Produces phases, workpackages, tasks, and delivery schedules. Dual-mode (Task tool or Agent Teams). | [PO](docs/agents/plan-creation-po.md), [Architect](docs/agents/plan-creation-architect.md), [Eng Lead](docs/agents/plan-creation-eng-lead.md), [QA/Critic](docs/agents/plan-creation-qa-critic.md) |
216
-
217
- ### Code quality
218
-
219
- Skills that review, test, and fix code. These are the enforcement layer that runs after you write code.
220
-
221
- | Skill | What it does | Sub-agents |
222
- |-------|-------------|------------|
223
- | [code-review](docs/skills/code-review.md) | Three-phase code review: static tools, LLM judgment across 3-4 aspects (security, type safety, standards), and diagnostic log. | 3-4 Sonnet agents (aspect-specific) |
224
- | [test-audit](docs/skills/test-audit.md) | Audits test suites for T1-T4 violations using AST analysis, mock detection, and multi-stage synthesis. Triggers automatic rewrites when quality gates fail. | Haiku (classification), Sonnet (mock detection, synthesis) |
225
- | [fix-bug](docs/skills/fix-bug.md) | 5-stage fix validation pipeline: analyze, implement, write tests, audit tests, validate fix. | [issue-analyzer](docs/agents/bulwark-issue-analyzer.md), [implementer](docs/agents/bulwark-implementer.md), [fix-validator](docs/agents/bulwark-fix-validator.md) |
226
- | [issue-debugging](docs/skills/issue-debugging.md) | Systematic debugging methodology with root cause analysis, impact mapping, tiered validation plans, and confidence assessment. | [issue-analyzer](docs/agents/bulwark-issue-analyzer.md), [fix-validator](docs/agents/bulwark-fix-validator.md) |
227
- | [mock-detection](docs/skills/mock-detection.md) | Deep mock appropriateness analysis. Determines whether mocks in a test file are legitimate or T1-T4 violations. | Sonnet agent (analysis) |
228
- | [test-classification](docs/skills/test-classification.md) | Classifies test files by type (unit, integration, E2E) and identifies which files need deeper mock analysis. | Haiku agents (batch classification) |
229
- | [test-fixture-creation](docs/skills/test-fixture-creation.md) | Creates unbiased test fixtures using a Sonnet agent that can't read the implementation. Fixtures integrate with project infrastructure and hook automation. | Sonnet agent (fixture generation) |
230
- | [bulwark-verify](docs/skills/bulwark-verify.md) | Generates runnable verification scripts for components by orchestrating assertion-patterns and component-patterns. | Sonnet agent (script generation) |
231
- | [assertion-patterns](docs/skills/assertion-patterns.md) | Reference for transforming T1-T4 violating tests into real output verification. Loaded by other skills as context. | None (reference skill) |
232
- | [component-patterns](docs/skills/component-patterns.md) | Per-component-type verification approaches. Loaded by bulwark-verify as context for generating verification scripts. | None (reference skill) |
233
- | [bug-magnet-data](docs/skills/bug-magnet-data.md) | Curated edge case test data for boundary testing. Provides pre-organized data by type (dates, strings, numbers, Unicode, etc.) for test generation. | None (reference skill) |
234
-
235
- ### Project setup & tooling
236
-
237
- Skills for initializing projects, configuring tooling, and managing sessions.
238
-
239
- | Skill | What it does | Sub-agents |
240
- |-------|-------------|------------|
241
- | [init](docs/skills/init.md) | Guided project initialization. Installs Rules.md, creates CLAUDE.md, offers LSP setup, Justfile scaffolding, and statusline configuration. Auto-detects brownfield projects. | None (orchestrates other skills) |
242
- | [bulwark-scaffold](docs/skills/bulwark-scaffold.md) | Generates Justfile with build/typecheck/lint recipes, creates logs directory, and optionally configures hooks. | None |
243
- | [setup-lsp](docs/skills/setup-lsp.md) | Configures Language Server Protocol integration. Detects project languages, offers to install language servers, verifies post-restart initialization. | None |
244
- | [bulwark-statusline](docs/skills/bulwark-statusline.md) | Configures the Claude Code status line to show token usage and cost in real-time. Supports preset switching and customization. | [statusline-setup](docs/agents/statusline-setup.md) |
245
- | [session-handoff](docs/skills/session-handoff.md) | Creates session handoff documents for context transfer between sessions. Ensures proper YAML headers, LF line endings, and complete documentation of progress and decisions. | None |
246
- | [governance-protocol](docs/skills/governance-protocol.md) | The governance protocol injected at session start via the SessionStart hook. Not invoked directly. | None |
247
-
248
- ### Meta skills
249
-
250
- Skills for building more skills, orchestrating pipelines, and improving existing workflows.
251
-
252
- | Skill | What it does | Sub-agents |
253
- |-------|-------------|------------|
254
- | [create-skill](docs/skills/create-skill.md) | Generates Claude Code skills from requirements. Runs an adaptive interview, classifies complexity, and produces SKILL.md with references and templates. | Sonnet agent (validation) |
255
- | [create-subagent](docs/skills/create-subagent.md) | Generates single-purpose sub-agents for use via the Task tool. Produces agent definition with diagnostics and permissions setup. | Sonnet agent (validation) |
256
- | [continuous-feedback](docs/skills/continuous-feedback.md) | Parses past session learnings and memory files to identify improvement targets. Proposes concrete skill/agent modifications with copy-paste ready patches. | Sonnet agents (analysis, proposal generation) |
257
- | [anthropic-validator](docs/skills/anthropic-validator.md) | Validates Claude Code assets (skills, hooks, agents, plugins) against official Anthropic standards. Fetches latest docs dynamically. | [standards-reviewer](docs/agents/bulwark-standards-reviewer.md) |
258
- | [pipeline-templates](docs/skills/pipeline-templates.md) | Pre-defined workflow templates for multi-agent orchestration. Provides code review, fix validation, test audit, new feature, and research pipelines. | None (reference skill) |
259
- | [subagent-prompting](docs/skills/subagent-prompting.md) | Template for structured sub-agent invocation using 4-part prompting (GOAL/CONSTRAINTS/CONTEXT/OUTPUT) and F# pipeline notation. | None (reference skill) |
260
- | [subagent-output-templating](docs/skills/subagent-output-templating.md) | Template for structured sub-agent output including YAML log format and task completion reports. | None (reference skill) |
261
-
262
- ## Agent registry
263
-
264
- Agents are single-purpose sub-agents spawned by skills via the Task tool. You don't invoke them directly. Each agent has a defined model, reads input from a previous pipeline stage, and writes structured output to `logs/`.
265
-
266
- ### Fix validation agents
267
-
268
- | Agent | Model | Purpose | Invoked by |
269
- |-------|-------|---------|------------|
270
- | [bulwark-issue-analyzer](docs/agents/bulwark-issue-analyzer.md) | Sonnet | Root cause analysis, impact mapping, debug report with tiered validation plan | [fix-bug](docs/skills/fix-bug.md), [issue-debugging](docs/skills/issue-debugging.md) |
271
- | [bulwark-implementer](docs/agents/bulwark-implementer.md) | Opus | Implements fixes and features. Runs implementer-quality.sh after every write. | [fix-bug](docs/skills/fix-bug.md) |
272
- | [bulwark-fix-validator](docs/agents/bulwark-fix-validator.md) | Sonnet | Executes tiered test plan from the issue analyzer's debug report. Assesses fix confidence. | [fix-bug](docs/skills/fix-bug.md), [issue-debugging](docs/skills/issue-debugging.md) |
273
- | [bulwark-standards-reviewer](docs/agents/bulwark-standards-reviewer.md) | Sonnet | Validates Claude Code assets against official Anthropic standards. Produces severity-rated findings. | [anthropic-validator](docs/skills/anthropic-validator.md) |
274
-
275
- ### Plan creation agents
276
-
277
- | Agent | Model | Purpose | Invoked by |
278
- |-------|-------|---------|------------|
279
- | [plan-creation-po](docs/agents/plan-creation-po.md) | Opus | Product Owner. Explores codebase, produces requirements analysis with scope, acceptance criteria, and user value. | [plan-creation](docs/skills/plan-creation.md) |
280
- | [plan-creation-architect](docs/agents/plan-creation-architect.md) | Opus | Technical Architect. Analyzes system design, component decomposition, integration points, and technical trade-offs. | [plan-creation](docs/skills/plan-creation.md) |
281
- | [plan-creation-eng-lead](docs/agents/plan-creation-eng-lead.md) | Sonnet | Engineering & Delivery Lead. Produces WBS, effort estimates, dependency graphs, milestones, and risk registers. | [plan-creation](docs/skills/plan-creation.md) |
282
- | [plan-creation-qa-critic](docs/agents/plan-creation-qa-critic.md) | Sonnet | QA / Critic. Adversarially challenges assumptions, stress-tests estimates, issues APPROVE/MODIFY/REJECT verdict. | [plan-creation](docs/skills/plan-creation.md) |
283
-
284
- ### Product ideation agents
285
-
286
- | Agent | Model | Purpose | Invoked by |
287
- |-------|-------|---------|------------|
288
- | [product-ideation-market-researcher](docs/agents/product-ideation-market-researcher.md) | Sonnet | Researches market size, growth trends, key players, regulatory landscape. Produces TAM/SAM/SOM estimates. | [product-ideation](docs/skills/product-ideation.md) |
289
- | [product-ideation-idea-validator](docs/agents/product-ideation-idea-validator.md) | Sonnet | Assesses feasibility, timing, uniqueness, problem-solution fit. Produces PASS/CONDITIONAL/FAIL verdict. | [product-ideation](docs/skills/product-ideation.md) |
290
- | [product-ideation-competitive-analyzer](docs/agents/product-ideation-competitive-analyzer.md) | Sonnet | Profiles competitors, analyzes positioning and pricing, identifies market gaps using Porter's Five Forces. | [product-ideation](docs/skills/product-ideation.md) |
291
- | [product-ideation-segment-analyzer](docs/agents/product-ideation-segment-analyzer.md) | Sonnet | Identifies target user segments, builds personas using Jobs-to-be-Done, estimates willingness to pay. | [product-ideation](docs/skills/product-ideation.md) |
292
- | [product-ideation-pattern-documenter](docs/agents/product-ideation-pattern-documenter.md) | Sonnet | Documents success/failure patterns, competitor trajectories, and opportunity gaps from competitive data. | [product-ideation](docs/skills/product-ideation.md) |
293
- | [product-ideation-strategist](docs/agents/product-ideation-strategist.md) | Sonnet | Final synthesis. Produces BUY/HOLD/SELL recommendation with confidence level and actionable next steps. | [product-ideation](docs/skills/product-ideation.md) |
294
-
295
- ### Utility agents
296
-
297
- | Agent | Model | Purpose | Invoked by |
298
- |-------|-------|---------|------------|
299
- | [statusline-setup](docs/agents/statusline-setup.md) | Haiku | Handles settings.json updates and config file placement for statusline configuration. | [bulwark-statusline](docs/skills/bulwark-statusline.md) |
300
-
301
- ## FAQ and troubleshooting
302
-
303
- ### Plugin clone fails with "Permission denied (publickey)"
304
-
305
- If you see this error when installing from the marketplace:
306
-
307
- ```
308
- git@github.com: Permission denied (publickey).
309
- fatal: Could not read from remote repository.
310
- ```
311
-
312
- Your git is defaulting to SSH for GitHub, but you don't have SSH keys configured. Fix by telling git to use HTTPS:
313
-
314
- ```bash
315
- git config --global url."https://github.com/".insteadOf "git@github.com:"
316
- ```
317
-
318
- Then retry the install. This applies globally and redirects all GitHub SSH URLs to HTTPS.
319
-
320
- ### Hooks aren't firing after install
321
-
322
- Restart your Claude Code session. Hooks only load at session start. If they still don't fire, check that the plugin is installed:
323
-
324
- ```bash
325
- claude /plugin list
326
- ```
327
-
328
- If `the-bulwark` appears in the list but hooks still don't run, check `hooks/hooks.json` exists in the plugin directory. The `${CLAUDE_PLUGIN_ROOT}` variable must resolve to the plugin's install location.
329
-
330
- ### Quality gate keeps failing on non-code files
331
-
332
- The `enforce-quality.sh` hook skips files in `tmp/`, `logs/`, `.claude/`, `docs/`, and `node_modules/`. If you're editing a file outside these directories that isn't code (like a config file), the hook may still trigger. This is by design. If the failure is a false positive, check that your `Justfile` recipes handle the file type correctly.
333
-
334
- ### Multi-agent pipelines time out or get interrupted
335
-
336
- This usually means you're hitting rate limits on your Claude plan. The product-ideation pipeline spawns 6 agents sequentially, and plan-creation can spawn 4. Each agent consumes tokens independently. Max and Enterprise plans handle this without issues. Pro Plus will work for single-agent skills but may hit limits on pipelines with 3+ agents.
337
-
338
- ### `just` command not found
339
-
340
- The `/the-bulwark:init` skill offers to install `just` for you during setup. If you skipped that step, install it manually:
341
-
342
- ```bash
343
- curl --proto '=https' --tlsv1.2 -sSf https://just.systems/install.sh | bash -s -- --to /usr/local/bin
344
- ```
345
-
346
- Or via your package manager: `brew install just` (macOS), `cargo install just` (Rust), `apt install just` (Debian/Ubuntu).
347
-
348
- ### Rules.md conflicts with my existing project rules
349
-
350
- The Bulwark installs its rules at `.claude/rules/rules.md`. If you already have rules in `.claude/rules/`, they won't be overwritten. The Bulwark's rules and your project rules both load at session start and coexist. If there's a conflict, your project-specific CLAUDE.md instructions take precedence since they load after the rules.
351
-
352
- ### Can I use this with other Claude Code plugins?
353
-
354
- Yes. The Bulwark doesn't interfere with other plugins. Its hooks use `${CLAUDE_PLUGIN_ROOT}` for path resolution, so there's no collision. The only potential issue is if another plugin also installs PostToolUse hooks on Write/Edit, in which case both hooks run (Claude Code runs all matching hooks, not just the first one).
355
-
356
- ### How do I update the plugin?
357
-
358
- Use the plugin update command:
359
-
360
- ```bash
361
- claude plugin update the-bulwark@qball-inc
362
- ```
363
-
364
- You can also enable auto-updates per marketplace. Open `/plugin`, go to the Marketplaces tab, select the QBall-Inc marketplace, and toggle auto-update on. Note that auto-update is disabled by default for third-party marketplaces.
365
-
366
- If you installed via npm, the same update command works. Claude Code resolves the source from the installed plugin metadata.
367
-
368
- Your project's Rules.md and CLAUDE.md are not affected by updates since they live in your project repo, not in the plugin directory.
369
-
370
- ### The statusline shows token usage but not cost
371
-
372
- Cost tracking depends on your Claude Code version and plan. If cost data isn't available from the API, the statusline falls back to showing token counts only. Run `/the-bulwark:bulwark-statusline` to reconfigure or switch presets.
373
-
374
- ### I want to disable a specific hook temporarily
375
-
376
- You can't disable individual plugin hooks without modifying `hooks/hooks.json` in the plugin directory. But you can work around it by adding the file path to the skip list in `enforce-quality.sh`, or by working in a directory that the hook already skips (`tmp/`, `logs/`, etc.).
377
-
378
- ---
379
-
380
- ## Planned enhancements
381
-
382
- These are on the roadmap. No timeline commitments, but they represent the direction The Bulwark is heading.
383
-
384
- **Evaluation framework.** Skills and agents are the new code layer in agentic development. They need the same rigor as code: versioned, tested, measured. We're building two new skills — `create-eval` and `run-eval` — that generate and execute evaluations for any Claude Code asset. Define test prompts, expected outputs, and grading criteria. Run them across skill versions to catch regressions. Measure conversational invocation success, checklist compliance, and output quality with structured grading reports.
385
-
386
- **Asset baselines.** Once the eval skills exist, we'll baseline all 28 skills and 15 agents with versioned evaluations. Every asset gets a `version` field in its frontmatter and a set of evals that serve as regression references. Future changes get measured against these baselines automatically.
387
-
388
- **Enterprise traceability.** Enhanced logging with version stamps (skill version, model, rules hash) in every sub-agent log header. Run manifests that tie together all artifacts from a pipeline execution into a single auditable record. Decision lineage: trace any output back to which model, skill version, and rules produced it.
389
-
390
- **Security pattern updates.** A helper skill that pulls the latest vulnerability patterns and edge cases into the test-audit pipeline. Keeps your security coverage current without manual curation.
391
-
392
- **Framework-specific Justfiles.** Auto-detect your project's framework (Next.js, Django, FastAPI, Actix, etc.) and generate tailored `just` recipes with the right build, test, and lint commands out of the box.
393
-
394
- **Agent memory.** Persistent memory for sub-agents across invocations. Agents remember patterns from previous runs — common failure modes, project-specific conventions, recurring issues — and apply that context automatically.
395
-
396
- **Smarter pipeline routing.** Better orchestration for review-then-fix workflows. When a code review finds issues, automatically route to fix validation without manual intervention. Tighter feedback loops between review, fix, and retest stages.
397
-
398
- ---
399
-
400
- ## License
401
-
402
- [MIT](LICENSE)
403
-
404
- ---
405
-
406
- ### If you find this useful, please give it a star. It helps others discover the project.
407
-
408
- [![GitHub stars](https://img.shields.io/github/stars/QBall-Inc/the-bulwark?style=social)](https://github.com/QBall-Inc/the-bulwark)
1
+ <p align="center">
2
+ <img src="docs/assets/bulwark-hero.png" alt="The Bulwark" width="200" />
3
+ </p>
4
+
5
+ <h1 align="center">The Bulwark</h1>
6
+
7
+ <p align="center">
8
+ SDLC governance & enforcement for Claude Code.
9
+ <br />
10
+ Turn stochastic AI output into engineering-grade artifacts.
11
+ </p>
12
+
13
+ <p align="center">
14
+ <a href="#quick-install">Install</a> &middot;
15
+ <a href="#how-it-works">How it works</a> &middot;
16
+ <a href="#hooks">Hooks</a> &middot;
17
+ <a href="#skill-registry">Skills</a> &middot;
18
+ <a href="#agent-registry">Agents</a> &middot;
19
+ <a href="#planned-enhancements">Roadmap</a>
20
+ </p>
21
+
22
+ <p align="center">
23
+ <a href="https://www.npmjs.com/package/@qball-inc/the-bulwark"><img src="https://img.shields.io/npm/v/@qball-inc/the-bulwark?label=npm" alt="npm version" /></a>
24
+ <a href="https://github.com/QBall-Inc/the-bulwark/releases/latest"><img src="https://img.shields.io/github/v/release/QBall-Inc/the-bulwark?label=release" alt="Latest GitHub release" /></a>
25
+ <a href="CHANGELOG.md"><img src="https://img.shields.io/badge/changelog-keep%20a%20changelog-orange" alt="Changelog" /></a>
26
+ <a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-blue" alt="MIT License" /></a>
27
+ </p>
28
+
29
+ ---
30
+
31
+ ### If you find this useful, please give it a star. It helps others discover the project.
32
+
33
+ [![GitHub stars](https://img.shields.io/github/stars/QBall-Inc/the-bulwark?style=social)](https://github.com/QBall-Inc/the-bulwark)
34
+
35
+ ## What is The Bulwark?
36
+
37
+ The Bulwark is a [Claude Code plugin](https://docs.anthropic.com/en/docs/claude-code/plugins) that adds automated quality enforcement to your development workflow. It ships 30 skills, 15 custom agents, and a set of hooks that run programmatic checks on every code change you make.
38
+
39
+ The Bulwark is the culmination of close to 6 weeks and 100 sessions of intense planning & research, co-partnered by Claude and myself. The goal was straightforward: take everything I'd learned running Claude Code over 8 months and package it into a governance layer that actually enforces standards instead of suggesting them.
40
+
41
+ ## Who is it for?
42
+
43
+ - Builders who want to stay in the driver's seat while giving Claude semi-autonomy over structured workflows
44
+ - Teams that need repeatable, auditable AI-assisted development
45
+ - Users on Claude Max & Enterprise plans (the multi-agent pipelines are token-intensive)
46
+
47
+ ## Who is it not for?
48
+
49
+ - While it can be used by those who prefer to run `--dangerously-skip-permissions` on Claude Code, this plugin may work with slight modifications, I do not recommend it
50
+ - Users on Claude Free, Pro, or Pro Plus plans. The multi-agent orchestration burns through tokens fast, and rate limits on lower tiers will interrupt pipelines mid-execution.
51
+
52
+ ## Why?
53
+
54
+ Claude Code is remarkably capable on its own. But capability without consistency is a problem.
55
+
56
+ Without guardrails, you get:
57
+ - Code that compiles but skips type checks, lint, or tests
58
+ - Reviews that miss security issues because a single pass can't cover everything
59
+ - Test suites full of mocks that verify function calls instead of real behavior
60
+ - Plans and estimates that vary wildly between sessions
61
+
62
+ The Bulwark fixes this by making enforcement automatic. Hooks run quality checks after every write. Skills orchestrate multi-agent pipelines where each agent has a single focus. Rules are injected at session start and enforced throughout. You don't have to remember to ask Claude to run tests or check types. It just happens.
63
+
64
+ ## Quick install
65
+
66
+ Two ways to install. Pick whichever works for you.
67
+
68
+ ### Option A: npm
69
+
70
+ ```bash
71
+ claude /plugin install npm:@qball-inc/the-bulwark
72
+ ```
73
+
74
+ ### Option B: Marketplace
75
+
76
+ First, add the QBall-Inc marketplace (one-time setup):
77
+
78
+ ```bash
79
+ claude /plugin marketplace add QBall-Inc/plugins-market
80
+ ```
81
+
82
+ Then install:
83
+
84
+ ```bash
85
+ claude /plugin install the-bulwark@qball-inc
86
+ ```
87
+
88
+ ### Post-install
89
+
90
+ After installing, restart your Claude Code session and run the init skill:
91
+
92
+ ```
93
+ /the-bulwark:init
94
+ ```
95
+
96
+ This walks you through a guided setup: Rules.md injection, CLAUDE.md configuration, and optional tooling (LSP, Justfile scaffolding, statusline). It auto-detects brownfield projects and adjusts accordingly.
97
+
98
+ > Having trouble installing? See [FAQ and troubleshooting](#faq-and-troubleshooting). If your issue isn't covered, please [open an issue](https://github.com/QBall-Inc/the-bulwark/issues).
99
+
100
+ ## Prerequisites
101
+
102
+ | Requirement | Details |
103
+ |-------------|---------|
104
+ | Claude Code | Latest version recommended. Plugin support required. |
105
+ | Node.js | v18+ (for TypeScript tooling and `just` recipes) |
106
+ | [just](https://github.com/casey/just) | Command runner used for build/typecheck/lint recipes. `/the-bulwark:init` offers to install it for you. |
107
+ | Language Servers | TypeScript (`typescript-language-server`), Python (`pyright`), etc. The LSP setup within `/the-bulwark:init` will offer to install language servers for your project's languages. |
108
+ | Platform | Linux, macOS, WSL2. Native Windows is not tested. |
109
+ | Claude Plan | Max or Enterprise recommended. Pro Plus works for single-agent skills but will hit rate limits on multi-agent pipelines. |
110
+
111
+ ## How it works
112
+
113
+ The Bulwark has different orchestration models for coding and non-coding workflows.
114
+
115
+ ### Coding workflows
116
+
117
+ The coding side operates as a defense-in-depth system with three layers:
118
+
119
+ ```mermaid
120
+ flowchart TD
121
+ A[Session Start] --> B[Inject Governance Protocol]
122
+ B --> C[Rules.md Loaded]
123
+ C --> D[Claude/You Write Code]
124
+ D --> E{PostToolUse Hook}
125
+ E -->|typecheck| F{Pass?}
126
+ E -->|lint| F
127
+ E -->|build| F
128
+ F -->|No| G[Blocked - Fix Required]
129
+ G --> D
130
+ F -->|Yes| H[Change Accepted]
131
+ H --> I[Quality Governance Pipeline]
132
+ I --> I1[Code Review]
133
+ I1 --> I2[Test Audit]
134
+ I2 --> I3[Test Fixes]
135
+ I3 --> I4[Code Fixes]
136
+ I4 --> J{More Work?}
137
+ J -->|Yes| D
138
+ J -->|No| K[Session Handoff]
139
+ K --> L[Session Stop]
140
+ ```
141
+
142
+ **Layer 1: Rules.** Injected into Claude's context at session start via the `SessionStart` hook. They define coding standards, testing requirements, and verification rules. Claude follows them because they're part of its active instructions, not because you asked nicely.
143
+
144
+ **Layer 2: Hooks.** Run after every `Write` or `Edit` operation. The `enforce-quality.sh` hook fires `typecheck`, `lint`, and `build` checks. If any fail, the change is flagged and Claude sees the errors. No silent failures.
145
+
146
+ **Layer 3: Pipelines.** Multi-agent workflows orchestrated by skills. A code review spawns 3-4 specialized agents (security, type safety, standards, synthesis). A test audit classifies every test file and checks for mock abuse. Each agent writes structured output to `logs/`, and only a summary returns to the main context.
147
+
148
+ ### Non-coding workflows
149
+
150
+ The Bulwark also orchestrates research, brainstorming, and planning workflows that don't involve writing code. These run entirely through multi-agent pipelines.
151
+
152
+ **Research.** The `/the-bulwark:bulwark-research` skill spawns 5 parallel sub-agents, each researching a different viewpoint on your topic. After a short user interview, agents run concurrently and their findings merge into a single synthesis document. Useful for market research, competitor analysis, or deep dives on technical topics before you commit to a direction.
153
+
154
+ **Product Ideation.** The `/the-bulwark:product-ideation` skill spawns a full ideation team (6 agents) after a short user interview: market researcher, idea validator, competitive analyzer, segment analyzer, pattern documenter, and strategist. The pipeline produces a structured BUY/HOLD/SELL recommendation backed by evidence from each stage.
155
+
156
+ **Brainstorm & Plan Creation.** These two skills share a dual-mode orchestration pattern. You choose the mode based on how contested the topic is:
157
+
158
+ ```mermaid
159
+ flowchart TD
160
+ A[User Interview] --> B{Mode Selection}
161
+ B -->|Sequential| C[Task Tool Pipeline]
162
+ C --> C1[Role 1] --> C2[Role 2] --> C3[Role 3] --> C4[Critic]
163
+ C4 --> E[Structured Output]
164
+ B -->|Agent Teams| D[Peer Debate]
165
+ D --> D1[All Roles + Critic Run Concurrently]
166
+ D1 --> D2[Real-time Collaboration & Challenge]
167
+ D2 --> E
168
+ ```
169
+
170
+ **Sequential mode.** Each role writes its output, then the next role reads it and builds on it. Structured, predictable, lower token cost. Best for well-understood topics where roles won't disagree much.
171
+
172
+ **Agent Teams mode.** All roles run concurrently and debate in real-time. The Critic challenges assumptions as they form, not after they've hardened. Better convergence on contested topics, more token-intensive. Best for novel problems where you want genuine adversarial pressure on every claim.
173
+
174
+ ## Conventions
175
+
176
+ The Bulwark enforces a specific set of conventions through `Rules.md`. When you run `/the-bulwark:init`, it installs these rules into your project at `.claude/rules/rules.md` where Claude Code automatically loads them every session. It also creates a `CLAUDE.md` with project-specific instructions (backing up any existing one first), and lets you choose scope — project-level (checked into the repo, shared with your team) or user-level (local to your machine, not committed).
177
+
178
+ The rules cover four areas:
179
+
180
+ **Coding Standards (CS1-CS4).** Single responsibility, no magic, fail fast, clean code. Every function does one thing. No hidden dependencies. Validate inputs at boundaries. Delete dead code instead of commenting it out.
181
+
182
+ **Testing Rules (T1-T4).** Never mock the system under test. Verify observable output, not function calls. Integration tests use real systems. Write tests with implementation, not after. These four rules alone eliminate the most common failure modes in AI-generated test suites.
183
+
184
+ **Verification Rules (V1-V4).** Never declare a fix complete without running it. Use `just` for all execution. Check logs for full output before attempting fixes. Verify compilation after every change.
185
+
186
+ **Issue Debugging (ID1-ID3).** Understand the root cause before fixing. Rank complexity. Run the right level of tests. Document the debugging journey.
187
+
188
+ Rules are not advisory. They're injected as binding instructions. Claude treats them as contract obligations, not suggestions.
189
+
190
+ ## Hooks
191
+
192
+ The Bulwark installs eight hooks that run automatically. No manual invocation needed.
193
+
194
+ | Hook | Event | Trigger | Timeout | What It Does |
195
+ |------|-------|---------|---------|--------------|
196
+ | `enforce-quality.sh` | PostToolUse | Every `Write`, `Edit`, or `MultiEdit` on code files | 60s | Runs `just typecheck`, `just lint`, `just build`. Flags failures to Claude with full error output. Skips non-code files (`tmp/`, `logs/`, `.claude/`, `docs/`). |
197
+ | `suggest-pipeline-stop.sh` | Stop | End of every Claude turn | 30s | Suggests relevant review/audit pipelines based on session activity. File-type-aware routing, per-file registry, post-fix grace period to suppress redundant suggestions. |
198
+ | `inject-protocol.sh` | SessionStart | Every new session | 5s | Injects the governance protocol into Claude's context. Loads Rules.md, activates quality enforcement, displays the activation banner. |
199
+ | `cleanup-stale.sh` | SessionStart | Every new session | 30s | Deletes files older than 10 days from `logs/` and `tmp/`. Preserves `.gitkeep` files. Keeps your repo from accumulating stale pipeline output. |
200
+ | `cleanup-review-registry.sh` | SessionStart | Every new session | 5s | Wipes stale review-accumulator state so pipeline gating works correctly across sessions. |
201
+ | `check-template-drift.sh` | SessionStart | Every new session in a Bulwark-initialized project | 5s | Detects drift between project's `CLAUDE.md`/`Rules.md` and the canonical templates shipped with the current plugin version. Surfaces drifting sections for `/the-bulwark:init --update`. |
202
+ | `track-pipeline-start.sh` | SubagentStart | Any sub-agent spawned | 30s | Logs pipeline invocation metadata (agent name, timestamp, parent context) for observability. |
203
+ | `track-pipeline-stop.sh` | SubagentStop | Any sub-agent exits | 30s | Logs pipeline completion metadata (agent name, duration, exit status) for observability. |
204
+
205
+ All hooks use `${CLAUDE_PLUGIN_ROOT}` for path resolution, so they work regardless of where the plugin is installed.
206
+
207
+ ## Skill registry
208
+
209
+ The Bulwark ships 28 skills. Each one is invoked with `/the-bulwark:{skill-name}` or triggered automatically by hooks and pipelines. Skills are grouped by what they do.
210
+
211
+ ### Product & strategy
212
+
213
+ Skills for ideation, research, and planning. These don't write code. They run multi-agent pipelines that produce structured documents.
214
+
215
+ | Skill | What it does | Sub-agents |
216
+ |-------|-------------|------------|
217
+ | [product-ideation](docs/skills/product-ideation.md) | Evaluates product ideas through a 6-agent pipeline. Produces a BUY/HOLD/SELL recommendation with market analysis, competitive intelligence, and segment targeting. | [market-researcher](docs/agents/product-ideation-market-researcher.md), [idea-validator](docs/agents/product-ideation-idea-validator.md), [competitive-analyzer](docs/agents/product-ideation-competitive-analyzer.md), [segment-analyzer](docs/agents/product-ideation-segment-analyzer.md), [pattern-documenter](docs/agents/product-ideation-pattern-documenter.md), [strategist](docs/agents/product-ideation-strategist.md) |
218
+ | [bulwark-research](docs/skills/bulwark-research.md) | Spawns 5 parallel sub-agents to research different viewpoints on a topic. Merges findings into a synthesis document. | 5 parallel Sonnet agents (dynamically created) |
219
+ | [bulwark-brainstorm](docs/skills/bulwark-brainstorm.md) | Dual-mode brainstorming. `--scoped` runs 5 roles sequentially via Task tool. `--exploratory` runs 4 roles concurrently via Agent Teams with real-time peer debate. | Sequential: 5 role agents. Agent Teams: 4 concurrent agents + Critic. |
220
+ | [plan-creation](docs/skills/plan-creation.md) | Creates implementation plans with a 4-role scrum team. Produces phases, workpackages, tasks, and delivery schedules. Dual-mode (Task tool or Agent Teams). | [PO](docs/agents/plan-creation-po.md), [Architect](docs/agents/plan-creation-architect.md), [Eng Lead](docs/agents/plan-creation-eng-lead.md), [QA/Critic](docs/agents/plan-creation-qa-critic.md) |
221
+ | [plan-to-tasks](docs/skills/plan-to-tasks.md) | Transforms a `plan-creation` plan into CLEAR-compatible execution structure — `tasks.yaml` workpackage index plus per-WP YAML files. Supports parent/child plan linkage with bidirectional references. | None (single-context pipeline) |
222
+
223
+ ### Code quality
224
+
225
+ Skills that review, test, and fix code. These are the enforcement layer that runs after you write code.
226
+
227
+ | Skill | What it does | Sub-agents |
228
+ |-------|-------------|------------|
229
+ | [code-review](docs/skills/code-review.md) | Three-phase code review: static tools, LLM judgment across 3-4 aspects (security, type safety, standards), and diagnostic log. | 3-4 Sonnet agents (aspect-specific) |
230
+ | [test-audit](docs/skills/test-audit.md) | Audits test suites for T1-T4 violations using AST analysis, mock detection, and multi-stage synthesis. Triggers automatic rewrites when quality gates fail. | Haiku (classification), Sonnet (mock detection, synthesis) |
231
+ | [fix-bug](docs/skills/fix-bug.md) | 5-stage fix validation pipeline: analyze, implement, write tests, audit tests, validate fix. | [issue-analyzer](docs/agents/bulwark-issue-analyzer.md), [implementer](docs/agents/bulwark-implementer.md), [fix-validator](docs/agents/bulwark-fix-validator.md) |
232
+ | [issue-debugging](docs/skills/issue-debugging.md) | Systematic debugging methodology with root cause analysis, impact mapping, tiered validation plans, and confidence assessment. | [issue-analyzer](docs/agents/bulwark-issue-analyzer.md), [fix-validator](docs/agents/bulwark-fix-validator.md) |
233
+ | [spec-drift-check](docs/skills/spec-drift-check.md) | Audits a WP brief, plan doc, or memory entry for drift against current code state. Extracts claims, verifies each, emits PROCEED/STOP verdict. Mandatory Stage 0 (per `SD1` rule) of any new or resumed WP implementation. | None (single-context pipeline) |
234
+ | [mock-detection](docs/skills/mock-detection.md) | Deep mock appropriateness analysis. Determines whether mocks in a test file are legitimate or T1-T4 violations. | Sonnet agent (analysis) |
235
+ | [test-classification](docs/skills/test-classification.md) | Classifies test files by type (unit, integration, E2E) and identifies which files need deeper mock analysis. | Haiku agents (batch classification) |
236
+ | [test-fixture-creation](docs/skills/test-fixture-creation.md) | Creates unbiased test fixtures using a Sonnet agent that can't read the implementation. Fixtures integrate with project infrastructure and hook automation. | Sonnet agent (fixture generation) |
237
+ | [bulwark-verify](docs/skills/bulwark-verify.md) | Generates runnable verification scripts for components by orchestrating assertion-patterns and component-patterns. | Sonnet agent (script generation) |
238
+ | [assertion-patterns](docs/skills/assertion-patterns.md) | Reference for transforming T1-T4 violating tests into real output verification. Loaded by other skills as context. | None (reference skill) |
239
+ | [component-patterns](docs/skills/component-patterns.md) | Per-component-type verification approaches. Loaded by bulwark-verify as context for generating verification scripts. | None (reference skill) |
240
+ | [bug-magnet-data](docs/skills/bug-magnet-data.md) | Curated edge case test data for boundary testing. Provides pre-organized data by type (dates, strings, numbers, Unicode, etc.) for test generation. | None (reference skill) |
241
+
242
+ ### Project setup & tooling
243
+
244
+ Skills for initializing projects, configuring tooling, and managing sessions.
245
+
246
+ | Skill | What it does | Sub-agents |
247
+ |-------|-------------|------------|
248
+ | [init](docs/skills/init.md) | Guided project initialization. Installs Rules.md, creates CLAUDE.md, offers LSP setup, Justfile scaffolding, and statusline configuration. Auto-detects brownfield projects. | None (orchestrates other skills) |
249
+ | [bulwark-scaffold](docs/skills/bulwark-scaffold.md) | Generates Justfile with build/typecheck/lint recipes, creates logs directory, and optionally configures hooks. | None |
250
+ | [setup-lsp](docs/skills/setup-lsp.md) | Configures Language Server Protocol integration. Detects project languages, offers to install language servers, verifies post-restart initialization. | None |
251
+ | [bulwark-statusline](docs/skills/bulwark-statusline.md) | Configures the Claude Code status line to show token usage and cost in real-time. Supports preset switching and customization. | [statusline-setup](docs/agents/statusline-setup.md) |
252
+ | [session-handoff](docs/skills/session-handoff.md) | Creates session handoff documents for context transfer between sessions. Ensures proper YAML headers, LF line endings, and complete documentation of progress and decisions. | None |
253
+ | [governance-protocol](docs/skills/governance-protocol.md) | The governance protocol injected at session start via the SessionStart hook. Not invoked directly. | None |
254
+
255
+ ### Meta skills
256
+
257
+ Skills for building more skills, orchestrating pipelines, and improving existing workflows.
258
+
259
+ | Skill | What it does | Sub-agents |
260
+ |-------|-------------|------------|
261
+ | [create-skill](docs/skills/create-skill.md) | Generates Claude Code skills from requirements. Runs an adaptive interview, classifies complexity, and produces SKILL.md with references and templates. | Sonnet agent (validation) |
262
+ | [create-subagent](docs/skills/create-subagent.md) | Generates single-purpose sub-agents for use via the Task tool. Produces agent definition with diagnostics and permissions setup. | Sonnet agent (validation) |
263
+ | [continuous-feedback](docs/skills/continuous-feedback.md) | Parses past session learnings and memory files to identify improvement targets. Proposes concrete skill/agent modifications with copy-paste ready patches. | Sonnet agents (analysis, proposal generation) |
264
+ | [anthropic-validator](docs/skills/anthropic-validator.md) | Validates Claude Code assets (skills, hooks, agents, plugins) against official Anthropic standards. Fetches latest docs dynamically. | [standards-reviewer](docs/agents/bulwark-standards-reviewer.md) |
265
+ | [pipeline-templates](docs/skills/pipeline-templates.md) | Pre-defined workflow templates for multi-agent orchestration. Provides code review, fix validation, test audit, new feature, and research pipelines. | None (reference skill) |
266
+ | [subagent-prompting](docs/skills/subagent-prompting.md) | Template for structured sub-agent invocation using 4-part prompting (GOAL/CONSTRAINTS/CONTEXT/OUTPUT) and F# pipeline notation. | None (reference skill) |
267
+ | [subagent-output-templating](docs/skills/subagent-output-templating.md) | Template for structured sub-agent output including YAML log format and task completion reports. | None (reference skill) |
268
+
269
+ ## Agent registry
270
+
271
+ Agents are single-purpose sub-agents spawned by skills via the Task tool. You don't invoke them directly. Each agent has a defined model, reads input from a previous pipeline stage, and writes structured output to `logs/`.
272
+
273
+ ### Fix validation agents
274
+
275
+ | Agent | Model | Purpose | Invoked by |
276
+ |-------|-------|---------|------------|
277
+ | [bulwark-issue-analyzer](docs/agents/bulwark-issue-analyzer.md) | Sonnet | Root cause analysis, impact mapping, debug report with tiered validation plan | [fix-bug](docs/skills/fix-bug.md), [issue-debugging](docs/skills/issue-debugging.md) |
278
+ | [bulwark-implementer](docs/agents/bulwark-implementer.md) | Opus | Implements fixes and features. Runs implementer-quality.sh after every write. | [fix-bug](docs/skills/fix-bug.md) |
279
+ | [bulwark-fix-validator](docs/agents/bulwark-fix-validator.md) | Sonnet | Executes tiered test plan from the issue analyzer's debug report. Assesses fix confidence. | [fix-bug](docs/skills/fix-bug.md), [issue-debugging](docs/skills/issue-debugging.md) |
280
+ | [bulwark-standards-reviewer](docs/agents/bulwark-standards-reviewer.md) | Sonnet | Validates Claude Code assets against official Anthropic standards. Produces severity-rated findings. | [anthropic-validator](docs/skills/anthropic-validator.md) |
281
+
282
+ ### Plan creation agents
283
+
284
+ | Agent | Model | Purpose | Invoked by |
285
+ |-------|-------|---------|------------|
286
+ | [plan-creation-po](docs/agents/plan-creation-po.md) | Opus | Product Owner. Explores codebase, produces requirements analysis with scope, acceptance criteria, and user value. | [plan-creation](docs/skills/plan-creation.md) |
287
+ | [plan-creation-architect](docs/agents/plan-creation-architect.md) | Opus | Technical Architect. Analyzes system design, component decomposition, integration points, and technical trade-offs. | [plan-creation](docs/skills/plan-creation.md) |
288
+ | [plan-creation-eng-lead](docs/agents/plan-creation-eng-lead.md) | Sonnet | Engineering & Delivery Lead. Produces WBS, effort estimates, dependency graphs, milestones, and risk registers. | [plan-creation](docs/skills/plan-creation.md) |
289
+ | [plan-creation-qa-critic](docs/agents/plan-creation-qa-critic.md) | Sonnet | QA / Critic. Adversarially challenges assumptions, stress-tests estimates, issues APPROVE/MODIFY/REJECT verdict. | [plan-creation](docs/skills/plan-creation.md) |
290
+
291
+ ### Product ideation agents
292
+
293
+ | Agent | Model | Purpose | Invoked by |
294
+ |-------|-------|---------|------------|
295
+ | [product-ideation-market-researcher](docs/agents/product-ideation-market-researcher.md) | Sonnet | Researches market size, growth trends, key players, regulatory landscape. Produces TAM/SAM/SOM estimates. | [product-ideation](docs/skills/product-ideation.md) |
296
+ | [product-ideation-idea-validator](docs/agents/product-ideation-idea-validator.md) | Sonnet | Assesses feasibility, timing, uniqueness, problem-solution fit. Produces PASS/CONDITIONAL/FAIL verdict. | [product-ideation](docs/skills/product-ideation.md) |
297
+ | [product-ideation-competitive-analyzer](docs/agents/product-ideation-competitive-analyzer.md) | Sonnet | Profiles competitors, analyzes positioning and pricing, identifies market gaps using Porter's Five Forces. | [product-ideation](docs/skills/product-ideation.md) |
298
+ | [product-ideation-segment-analyzer](docs/agents/product-ideation-segment-analyzer.md) | Sonnet | Identifies target user segments, builds personas using Jobs-to-be-Done, estimates willingness to pay. | [product-ideation](docs/skills/product-ideation.md) |
299
+ | [product-ideation-pattern-documenter](docs/agents/product-ideation-pattern-documenter.md) | Sonnet | Documents success/failure patterns, competitor trajectories, and opportunity gaps from competitive data. | [product-ideation](docs/skills/product-ideation.md) |
300
+ | [product-ideation-strategist](docs/agents/product-ideation-strategist.md) | Sonnet | Final synthesis. Produces BUY/HOLD/SELL recommendation with confidence level and actionable next steps. | [product-ideation](docs/skills/product-ideation.md) |
301
+
302
+ ### Utility agents
303
+
304
+ | Agent | Model | Purpose | Invoked by |
305
+ |-------|-------|---------|------------|
306
+ | [statusline-setup](docs/agents/statusline-setup.md) | Haiku | Handles settings.json updates and config file placement for statusline configuration. | [bulwark-statusline](docs/skills/bulwark-statusline.md) |
307
+
308
+ ## FAQ and troubleshooting
309
+
310
+ ### Plugin clone fails with "Permission denied (publickey)"
311
+
312
+ If you see this error when installing from the marketplace:
313
+
314
+ ```
315
+ git@github.com: Permission denied (publickey).
316
+ fatal: Could not read from remote repository.
317
+ ```
318
+
319
+ Your git is defaulting to SSH for GitHub, but you don't have SSH keys configured. Fix by telling git to use HTTPS:
320
+
321
+ ```bash
322
+ git config --global url."https://github.com/".insteadOf "git@github.com:"
323
+ ```
324
+
325
+ Then retry the install. This applies globally and redirects all GitHub SSH URLs to HTTPS.
326
+
327
+ ### Hooks aren't firing after install
328
+
329
+ Restart your Claude Code session. Hooks only load at session start. If they still don't fire, check that the plugin is installed:
330
+
331
+ ```bash
332
+ claude /plugin list
333
+ ```
334
+
335
+ If `the-bulwark` appears in the list but hooks still don't run, check `hooks/hooks.json` exists in the plugin directory. The `${CLAUDE_PLUGIN_ROOT}` variable must resolve to the plugin's install location.
336
+
337
+ ### Quality gate keeps failing on non-code files
338
+
339
+ The `enforce-quality.sh` hook skips files in `tmp/`, `logs/`, `.claude/`, `docs/`, and `node_modules/`. If you're editing a file outside these directories that isn't code (like a config file), the hook may still trigger. This is by design. If the failure is a false positive, check that your `Justfile` recipes handle the file type correctly.
340
+
341
+ ### Multi-agent pipelines time out or get interrupted
342
+
343
+ This usually means you're hitting rate limits on your Claude plan. The product-ideation pipeline spawns 6 agents sequentially, and plan-creation can spawn 4. Each agent consumes tokens independently. Max and Enterprise plans handle this without issues. Pro Plus will work for single-agent skills but may hit limits on pipelines with 3+ agents.
344
+
345
+ ### `just` command not found
346
+
347
+ The `/the-bulwark:init` skill offers to install `just` for you during setup. If you skipped that step, install it manually:
348
+
349
+ ```bash
350
+ curl --proto '=https' --tlsv1.2 -sSf https://just.systems/install.sh | bash -s -- --to /usr/local/bin
351
+ ```
352
+
353
+ Or via your package manager: `brew install just` (macOS), `cargo install just` (Rust), `apt install just` (Debian/Ubuntu).
354
+
355
+ ### Rules.md conflicts with my existing project rules
356
+
357
+ The Bulwark installs its rules at `.claude/rules/rules.md`. If you already have rules in `.claude/rules/`, they won't be overwritten. The Bulwark's rules and your project rules both load at session start and coexist. If there's a conflict, your project-specific CLAUDE.md instructions take precedence since they load after the rules.
358
+
359
+ ### Can I use this with other Claude Code plugins?
360
+
361
+ Yes. The Bulwark doesn't interfere with other plugins. Its hooks use `${CLAUDE_PLUGIN_ROOT}` for path resolution, so there's no collision. The only potential issue is if another plugin also installs PostToolUse hooks on Write/Edit, in which case both hooks run (Claude Code runs all matching hooks, not just the first one).
362
+
363
+ ### How do I update the plugin?
364
+
365
+ Use the plugin update command:
366
+
367
+ ```bash
368
+ claude plugin update the-bulwark@qball-inc
369
+ ```
370
+
371
+ You can also enable auto-updates per marketplace. Open `/plugin`, go to the Marketplaces tab, select the QBall-Inc marketplace, and toggle auto-update on. Note that auto-update is disabled by default for third-party marketplaces.
372
+
373
+ If you installed via npm, the same update command works. Claude Code resolves the source from the installed plugin metadata.
374
+
375
+ Your project's Rules.md and CLAUDE.md are not affected by updates since they live in your project repo, not in the plugin directory.
376
+
377
+ ### The statusline shows token usage but not cost
378
+
379
+ Cost tracking depends on your Claude Code version and plan. If cost data isn't available from the API, the statusline falls back to showing token counts only. Run `/the-bulwark:bulwark-statusline` to reconfigure or switch presets.
380
+
381
+ ### I want to disable a specific hook temporarily
382
+
383
+ You can't disable individual plugin hooks without modifying `hooks/hooks.json` in the plugin directory. But you can work around it by adding the file path to the skip list in `enforce-quality.sh`, or by working in a directory that the hook already skips (`tmp/`, `logs/`, etc.).
384
+
385
+ ---
386
+
387
+ ## Planned enhancements
388
+
389
+ These are on the roadmap. No timeline commitments, but they represent the direction The Bulwark is heading.
390
+
391
+ **Evaluation framework.** Skills and agents are the new code layer in agentic development. They need the same rigor as code: versioned, tested, measured. We're building two new skills — `create-eval` and `run-eval` — that generate and execute evaluations for any Claude Code asset. Define test prompts, expected outputs, and grading criteria. Run them across skill versions to catch regressions. Measure conversational invocation success, checklist compliance, and output quality with structured grading reports.
392
+
393
+ **Asset baselines.** Once the eval skills exist, we'll baseline all 28 skills and 15 agents with versioned evaluations. Every asset gets a `version` field in its frontmatter and a set of evals that serve as regression references. Future changes get measured against these baselines automatically.
394
+
395
+ **Enterprise traceability.** Enhanced logging with version stamps (skill version, model, rules hash) in every sub-agent log header. Run manifests that tie together all artifacts from a pipeline execution into a single auditable record. Decision lineage: trace any output back to which model, skill version, and rules produced it.
396
+
397
+ **Security pattern updates.** A helper skill that pulls the latest vulnerability patterns and edge cases into the test-audit pipeline. Keeps your security coverage current without manual curation.
398
+
399
+ **Framework-specific Justfiles.** Auto-detect your project's framework (Next.js, Django, FastAPI, Actix, etc.) and generate tailored `just` recipes with the right build, test, and lint commands out of the box.
400
+
401
+ **Agent memory.** Persistent memory for sub-agents across invocations. Agents remember patterns from previous runs — common failure modes, project-specific conventions, recurring issues — and apply that context automatically.
402
+
403
+ **Smarter pipeline routing.** Better orchestration for review-then-fix workflows. When a code review finds issues, automatically route to fix validation without manual intervention. Tighter feedback loops between review, fix, and retest stages.
404
+
405
+ ---
406
+
407
+ ## Releases & changelog
408
+
409
+ - **Latest release**: [github.com/QBall-Inc/the-bulwark/releases/latest](https://github.com/QBall-Inc/the-bulwark/releases/latest)
410
+ - **Full version history**: [CHANGELOG.md](CHANGELOG.md)
411
+ - **npm releases**: [npmjs.com/package/@qball-inc/the-bulwark](https://www.npmjs.com/package/@qball-inc/the-bulwark)
412
+ - **Update an installed plugin**: `claude plugin update the-bulwark@qball-inc`
413
+
414
+ The changelog follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/) and the project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). Each release on GitHub includes release notes plus a link to the corresponding CHANGELOG section.
415
+
416
+ ---
417
+
418
+ ## License
419
+
420
+ [MIT](LICENSE)
421
+
422
+ ---
423
+
424
+ ### If you find this useful, please give it a star. It helps others discover the project.
425
+
426
+ [![GitHub stars](https://img.shields.io/github/stars/QBall-Inc/the-bulwark?style=social)](https://github.com/QBall-Inc/the-bulwark)