Skip to content

Abide

Coding-agent hook that asks Jev one yes/no per project rule on every edit or turn and makes the agent fix any violation.

HookbetaMIT

Overview

Abide enforces the rules in your AGENTS.md, CLAUDE.md and other instruction files that no linter can check, such as "don't create premature abstractions". It hooks into Claude Code, Codex, OpenCode and Pi, and on every edit or turn asks Jev one question per rule. Jev sees only the rule and the diff, not the conversation, so late edits are checked like early ones. If a rule is broken, the agent is told which one and fixes it in the same turn.

The README reports about 300 ms per check and a fraction of a cent per turn. It measured the tool by replaying 93 real Claude Code sessions (1,256 edits); Jev flagged 39 edits and 15 turns, and an independent reviewer confirmed 10 and 11 respectively. Rules a linter could check are left to the linter, there are no built-in rules, and it uses your own key.

What the decision model decides

TypeQuestionAnswers
Yes / noDoes this edit (or turn) break this rule?yes · no

How it works

  1. Agent makes an edit or ends a turn
  2. Abide sends the diff plus each instruction-file rule to Jev
  3. Jev returns a probability per rule
  4. Violations are reported back so the agent fixes them in the same turn

Strengths

  • About 300 ms and a tenth of a cent per turn, per the README
  • Context-free checks do not drift over long sessions
  • Your key, no third-party server
  • Published replay benchmark with per-rule results

Caveats

  • Edit-level precision in the replay was modest (10 of 39 confirmed)
  • Needs a TypeSafe key
  • Only enforces rules you have written

Getting started

npx @coldtea/abide login && npx @coldtea/abide init

At a glance

Type
Hook
Status
beta
Language
TypeScript
Runtime
Coding-agent hooks (Claude Code, Codex, OpenCode, Pi extension)
Has code
yes
License
MIT

Use cases and integrations

How curated lists describe it

  • Agent supervision: reads every edit a coding agent makes and has Jev flag rule violations, with the project reporting that an independent reviewer confirmed 10 of the 39 flagged edits and 11 of the 15 flagged turns.

    yibie/awesome-jev
  • 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.

    MrJev/awesome-jev

Frequently asked questions

What does Abide check?

Whether each edit or turn breaks a rule from your project instruction files, one Jev yes/no per rule.

How accurate is it?

In the README's replay, an independent reviewer confirmed 10 of 39 flagged edits and 11 of 15 flagged turns.

Which agents are supported?

Claude Code, Codex, OpenCode and Pi.

Related projects

  • Pi extension that checks proposed code edits against repository Markdown rules with Jev, reporting rule text and line ranges.

    ProjectbetaTypeScript
  • Advisor for coding agents: git and Stop hooks flag test tampering, secrets and skipped hooks, with optional Jev review findings.

    Hookbeta
  • Fuzzy linter hook for Claude Code and Codex where Jev checks each written file against team rules and reports violations at edit time.

    HookbetaTypeScript
  • Semantic code linter that reads each method with its callers and callees and asks decision models about defects, kind, line and severity.

    CLIbetaTypeScript
  • Stop hook for Claude Code and Codex that refuses 'done' until a check passes after the last edit; Jev advises but never causes a block.

    CLIbetaTypeScript
  • Security hook giving Codex, Copilot, Gemini, Cursor, pi, OpenCode and ACP an auto-mode-like guard via three Jev questions.

    LibrarybetaTypeScript