Skip to main content

Spec Enforcement Toolkit for AI Coding Agents

Project description

Wolverine Kit

Constraint-first governance for AI-assisted development.

Named after the animal: tenacious, ferocious, holds ground against much larger opponents.

The Problem

AI coding agents make architectural decisions on the fly. Without guardrails, you get implementations that contradict each other, spec drift that nobody notices, and code that passes every test but violates the design. The usual fix is ceremony: twelve-role workflows, checklists on every PR, role-play prompts. It doesn't scale and people start ignoring it.

What This Does Instead

You write invariants before code. The framework enforces them. It stops at first failure.

uvx wolverine-kit init my-project --agent claude

That gives you a spec/ directory with constraint files, agents that enforce them, and slash commands that wire it together.

Project Layout

my-project/
├── spec/                         # Your constraints (never overwritten on update)
│   ├── INVARIANTS.md             # Hard rules the gatekeeper enforces
│   ├── DECISIONS.md              # Binding ADRs
│   ├── ARCHITECTURE.md           # Module boundaries
│   └── ...
├── .claude/agents/               # Governance agents (managed by wolverine-kit)
│   ├── wk-gatekeeper.md            # Veto gate: PASS / BLOCK / NEEDS-DECISION
│   ├── wk-spec-synthesizer.md    # Produces implementation briefs
│   ├── wk-drift-detector.md      # Finds spec-code divergence
│   └── ...
└── .claude/commands/             # Slash commands
    ├── wk-check.md               # Full hygiene sweep
    ├── wk-impl.md                # Gate chain + handoff
    └── ...

The Gate Chain

Every /wk-impl runs these steps in order. A failure at any step stops the chain.

  1. Gatekeeper checks the proposal against invariants and ADRs. BLOCK = stop.
  2. Spec-synthesizer produces a brief a senior dev could implement from. DRAFT = stop.
  3. Test-author generates Given/When/Then test specs.
  4. Handoff to Claude Code for implementation. Only runs if everything above passed.
PASS -> READY -> tests -> implement
BLOCK -> stop. Fix the spec or the proposal.
NEEDS-DECISION -> record it in DECISIONS.md, then re-run.

Install

# One-shot (no install needed)
uvx wolverine-kit init my-project

# Or install persistently
uv tool install wolverine-kit
wk init my-project --agent claude

Only prerequisite: uv.

Current support: Claude Code + Python projects. Other agents (Cursor, Kiro, Copilot) and language stacks are coming soon.

Commands

Command What it does
/wk-check Gatekeeper gate + glossary consistency sweep
/wk-impl <module> Full gate chain, then implementation handoff
/wk-impl-brief <module> Gatekeeper + implementation brief (no handoff)
/wk-test <module> Generate test specifications
/wk-drift Scan for spec-code divergence
/wk-decision <title> Draft an ADR interactively, propagate it
/wk-deps Audit dependencies for upgrades
/wk-status Roadmap burn-down
/wk-review-spec Architect review of spec quality
/wk-propagate <doc> Fan a spec change across all downstream files
/wk-help List all commands

How It Differs

Unlike ceremony-heavy frameworks (BMAD, etc.) that run multiple roles on every feature, Wolverine Kit triggers agents selectively and enforces hard invariants with machine verdicts. When the spec is ambiguous, it stops and escalates instead of guessing.

Compared to GitHub's Spec Kit (which focuses on the spec-to-implementation generation workflow), Wolverine Kit focuses on enforcement: blocking violations, catching drift, and escalating ambiguity. Spec Kit helps you write good specs and hand them off. Wolverine Kit makes sure nobody violates them after.

Principles

  1. Invariants first. Write rules before code.
  2. Stewardship over ceremony. Few agents, triggered selectively.
  3. Stop at first failure. Partial gate chains produce false confidence.
  4. Escalate, don't guess. Silence in the spec means stop, not invent.
  5. Generic over prescriptive. Opinions about process, not tech stack.

Upgrading

wk update

Regenerates managed agent/command files from the latest templates. Your spec/ files are never touched.

Packs

Packs add tech-stack-specific agents:

wk init my-project --agent claude --pack python-library

Available now: python-library (adds a protocol validator). More coming.

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

wolverine_kit-0.0.3.tar.gz (225.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

wolverine_kit-0.0.3-py3-none-any.whl (41.8 kB view details)

Uploaded Python 3

File details

Details for the file wolverine_kit-0.0.3.tar.gz.

File metadata

  • Download URL: wolverine_kit-0.0.3.tar.gz
  • Upload date:
  • Size: 225.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.16 {"installer":{"name":"uv","version":"0.11.16","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for wolverine_kit-0.0.3.tar.gz
Algorithm Hash digest
SHA256 95f2d7f706dc2767b47ebbd4554776dd1c1c17d2226646902058257578abc492
MD5 7fe7c5e413a7bec7d97f92ab10867934
BLAKE2b-256 e4460244443ec5ae39e37f7e1a92faac9bee6aa58d87004c951ad0baa67a42dc

See more details on using hashes here.

File details

Details for the file wolverine_kit-0.0.3-py3-none-any.whl.

File metadata

  • Download URL: wolverine_kit-0.0.3-py3-none-any.whl
  • Upload date:
  • Size: 41.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.16 {"installer":{"name":"uv","version":"0.11.16","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for wolverine_kit-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 4244520dcd845751bd26b8cac67de16b2ba054d47b91214004639df1923b7678
MD5 8733bd590559a93a5cf3331f74987f96
BLAKE2b-256 cee61667e03e10e947bd42b2141e5dd7597afd10ab1dc685f374d6973bdbe1fc

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page