“I asked for a 15-line fix and got a 500-line renovation” — anyone who works with AI coding agents has run into this. Boffin is an open-source control layer built to curb that behavior. It selects only the design constraints relevant to the file the agent is about to touch, injects them, and requires verification proportional to the size of the change. It supports Claude Code, Cursor, Codex, and OpenCode, and installs from a single npm package (boffinit). Released in July 2026, it reached the 1.0 line in August. Licensed under MIT.
Key Features
- Rules chosen to match the file being edited: Instead of always feeding the agent one instruction sheet that covers the whole repository, Boffin loads only the constraints that apply to the language and role of the file currently being edited. The developer describes the mechanism as an “LLM attention router”
- A routing engine called ParselFire Core: Constraints are split into small pack families — universal (language-independent), Python, and C++ — with index files that define which rules to read in which situation. Evaluation follows a seven-stage order: scope and need, contracts and invariants, state and outcomes, ownership and lifecycle, shared abstractions, boundaries and plumbing, then convergence and deletion. Later “cleanup” stages are never allowed to break the correctness established earlier
- Verification proportional to the change: For a small fix, only the narrowest test or lint that proves the edit is required. For an open-ended request such as “refactor this,” a read-only audit pass comes first, and the findings are then resolved one at a time. The design prevents a small fix from becoming a file-wide cleanup, and equally prevents a broad review from stopping at the first attractive edit
- Rules published as readable Markdown: Every constraint lives in the repository as versioned Markdown and the packs are GPG-signed. Being able to read every rule before adopting it is a clear difference from a black-box prompt pack
- One-command install for major agents:
npx boffinit cursorfor Cursor, plugin marketplace commands for Claude Code and Codex, andnpx boffinit opencodefor OpenCode. Portable adapters cover other hosts that readAGENTS.mdor workspace rules - Three profiles:
lite,full,max: These tune cleanup ambition only. The correctness floor — trust-boundary validation, data-loss prevention, security, and accessibility requirements — stays the same in every profile
Pricing
| Plan | Price | Key features |
|---|---|---|
| Open source (MIT) | $0 | All features available. Installed from npm (boffinit). No paid plan offered |
Pricing is as of August 2026. Check the official repository for the latest information.
Pros & Cons
✅ Pros
- Fewer “while I was in there” changes beyond the requested scope, which lightens diff review
- The rules that get applied are fully readable as signed Markdown, making them easy to audit
- Claude Code, Cursor, Codex, and OpenCode are covered by one package, so a team using different agents can still share one operating standard
- Case studies applying it to real open-source projects — DuckDB, FastAPI, LangChain — are published with diff line counts and test counts
- A free MIT-licensed tool, installed and removed with a single command
⚠️ Cons
- Applying constraints and demanding verification makes each round trip heavier. The developer states plainly that this is not a speed tool
- Language-specific packs currently center on Python and C++; other languages are handled by the language-independent universal pack
- It is not a command sandbox or a security tool. It does not isolate processes, filter shell commands, or restrict filesystem or network access
- It does not replace tests or code review; it sits in front of your existing verification process
- It is young (released July 2026), and the evidence consists of reproducible case studies rather than a controlled A/B benchmark
- Codex does not trust plugin hooks automatically, so
/hookshas to be run once to approve them
Comparison with Similar Services
| Item | Boffin | AGENTS.md / CLAUDE.md | Cursor Rules | AI code review (CodeRabbit etc.) |
|---|---|---|---|---|
| Main role | Inject constraints before the edit, require verification after | Static instruction file for the agent | Editor-level rule definitions | Review comments after a PR is opened |
| When it applies | Before and after the edit | Always (whole session) | Always or on pattern match | After the change is finished |
| Rule selection | Chosen dynamically per edited file | Generally read in full every time | Switched by conditions such as globs | Not applicable |
| Verification | Required, proportional to the change | Not required by the format | Not required by the format | After the fact, as review findings |
| Supported hosts | Claude Code / Cursor / Codex / OpenCode | Broad host support | Mainly Cursor | The hosting platform (GitHub etc.) |
| Price | Free (MIT) | Free (you write it) | Included in Cursor’s pricing | Free tier plus paid plans |
Who Is It For
- Developers who ask an agent for a small fix and keep getting an enormous diff back
- Teams that want to bring AI agents into a large existing codebase but fear having architectural agreements broken
- Anyone who wrote an
AGENTS.mdorCLAUDE.mdand felt that the more rules they added, the less those rules were followed - Teams running a mix of agents such as Claude Code and Cursor who want a single set of operating rules
- Audit-minded developers who want to read the applied rules themselves before adopting them
Summary
Boffin tries to curb the “overreach” of AI coding agents through mechanism rather than prompt effort. Handing the agent only the constraints tied to the file it is editing, and asking for verification proportional to the change, is a direct answer to the familiar problem that longer instruction sheets get followed less. It is not a tool for going faster but a tool for keeping diffs safe, so the payoff grows with how costly review is on your existing codebase. Since it is free, open source, and one command away, a good first test is to ask for a single small fix on your own project and compare the size of the diff you get back.