OPEN SOURCE · MIT · WORKS WITH CLAUDE CODE AND CODEX

kerby — the gate guardian for agentic work

kerby

The gate guardian for agentic work. Nothing unproven passes.

kerby stands between an AI agent's action and your project and decides what gets through.

View on GitHub →Install ↓

This is not prose about the product. This is the product.

What it looks like when kerby says no

BLOCKED: git push --force / -f
Reason: destructive git command — data loss is hard or impossible to undo.
If you really need this, run it yourself in a terminal.
See kerby guardrails (hooks/protect-git.sh).
BLOCKED: Do not edit .env files directly. Use environment variables and
document required vars in DEVELOPER_TODO.md. See kerby guardrails.
WARNING: gitleaks detected possible secrets in staged changes.
Output suppressed so the secret isn't echoed here — inspect locally with
'gitleaks stdin --redact', or allowlist a false positive in the scanner's config.

No tone to argue with. The gate is open or it isn't.

One motion. Any work.

kerby's one motion: gate, weigh, verdict A change arrives at the gate. kerby weighs it against the evidence. The verdict is binary: the change passes, or it is blocked and the action stops. A change arrivesdiff · commit · command kerby weighs itagainst the evidence Passesthe change goes through BLOCKEDthe action stops
  1. GATE — an action arrives and stops at the threshold.
  2. WEIGH — kerby checks it against the evidence: tests, diffs, approvals.
  3. VERDICT — it passes, or it doesn't. There is no third option.

The engine is domain-blind. It loads a rulebook, watches the work, and renders verdicts. It doesn't know what coding is.

A rulebook is a folder: the rules for one kind of work, plus the checks that enforce them. Load the one that fits. Write your own when it doesn't. Rulebooks from outside your machine pass a one-time trust review before they can run.

The engine is finished machinery. The next rulebook is a folder you write. Write a rulebook →

Install

/plugin marketplace add sorawit-w/kerby
/plugin install kerby@kerby

Or via the cross-platform CLI:

npx skills add sorawit-w/kerby

Then: /kerby loads the rules into the session. /kerby status checks they're still active.

Full documentation →