Hold your coding agent to what it said.
It declares the files it will change before it edits. In strict mode, anything else is stopped. Your CI checks the result.
Free forever. No credit card.
Set up in three commands.
npm i -g @gatebolt/cli gatebolt login gatebolt init
Run it once inside a repository. From then on the agent declares its files by itself.
Add one step to your CI, and every push is checked. GitHub Actions today.
Strict or lenient
| What happens | Lenient | Strict (default) |
|---|---|---|
| Every intent is recorded | Yes | Yes |
| Your CI checks every push | Yes | Yes |
| An edit outside the intent | Reported by CI | Stopped |
| An intent lists a file your policy forbids | Flagged | Flagged, and edits to it stopped |
| Stopped edits are shown in your workspace | Nothing is stopped | Yes |
| Set per repository, changed any time | Yes | Yes |
Strict mode stops the agent’s editing tools. It is not a sandbox: a file written from the shell is reported by CI, not stopped.
The gate holds for files declared by path. A glob or a folder lets through everything it covers, and git-ignored files pass undeclared.
What is GateBolt Code?
Code works through your coding agent’s own hooks and one step in your CI. The agent declares its files before it edits. In strict mode, to touch another it has to declare again.
Your CI then checks what really changed, on a machine the agent doesn’t run on. You read the answer for each branch in your workspace.
Why use GateBolt Code?
The agent can’t mark its own work
Your CI does the checking.
No model in the loop
The same diff always gets the same answer.
Your files stay with you
File paths, line counts, the task, the branch and the model’s name. Never file contents.
Off-limits files
Name files agents must not change. CI flags any that are.
On the pull request
The answer is posted where the review happens.
A record that shows tampering
Export it for an auditor.