How to Write an Aider Conventions File from a Repo Brief

Aider setups fail when they dump AGENTS.md and invent o1. Conventions and aider conf only. A thin Cursor parity file if you asked. Nothing else.
The matching generator is the Aider Conventions File from a Repo Brief (No AGENTS.md Duplicate) prompt. Browse related cards in the PromptDig library (Browse more prompts). When a filled run survives, share the version you actually use (Share a prompt).
Lock Aider version and model ids
Write Aider CONVENTIONS.md and .aider.conf.yml from a repo brief. No AGENTS.md, no invented models. Start by filling Inputs, not by asking the model to remember last week's run. If a field is blank, write NONE or NOT IN INPUTS and leave it blank through Generate. The card is built so the model cannot honestly invent a number, owner, URL, or command that you did not paste.
Paste these fields before you hit run:
Aider version I use: [Version]
Repo languages, test command, lint command: [Stack]
Models I may call (provider plus model id): [Models]
Architect vs code preference: [Mode]
Files Aider must --read every session: [Read]
Ignore globs: [Ignore]
Whether to also emit a thin Cursor mdc (yes/no): [CursorSplit]
Words I must not use: [Banned]
Auth env var name only: [Auth]
What other assistant files I must not write: [NotFiles]
That inventory is the honesty ledger. Anything that does not appear there is forbidden in the draft. If you catch yourself adding a nice-to-have after the run, you are no longer using the card. You are ghostwriting. Put the extra fact in Inputs and run again.
CONVENTIONS.md plus aider conf yml
Generate is numbered on purpose. Do not skip a step because the first paragraph looked done. The early steps exist to stop later prose from smuggling claims.
Walk the Generate list in order:
- Honesty ledger: version, languages, test and lint, model ids, read files, ignore. Forbidden: models not in Models, files in NotFiles, AGENTS.md.
- CONVENTIONS.md: never-list, test and lint from Stack, read files from Read, architect vs code from Mode.
- aider conf yml: model from Models only, lint-cmd, test-cmd, read, ignore. Version comment.
- Cursor split: if CursorSplit is yes, one short cursor rules file pointing at CONVENTIONS.md. If no, omit.
- Refuse: list NotFiles including AGENTS.md you will not emit.
- Auth: print only the env var name. Do not print a token.
- Run notes: aider locked to Version. Watch only if Inputs asked.
- Compliance pass: quote Banned words, invented model ids, AGENTS.md body. Cut them.
If a step asks for a version lock, quote the version from Inputs in the output. If a step asks for a refuse list, keep the refuse list in the published artifact, not in a sidebar you delete. Reviewers should see what the model was not allowed to do.
Do not emit AGENTS.md
Most failures are the same shape: a missing field gets a confident fill. A conversion rate appears. A Gradle task appears. A flash point appears. A caption appears on a job that asked for slide text only. Your review is to search the draft for numbers, names, and commands, then grep Inputs. No match means cut.
Honor the constraints as hard stops, not vibes:
- Aider CONVENTIONS.md and aider conf yml. Do not write AGENTS.md, Continue, Copilot, Cline, or Windsurf files.
- Never invent a model id.
- Cursor mdc only if CursorSplit is yes, and it must not duplicate AGENTS.md.
- Test and lint commands only from Stack.
- No emojis.
When the card says not legal advice, not certification, not an exam dump, or not a caption engine, that sentence belongs at the top of the output. Deleting it to look more finished is how you inherit risk.
Cursor mdc only when CursorSplit is yes
Finish with the compliance pass the prompt already asks for. Quote the banned-word hits. Cut them. Print character counts when the job has a cap. Print word counts when the job has a budget. List gaps as gaps. Five missing facts are more useful than one smooth paragraph.
Tags on the card (aider conventions md, aider conf yml from repo, no agents.md duplicate) are a reminder of the job shape, not an invitation to wander into a neighboring cluster. If you need a different surface, open a different PromptDig card rather than stretching this one.
Fill the card, then run
Replace every bracket. Run on ChatGPT, Claude, or Gemini. Read the ledger first, then the artifact. If the model invents a commit, KPI, DOI, PEL, bid, or logo, discard the run. Tighten Inputs. Run again. Share the filled card that survived, not the first draft that sounded done.