
What is AGENTS.md? How to write one your coding agents follow
AGENTS.md is a Markdown file that tells AI coding agents how to work on your repo. What it is, which tools read it, and how to write one that works.
A short CLAUDE.md starter that follows Anthropic's guidance: commands, workflow, project rules and security, well under the 200-line target.
Anthropic recommends keeping each CLAUDE.md under 200 lines. Longer files use more context and get followed less. This one is under 50.
## Commands
- Dev: `[npm run dev]`
- Build: `[npm run build]`
- Test one file: `[npm test -- path/to/file.test.ts]`
- Lint and types: `[npm run lint && npx tsc --noEmit]`
## Workflow
- Plan first for anything touching more than three files. Show the plan before editing.
- Prefer running single tests over the whole suite.
- After a series of changes, run the type check and lint, and paste the real output.
- Keep diffs small. Don't refactor code you weren't asked to touch.
## Project rules Claude can't guess
- [Example: API handlers live in `app/api/`; use the error helper in `lib/errors.ts`.]
- [Example: Dates are stored in UTC and shown in the user's time zone.]
- [Example: Never edit an applied migration in `supabase/migrations/`; add a new one.]
## Security
@AGENTS.md import line, so it works alongside AGENTS.mdCLAUDE.md in your repo root.@AGENTS.md line.Claude Code users whose CLAUDE.md has grown too long, or who are starting fresh.

AGENTS.md is a Markdown file that tells AI coding agents how to work on your repo. What it is, which tools read it, and how to write one that works.

How to run coding agents safely with Claude Code permission modes, Codex sandbox and approval settings, deny rules, and habits that keep secrets out of reach.

MCP security best practices for vibe coders: prompt injection risks, what the MCP spec requires, and a checklist to use MCP servers without leaking data.
The Codema publication. Consent is required. You are not subscribed until you confirm from the email, and nothing is stored if email delivery is not connected.