Check the agent's next move. Before it happens.
Every rule lives as a file in your repo, reviewed like code. Approval is a merged pull request.
curl -fsSL gntai.dev/install.sh | sh$ npm install -g @gnt-ai/cli$ gnt login✓ Logged in. Credentials saved to ~/.gnt/credentials.json$ gnt prebrain# scans this repo, asks a few questions, drafts your first rules✓ Opened PR: https://github.com/acme/rules/pull/412# merge it on GitHub. that merge is the approval.
What is gnt.ai?
A git-native rules layer for AI agents: every rule is a file in your repo, reviewed and merged like code.
Enforces, not just retrieves Sits in front of the agent's next move, not just answering questions about it. Every check comes back allowed, blocked, or needs_human — plus the exact rule that made the call.
Gets your first rules in fast gnt prebrain reads your repo, docs, and the tools you already use (Notion, Linear, Jira...) and drafts your first rules for you. Don't have much written down yet? Starter packs cover the gap.
Keeps rules honest over time Every night, it flags what your rules don't cover yet, what's gone stale, and where two rules contradict each other — each one lands as its own PR, ready to review.
How it works
- 1
Draft. gnt prebrain scans this repo and drafts your first rules automatically. After that: Slack, a webhook, a dozen-plus connectors, or by hand.
- 2
Review. gnt review turns anything drafted outside prebrain into a real PR. prebrain opens its own directly.
- 3
Merge. A human merges it on GitHub — that's the approval, nothing else.
Built to stay out of your data
gnt prebrain (CLI)
Processed on your device. A local privacy gate screens anything before it reaches a cloud model. Never touches gnt's servers, never trains on it.
Webhook, Slack, or a sync
No device of yours in that path, so it reaches gnt's server, gets masked on arrival, and stays that way — unrecoverable after.
That privacy gate is source-available code, not a promise — read it yourself, or self-host it. Full connector-by-connector breakdown in the docs.
Source-available, not a black box
Licensed FSL-1.1-Apache-2.0: source-available and self-hostable today, on your own infrastructure with your own keys. Two years after this repo goes public it converts automatically to Apache-2.0 — no restrictions left. Until then, the one thing you can't do is run a competing hosted version of gnt itself.
A clone and a compose command away from the full API, MCP server, worker, and rules store, on your own machine:
$ git clone https://github.com/gnt-ai/gnt && cd gnt# fill in your .env files, run the migration once --# full sequence: docs/self-hosting/README.md$ docker compose up
Frequently asked questions
Most teams find us after an agent already did something expensive, or wrong, or just embarrassing, and nobody could say which rule should have caught it. check_action would have. If that's not you yet, good — this is what you set up before it is, not after.
Approval is a merged PR.
No separate sign-off screen to review in. Just the git workflow your team already uses.