Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add instructions/wolfe-jam/faf-cli/agents-mdgit clone --depth 1 https://github.com/Wolfe-Jam/faf-cliWhat it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00999 | $0.00999 |
| Opus 5 | $0.00500 | $0.00500 |
| Sonnet 5 | $0.00200 | $0.00200 |
| Haiku 4.5 | $0.00100 | $0.00100 |
Grade A, and why
faf-cli AGENTS.md scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 75 lines — stays where its author put it; the contents beside it link to each section on GitHub.
AGENTS.md — faf-cli
CLI for IANA-registered .faf + .fafm (application/vnd.faf+yaml · vnd.fafm+yaml) — TypeScript · Bun-native since v6 · npm package faf-cli v7.2.0 (The Memory Edition).
Setup & build
bun install
bun run build # clean → bun build cli+index → tsc (dist/)
bun run dev # bun src/cli.ts
Run the tests
bun run test # bun test --timeout=120000 — must pass before a change is done
bun run lint # eslint src/**/*.ts
Ship-adjacent (when touching build output or publish path):
bun run check:no-hardcode # fail if machine paths leaked into dist/
Where things live
| Path | Role |
|---|---|
src/cli.ts |
CLI entry (Commander) |
src/index.ts |
Library entry |
src/commands/ |
One file per faf subcommand (init, score, export, sync, memory, …) |
src/fafm/ |
.fafm library (Soul, fromClaudeDir) — INTEROP with claude-fafm-sdk 1.0 |
src/core/ |
Domain engines (slots, scorer, types, schema) — compose, don’t fork |
src/detect/ |
Stack / project detection |
src/interop/ |
Context emitters (agents.ts, claude.ts, gemini.ts, …) |
src/wasm/ |
Bridge to faf-scoring-kernel (Rust→WASM) — scoring lives here, not reimplemented in TS |
src/ui/ |
Terminal UI helpers |
package.json |
Scripts, bin (faf / faf-cli → dist/cli.js) |
project.faf |
Project DNA (keep version/goal honest when they change) |
Conventions
- Bun-native — use
bun, notnpm, for install/run/test in this repo. - TypeScript strict + ESM (
"type": "module") — obeytsconfig.jsonand ESLint; don’t restyle by hand. - Domain-model first — single-source engines in
src/core/; compose them from commands; never reimplement scoring in TypeScript (use the WASM kernel). - Wording (product copy): FAF authors (never “generates”); never guessed (not “not guessed”); never write Guaranteed (any form) — free software.
- Match the style of the surrounding file.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 2d ago First seen · 75 lines · 999 tokens per session scan A 8aa6e3ff1d9a
faf-cli AGENTS.md is an instructions file published in the GitHub repository Wolfe-Jam/faf-cli (34 stars, last pushed 10d ago), licensed MIT. It adds 999 tokens to every session, about $0.0050 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other instructions, from other repositories
faf CLAUDE.md
Instructions for Wolfe-Jam/faf, covering claude.md — @faf/specification, what this is, stack, context and 🏎️ claude.md - @faf/specification.
rust-faf-mcp AGENTS.md
Instructions for Wolfe-Jam/rust-faf-mcp, covering agents.md — rust-faf-mcp, setup & build, run the tests, where things live and architecture (load-bearing).
grok-faf-mcp AGENTS.md
Instructions for Wolfe-Jam/grok-faf-mcp, covering agents.md — grok-faf-mcp, project context, stack and human context.
grok-faf-mcp CLAUDE.md
Instructions for Wolfe-Jam/grok-faf-mcp, covering claude.md — grok-faf-mcp, what this is, stack and context.
faf-mcp AGENTS.md
Instructions for Wolfe-Jam/faf-mcp, covering agents.md — faf-mcp, setup & build, run the tests, where things live and conventions.
gemini-faf-mcp GEMINI.md
Instructions for Wolfe-Jam/gemini-faf-mcp, covering gemini.md — gemini-faf-mcp, test & verify, where things live, stack and before changing things.