AGENTS.md: the portable path, the same file Codex reads
Start with the simplest layer, because it’s the one that travels. Drop an AGENTS.md at the root of budgetcli, write the two facts that keep walking out of memory, and you’re covered on every tool that reads the standard:
# budgetcli
A budgeting / personal-finance API (TypeScript). You're working on livetransaction data - be precise about money and time.
## Conventions
- All timestamps are stored and compared in **UTC**. Parse incoming dates to UTC at ingest; never store server-local time.- Every API handler validates its request body with a **Zod schema** before touching business logic. Do not hand-roll validation with `if` checks.- Money is **integer cents**, never a float. Format to a currency string only at the response boundary, never in storage or maths.There’s no special syntax to learn - Cursor reads AGENTS.md the way the model reads any prose: headings, terse imperative bullets, the things that bite. Every line earns its place because it’s something Cursor got wrong, not something it could read off the source. Nothing in there says “write clean code” or transcribes the directory layout; that just burns context. Write it the way you’d brief a sharp new engineer on day one.
That “earns its place” test is arithmetic you can run, not a vibe. Seven candidate lines from another project - toggle each into the file and watch the ledger decide:
The payoff is portability. Because this is the agents.md open standard - whose adopter list names Cursor alongside Codex, OpenCode, and others - the same file is in force whether your teammate clones budgetcli into Cursor, Codex, or OpenCode. One file, every tool, no per-tool translation.
Keep the portable guarantee simple: put shared project guidance in a root-level AGENTS.md. Cursor’s support for nested AGENTS.md files has varied across releases and is not something to assume without checking the current rules documentation. If you need reliable subtree scoping, use a .cursor/rules/*.mdc rule with an explicit file pattern and test it in the installed version.
Portability is what AGENTS.md buys you. What it can’t buy you is conditionality - and that’s the gap Cursor’s own format was built to fill. Next: Project Rules and the four rule types.