Abide
Hooks into Claude Code, Codex, and OpenCode, and asks Jev one question per rule whether each edit breaks your AGENTS.md or CLAUDE.md rules.
Abide</h1> <p align="center"> <em>Coding agents break your rules from the very first edit. Abide catches every one and makes your agent fix it</em> </p> <p align="center"> <img src="https://img.shields.io/badge/works%20with-Claude%20Code%20%C2%B7%20Codex%20%C2%B7%20OpenCode-111111?style=flat-square" alt="Works with Claude Code, Codex and OpenCode"> <img src="https://img.shields.io/badge/license-MIT-111111?style=flat-square" alt="MIT license"> </p> <p align="center"> <strong>1 in 13 turns break a rule no linter can catch · abide does · 300 ms per check · a tenth of a cent per turn</strong><br> <sub>Measured by replaying 93 real Claude Code sessions (1,256 edits, 147 turns) in two repos against their own AGENTS.md, for 22 cents. Jev flagged 39 edits and 15 turns; an independent reviewer confirmed 10 and 11. The turn-level catches (single-use abstractions, oversized files, duplicated logic) held up 11 times in 15. Method, per-rule table and what was wrong: <a href="benchmarks/replay/README.md">benchmarks/replay</a>.</sub> </p> --- ``` npx @coldtea/abide login # pick a key type, paste it once npx @coldtea/abide init # hooks into every agent on this machine ``` Then start `claude`, `codex` or `opencode` as usual. That is the whole setup. ## What it does Your AGENTS.md, CLAUDE.md and the rest of your project instructions are full of rules no linter can check. "Never let a raw error reach a user." "Don't create premature abstractions." Nothing can script those, so nothing enforces them. In 93 real sessions, the agent broke one on 1 turn in 13, from the first edit on. https://github.com/user-attachments/assets/2d45f6b0-c889-474c-ab4a-8d019fdc7140 Abide enforces exactly those rules. On every edit (or turn) it asks [Jev](https://ty