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/dvd90/chassis/agents-mdgit clone --depth 1 https://github.com/dvd90/chassisWhat 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.01370 | $0.01370 |
| Opus 5 | $0.00685 | $0.00685 |
| Sonnet 5 | $0.00274 | $0.00274 |
| Haiku 4.5 | $0.00137 | $0.00137 |
Grade A, and why
chassis 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 — 104 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Agent guide
Instructions for AI coding agents (Claude Code, Cursor, Copilot, Codex, …) working in a Chassis project. Follow these conventions and the code you produce will match what a human maintainer would write — that's the whole point of this file.
Golden rule: finish every change by running npm run verify and only
stop when it passes. It runs typecheck + lint + tests — the same gate CI
uses. Green means done; anything else means keep going.
The 60-second mental model
- Endpoints are controller methods. A controller is a class extending
Routable; each method is decorated with@route(method, path). - Exported controllers auto-mount. Everything exported from
src/controllers/index.tsis registered at boot. There are no router files to edit. - Responses go through
req.resHandler—ok,created,notFound,validation, … Never callres.status().json()directly. - Errors are thrown, not handled.
throw new AppError(ERROR_CODES.X, msg)from anywhere; a central handler maps it. Do not write try/catch in controllers — Express 5 forwards rejected promises for you. - Config is one validated file.
src/configis the only place that readsprocess.env.
Do this
- Add an endpoint: run
npm run gen <Name>to scaffold a controller + test, then edit the generated methods. It's DB-aware — it wires the controller to the installed ORM (Drizzle or Mongoose) and, for Drizzle, appends a table tosrc/db/<engine>/schema.ts. (Or copy an existing*.controller.tsand export it fromsrc/controllers/index.ts.) - Protect or charge for a route with
@protectedRoute(...)(auth) or@paidRoute(method, path, price)(x402 payments). Both answer501until their module is configured — never silently open or free. - Validate input with
validate({ body|query|params: zodSchema })in the route's middleware array. Define the schema next to the controller or insrc/schemas. - Return via
req.resHandlerand match the semantic helper to the outcome (createdfor 201,noContentfor 204,notFound,conflict, …). Seedocs/reference/core-api.mdfor the full list. - Signal errors by throwing
AppErrorwith the rightERROR_CODESentry. Add new domain codes tosrc/core/errors.tsrather than inventing ad-hoc status numbers. - Add a config value by extending the zod schema in
src/config, exposing it on theconfigobject, and documenting it in.env.example. - Keep controllers thin. Push real logic into
src/services/*and data access intosrc/models/*. Controllers translate HTTP ↔ domain.
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 · 104 lines · 1,370 tokens per session scan A e2a110009dfa
chassis AGENTS.md is an instructions file published in the GitHub repository dvd90/chassis (6 stars, last pushed 25d ago), licensed MIT. It adds 1,370 tokens to every session, about $0.0068 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-31.
Other instructions, from other repositories
react-starter-kit AGENTS.md
AGENTS.md instructions for kriasoft/react-starter-kit, covering monorepo structure, tech stack, commands, database: bun db:{push,generate,migrate,studio,seed,export} and verification.
react-starter-kit CLAUDE.md
Claude Code instructions for kriasoft/react-starter-kit, a project described as: Modern React starter kit with Bun, TypeScript, Tailwind CSS, tRPC, Stripe, and Cloudflare Workers. Production-ready monorepo for building fast web apps.
react-starter-kit copilot-instructions.md
Copilot instructions for kriasoft/react-starter-kit: Read AGENTS.md in the repository root and any subdirectory AGENTS.md files for project context, conventions, and architecture details before making changes.
node-typescript-boilerplate AGENTS.md
Instructions for jsynowiec/node-typescript-boilerplate, covering agents.md, ground rules (always), typescript, node.js and testing (vitest).
nextarter-tailwind AGENTS.md
AGENTS.md instructions for agustinusnathaniel/nextarter-tailwind, covering next.js: always read docs before coding, ai agent guidance: nextarter-tailwind, 1. mental model for agents, implementation delegation and tooling strategy.
appointme CLAUDE.md
Instructions for bravodev-hub/appointme, covering claude.md, build and development commands, running the full stack (recommended), backend only and frontend only.