Scaffold, validate, test, and review Claude Code plugins — all locally, all in one tool.
Anvil is the official plugin development toolkit for the heurema ecosystem. It gives plugin authors three commands that cover the complete plugin lifecycle: scaffold a new plugin from heurema-standard templates, run six sequential validators to catch schema errors, missing files, and unsafe hook scripts before you publish, and execute fixture-driven hook tests to verify runtime behaviour. A built-in code-review agent applies a 21-item quality checklist and returns an explicit APPROVE or REQUEST CHANGES verdict. Everything runs locally — no network, no credentials.
$ /anvil:new my-plugin
$ /anvil:check ./my-plugin
$ /anvil:test ./my-plugin
Install via Emporium (recommended)
claude plugin marketplace add heurema/emporium # once
claude plugin install anvil@emporiumManual install
git clone https://github.com/heurema/anvil.git ~/.claude/plugins/anvilThen enable in ~/.claude/settings.json:
{
"enabledPlugins": {
"anvil@local": true
}
}Verify: ls ~/.claude/plugins/anvil/commands/ should show new.md, check.md, and test.md. Open a new Claude Code session to activate.
First use
# Scaffold a new plugin interactively
/anvil:new my-plugin
# Then validate and test before committing
/anvil:check ./my-plugin
/anvil:test ./my-plugin- Scaffolding —
/anvil:newgenerates a complete, conventions-compliant plugin skeleton (plugin.json, README, LICENSE, CHANGELOG, .gitignore) from maintained templates; optionally initialises a git repo and creates a GitHub repository under the heurema org. - Six-layer validation —
/anvil:checkruns schema, structure, hooks, conventions, consistency, and install-docs validators in sequence and returns a single PASS/FAIL verdict with a JSON-aggregated report. - Fixture-driven hook testing —
/anvil:testexecutesscripts/test_hooks.pyagainst your hook scripts and checks skill descriptions for presence, voice, length, and keywords. - AI code review — The
anvil-revieweragent (sonnet, read-only) applies a 21-item checklist and gives an unambiguous APPROVE or REQUEST CHANGES verdict. - Zero network dependency — all validation and scaffolding is local; the optional
gh repo createstep is explicit and opt-in.
Anvil makes no network calls during validation or scaffolding. No plugin files, metadata, or diagnostic output leave your machine. The optional GitHub repository creation step in /anvil:new uses your local gh CLI and is gated behind an explicit confirmation prompt.
- Claude Code with plugin support
- Python 3.14+ (for validator scripts and test framework)
jq(for hook validators)ghCLI — optional, only needed if you want/anvil:newto create a GitHub repository
- How it works — architecture, components, data flow, trust boundaries, limitations
- Reference — command usage, scenarios, configuration, output format, troubleshooting
Other heurema projects:
- sigil — risk-adaptive development pipeline with adversarial consensus code review
- herald — daily curated news digest plugin for Claude Code
- teams-field-guide — comprehensive guide to Claude Code multi-agent teams
- arbiter — multi-AI orchestrator (Codex + Gemini)
MIT