Home/Blog/How to Compile AGENTS.md and Cursor mdc from a Repo Brief
Blog

How to Compile AGENTS.md and Cursor mdc from a Repo Brief

P
promptstudio
How to Compile AGENTS.md and Cursor mdc from a Repo Brief

Agent compilers mint a catch-all src glob and a Node version. Quote Paths. If Paths is empty, write GLOB UNKNOWN. Do not invent commands.

The matching generator is the AGENTS.md plus Cursor .mdc Compiler from a Repo Brief (No Invented Globs) (Agents Md Plus Cursor Mdc Compiler From A Repo Brief No Invented Globs) 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).

Quote every glob and command from Inputs

Compile a root AGENTS.md and scoped Cursor .mdc files from a repo brief. Globs only from Inputs. No invented paths or commands. 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:

Repo brief (name, purpose, stack I can prove): [Brief]
Commands that actually work: [Commands]
Paths that need different rules (globs I lock): [Paths]
Never-list for agents: [NeverList]
Words I must not use: [Banned]
What I must never invent (globs, commands, versions, secrets): [Never]
Output format: [Format]
Language: [Lang]
Review bar I lock (or UNKNOWN): [Review]
Secrets policy I lock: [Secrets]

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.

Split always-on AGENTS.md from path-scoped mdc

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:

  1. Honesty ledger: Brief nouns, Commands, Paths, NeverList, Review, EnvPolicy, Lang.
  2. Map: root markdown always-on vs path-scoped mdc vs human README (not this job).
  3. Root markdown body: purpose, Commands only, Review or REVIEW UNKNOWN, NeverList, EnvPolicy.
  4. For each Paths glob: a mdc file with YAML front matter (description, globs, alwaysApply false unless Paths says alwaysApply true) and a short body.
  5. Install notes: repo-root AGENTS.md plus the Cursor rules directory. Not a single cursorrules file.
  6. Refuse list: CLAUDE.md, copilot-instructions.md, extra globs, print env files, fake CI badges.
  7. Never: do not add a src tree glob if Paths did not lock it. Do not invent a Node version.
  8. Compliance pass: quote Banned and Never hits. Cut them. Format as Format.

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.

Refuse invented globs CLAUDE.md and Copilot files

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:

  • AGENTS.md plus mdc from Brief and Paths only. Not CLAUDE.md and not Copilot.
  • Never invent globs, commands, or stack versions.
  • If Paths is empty, GLOB UNKNOWN. Do not mint a catch-all glob.
  • 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.

Install notes name the files you actually emitted

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 (agents.md cursor mdc compiler, repo brief no invented globs, cursor project rules compiler) 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.