Fix
Cursor .mdc and AGENTS.md together
Answer
Cursor applies a root AGENTS.md and .cursor/rules/*.mdc together. The docs do not name a winner when those files disagree. Applicable rules are merged. On a conflict, Team Rules take precedence, then Project Rules, then User Rules. Nested AGENTS.md files combine with parent AGENTS.md files, and the closer file takes precedence among those files. That line does not mention an .mdc file. Keep a shared instruction in one file, or keep the copies the same.
- Scope Tool-agnostic. Written against Cursor project rules (.mdc), Claude Code CLAUDE.md, AGENTS.md, and GitHub Copilot repository instructions as documented on 2026-10-15.
Last verified 2026-10-15
The rules docs call AGENTS.md an alternative to .cursor/rules. The CLI still applies a root AGENTS.md as rules alongside .cursor/rules. The Vibe Coder Starter pack ships both. The markdown after the .mdc frontmatter matches AGENTS.md. Its pinned scope is: Tool-agnostic. Written against Cursor project rules (.mdc), Claude Code CLAUDE.md, AGENTS.md, and GitHub Copilot repository instructions as documented on 2026-10-15. Frontmatter is /fixes/cursor-mdc-rule-frontmatter.
A root AGENTS.md has no globs, so it is not limited to one extension. A nested AGENTS.md applies in that directory and its children and is combined with the parents. An .mdc file is in the chat only when its frontmatter includes it. alwaysApply: true includes it every time and ignores globs. alwaysApply: false with globs waits for a matching file. A rule that is not included is absent from the merge. The root AGENTS.md is still there.
The docs do not rank AGENTS.md against an .mdc file inside Project Rules. The same filename in two folders does not create an override: both apply when their conditions match. A root CLAUDE.md is always applied as well. See /fixes/claude-code-claude-md-vs-agents-md. Checked against https://cursor.com/docs/rules, https://cursor.com/help/customization/rules, and https://cursor.com/docs/cli/using.
Put shared text in AGENTS.md, and use an .mdc file only for a Cursor attachment mode that does not contradict it. If both copies stay, edit them together. Every Loadout free zip does that. The free packs are MIT licensed: /packs/vibe-coder-starter, /packs/nextjs-supabase, /packs/unity-6, and /packs/godot-4. vibe-coder-starter sets alwaysApply: true and globs: "**/*", so the glob is ignored and both files are always on. Unity 6 uses globs: "**/*.cs" with alwaysApply: false. Godot 4 uses globs: "**/*.gd" with alwaysApply: false. The Next.js pack uses alwaysApply: false and globs: "{app,src,lib,components}/**/*.{ts,tsx},proxy.ts,middleware.ts,**/*.sql". Those attach on a match. AGENTS.md still applies when no matching file is in context.
Last verified 2026-10-15. doc-verified.
Pro
Unity 6, Godot 4, and Next.js Pro rules, $1+
$1+ · pay what you want
Advanced rules for the same stacks as the free packs: Unity 6 Pro (Netcode, URP, Addressables, tests), Godot 4 Pro (multiplayer, GDExtension and C#, saves, export), and Next.js 16 + Supabase Pro (RLS, getClaims, Stripe webhooks, caching). Each pack is AGENTS.md, CLAUDE.md, Cursor .mdc, and Copilot instructions. The Phaser 4, three.js, and FastAPI packs stay on the Gumroad download as a bonus. 12 months of free updates.
Each pack ships as AGENTS.md, CLAUDE.md, Cursor .mdc, and Copilot instructions, with 12 months of free updates.
From the Unity 6 Pro rules
Mark an RPC with `[Rpc(SendTo.Server)]` and end the method name in `Rpc`. A missing `Rpc` suffix is an error. Do not write new `[ServerRpc]` or `[ClientRpc]` methods.
A client asks the server with `SendTo.Server`. The server talks to observers with `SendTo.NotServer`, or `SendTo.ClientsAndHost` when a host must run the method too. There is no direct client-to-client connection. The server forwards it.
Keep shared state on a `NetworkVariable<T>` and use `.Value`. It is sent to clients already connected and to a client that joins later. An RPC is not. Write `.Value` from the server when write permission is `NetworkVariableWritePermission.Server`.
Put a `NetworkObject` on the networked prefab and spawn it on the server. Do not use the removed UNet types `NetworkIdentity`, `[Command]`, or `UnityEngine.Networking`.Unity 6, Godot 4, and Next.js Pro rules, $1+Vibe Coder Starter pack — Safe defaults for any AI coding agent, in any stack.
doc-verified
Sources in the pack
Docs
Questions
- Which file does Cursor follow when AGENTS.md and a .mdc rule both exist?
- Cursor applies a root AGENTS.md and .cursor/rules/*.mdc together. The docs do not name a winner when those files disagree. Applicable rules are merged. On a conflict, Team Rules take precedence, then Project Rules, then User Rules. Nested AGENTS.md files combine with parent AGENTS.md files, and the closer file takes precedence among those files. That line does not mention an .mdc file. Keep a shared instruction in one file, or keep the copies the same.
- Does an alwaysApply .mdc replace AGENTS.md?
- No. alwaysApply: true includes the .mdc in every chat and ignores globs and description. A root AGENTS.md is still picked up. The docs do not say which sentence wins if the two files disagree.
- Do Loadout free packs ship AGENTS.md and a .mdc file?
- Yes. Every free zip includes both, and the markdown after the .mdc frontmatter matches AGENTS.md. The free packs are MIT licensed. The packs are /packs/vibe-coder-starter, /packs/nextjs-supabase, /packs/unity-6, and /packs/godot-4. vibe-coder-starter sets alwaysApply: true. The other three set alwaysApply: false and a glob.
- When was this Cursor AGENTS.md and .mdc rule last checked?
- Last verified 2026-10-15. doc-verified.