getff
rules as tests

Docs lie. Tests don’t.

getff compiles your conventions into native toolchain gates (ESLint/husky for npm, clippy/cargo-deny for cargo). Its own AGENTS.md is executable: every claim carries a live-fired enforcement status, and the gate fails when a claim drifts from reality.

Source-available (FSL-1.1-ALv2 → Apache-2.0 after 2 years). Deterministic. Local-first. $0 LLM calls in CI — enforced by a test.

01The pain

Your agent ignores your rules.

CLAUDE.md and AGENTS.md are prose. The spec itself says the agent «simply parses the text you provide». Parsing is not enforcement.

as any creeps back.

Conventions you never wrote down break silently. Conventions you DID write down break politely.

Tests pass, protection doesn’t.

LLM-generated tests are often tautological: green, and guarding nothing.

0220 seconds each. No narration needed.

An agent adds as any; the pre-push hook kills it before CI even wakes up
An agent adds as any; the pre-push hook kills it before CI even wakes up.
A claim in AGENTS.md stops being true; make self-audit fails and names the exact line
A claim in AGENTS.md stops being true; make self-audit fails and names the exact line.

03How it works

  1. Write the convention once — a rule file, not a prompt.
  2. getff compiles it into native gates: ESLint/husky for npm, clippy/cargo-deny for cargo. No custom runtime, no LLM in the loop.
  3. It fails early — edit-time → pre-commit → pre-push → CI. CI is the last resort, not the first.

04Feel it in 90 seconds

git clone https://github.com/artyhoo/getff
cd getff && make self-audit        # green: every AGENTS.md claim verified
# now open AGENTS.md, break any enforcement line, run it again
make self-audit                    # red: the gate names the claim that lied

That AGENTS.md is not a mock. It is the live root doc of this repo.

05Install

/plugin marketplace add artyhoo/getff
/plugin install getff@getff

The plugin never silently mutates your git or CI. The hard layer (hooks + CI gates) is one explicit opt-in command.

06Honest limits

07Get updates