Code review with enforcement.
Your patterns. Your rules. Enforced every time.
Augments human review, doesn't replace it.
Enforces from spec review through commit hooks.
Git-aware: review staged changes, branch diffs, or recent commits.
Suppression: // crucible-ignore: rule-id inline comments.
Not suggestions. Constraints. Assertions that block bad code.
crucible hooks install
Blocks bad code at the gate
crucible hooks claudecode init
Blocks violations + injects context
Pattern + LLM assertions
Add your own in .crucible/assertions/
Enforcement at every stage. From spec to commit.
Review specs before code exists
Catch drift at the source
Context injected automatically
Claude knows before you ask
PostToolUse hook on Edit|Write
Fix before commit
Git hook blocks bad commits
Nothing escapes
semgrep, ruff, bandit, slither
Findings deduplicated
Pattern + LLM rules
30 bundled + custom
Review personas
20 bundled. Add yours.
Patterns and principles
14 bundled. Add yours.
Spec review templates
5 templates. PRD, TDD, RFC...
Encode your team's knowledge. Claude gets it automatically.
API patterns, error handling, naming
Crypto, fintech, healthcare, etc.
Pattern assertions, lint rules
Bundled templates (20 skills, 14 knowledge files) are starting points.
The value is YOUR patterns, loaded when relevant.
Claude knows what's enforced before you start.
No explicit tool calls needed. Context arrives with the session.
Add .crucible/system/*.md files for team-specific context.
Project overrides user overrides bundled. First found wins.
Skills link to knowledge files. security-engineer auto-loads SECURITY.md.
Override any bundled file by creating your own with the same name.
Designed to chain with other MCPs.
mcpmon enables hot reload - edit skills/knowledge, changes load without restarting Claude Code.
Catch drift before code exists. Review specs, PRDs, and design docs.
Pre-write assertions check for missing auth specs, undocumented failure modes,
compliance gaps. Validate intent before you build.
Add to Claude Code:
With hot reload (recommended):