Resolve the AGENTS.md you already have
Most of what is in that file does nothing. Here is what to cut and what to keep.
Cut these
Style rules
The linter enforces them. The file only suggests them.
Restated defaults
“Write tests for new code” is what the model already does.
Project descriptions
The agent reads the repo. It does not need the pitch.
Directory layouts and dependency lists
Derivable from the codebase.
“Double-check your work.”
Current models self-verify. This causes over-checking.
Any rule nobody can trace to a real failure
If no incident produced it, no incident depends on it.
Keep these
Names a real thing
A rule that names a command or a path binds. One that names a virtue does not.
Format with ruff format before committingDoes not fight another rule
When two rules disagree, the model picks one silently and the other reads as flakiness.
Line length 100 — and nowhere else says 80Loads where it applies
Scope a rule to the directory it oversees instead of loading it on every request.
.cursor/rules/payments.mdc → src/payments/**Behavior, not documentation
Enforce only what differs from the default; the rest is context the model already has.
Never call the billing API from a client componentof the average instruction file actually instructs
of files leak style rules the linter already enforces
added inference cost, with no measured gain in task success