Vanta
AGENTS.md2 starsChanged 5 months agoMITView on GitHub
Cross-tool agent context (Codex, Cursor, etc.). Pairs with CLAUDE.md. Read both. CLAUDE.md has deeper detail; this file has the essentials any agent needs to operate. Vanta is a local trusted-operator agent: Rust safety kernel + TypeScript agent loop. It knows its goals before picking tools, enforces scope on every action, and reports only verified output. The kernel is the enforced security boundary — assess() blocks, it doesn't advise. Deep TS docs: vanta-ts/AGENTS.md. Status (2026-07-19): v0.9.4 is the current desktop release…
- Deletes or force-pushes
- Commits and pushes
Where files are headingNew AGENTS.md files have more rules about keeping secrets out of the code, and fewer about code style.
Of the AGENTS.md files we read, the 31,439 first seen in the last six months, against the older ones: the kind of rule that gained most share, and the kind that lost most. About files like this in general, not this one, and an estimate, since a kind is a pattern in the words.
In this repository14 other files it gives its agents.
- docs/AGENTS.mdAGENTS.md
- vanta-ts/AGENTS.mdAGENTS.md
- .claude/CLAUDE.mdCLAUDE.md
- CLAUDE.mdCLAUDE.md
- docs/CLAUDE.mdCLAUDE.md
- vanta-ts/CLAUDE.mdCLAUDE.md
- vanta-context-syncSkill
- customer-discoverySkill
- founder-bottleneckSkill
- gtm-builderSkill
- mvp-scopeSkill
- pmf-diagnosticSkill
- problem-hypothesisSkill
- vanta-context-syncSkill
The file
We split this AGENTS.md into the rules it gives an agent
4 rules. About 0 are common, 0 are distinctive, and 4 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈0
Distinctive · estimate
This author's own choices. Worth a look.
4
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- could be automatic: a setting could enforce it
- Very specific: line 49
Never commit secrets, never rm -rf, never git push --force shared branches.
- Very specific: line 56
Add it to the ALL_TOOLS array in vanta-ts/src/tools/all-tools.ts AND add the name to the sorted list in tools/tools.test.ts.
- Very specific: line 61
Every folder that gets modified gets/keeps a CLAUDE.md and an AGENTS.md.
- Very specific: line 71
If there is no .codegraph/ directory, skip CodeGraph entirely — indexing is the user's decision.
≈ “Common” is an estimate: at least 1 in 5 of the 40,246 AGENTS.md files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
AGENTS.md — Vanta (repo root)
Cross-tool agent context (Codex, Cursor, etc.). Pairs with CLAUDE.md. Read both. CLAUDE.md has deeper detail; this file has the essentials any agent needs to operate.
What this repo is
Vanta is a local trusted-operator agent: Rust safety kernel + TypeScript agent loop. It knows its goals before picking tools, enforces scope on every action, and reports only verified output.
Two layers:
| Path | Language | Role |
src/ | Rust | Safety kernel: risk classifier, approvals, goals, HTTP sidecar on :7788 |
vanta-ts/ | TypeScript, Node 22, ESM | Agent loop: LLM providers, 137 built-in tools (141 registered), 146 slash commands, TUI, REPL |
The kernel is the enforced security boundary — assess() blocks, it doesn't advise. Deep TS docs: vanta-ts/AGENTS.md.
Build + test
cargo build && cargo test # Rust kernel (last recorded: 67 tests)
cd vanta-ts && npx vitest run && npx tsc --noEmit # TS agent (last recorded full green: 11979 tests + typecheck)
./install.sh # global `vanta` in ~/.local/bin
vanta # launch TUI (TTY) or readline REPLStatus (2026-07-19): v0.9.4 is the current desktop release line. The release workbench exposes 142 registered tools and uses one authoritative
roadmap.json; the human launch-pad view is generated asroadmap.html. Release claims and executed boundaries live inCHANGELOG.mdanddocs/product-acceptance.md. The local codegraph index lives in ignored.codegraph/; refresh it withcodegraph index -f .and verify withcodegraph status .before relying on code-intel results.
Key files
MANIFESTO.md— north star, hard lines, non-negotiablePROGRAM.md— bounded tunable harness instruction block scored byvanta meta-tune instructionsROADMAP.md— build order, what's done, what's nextDECISIONS.md— locked choices (append-only)PARKED.md— deferred ideasHANDOFF.md— current cold-start snapshot for new sessionsdocs/superpowers/specs/— approved design specsdocs/superpowers/plans/— implementation plans
Active branch
main — all work happens here. Every slice: real code + co-located test + tsc/cargo clean + git commit + git push. No exceptions.
Safety rules (non-negotiable)
- Kernel
src/*.rs— never edit autonomously. Human approval required. vanta-ts/src/factory/*.ts— same.MANIFESTO.md— human-only, never modify.- Never commit secrets, never
rm -rf, nevergit push --forceshared branches.
Adding a TS tool
- New file
vanta-ts/src/tools/<name>.ts, export aTool. - Zod-parse args (
safeParse) — it's an LLM boundary. - Path args →
resolveInScope; return{ok:false}if outside. - Add it to the
ALL_TOOLSarray invanta-ts/src/tools/all-tools.tsAND add the name to the sorted list intools/tools.test.ts. (index.tsis now justbuildRegistry, which filtersALL_TOOLS+ adds factorymount_mcp/tool_search.) - Watch for import cycles with
tools/index.ts(lazy-importbuildRegistryif needed — seeswarm.ts).
Docs discipline
Every folder that gets modified gets/keeps a CLAUDE.md and an AGENTS.md. Read a folder's docs only when working in it (index, don't inject). Update ROADMAP.md checkboxes when completing a tracked item. Commit + push every slice.
<!-- CODEGRAPH_START -->CodeGraph
In repositories indexed by CodeGraph (a .codegraph/ directory exists at the repo root), reach for it BEFORE grep/find or reading files when you need to understand or locate code:
- MCP tools (when available):
codegraph_exploreanswers most code questions in one call — the relevant symbols' verbatim source plus the call paths between them.codegraph_nodereturns one symbol's source + callers, or reads a whole file with line numbers. If the tools are listed but deferred, load them by name via tool search. - Shell (always works):
codegraph explore "<symbol names or question>"andcodegraph node <symbol-or-file>print the same output.
If there is no .codegraph/ directory, skip CodeGraph entirely — indexing is the user's decision.
<!-- CODEGRAPH_END -->Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

