Cursor Rules (.mdc) erklärt: Cursor-Regeln mit description, globs und alwaysApply
Deine Cursor-Regel wird ignoriert, oder sie greift überall, obwohl sie nur für Komponenten gedacht war? Fast immer liegt es an drei Feldern im Frontmatter.
Dieser Guide erklärt, wie .mdc-Dateien funktionieren, welche Regeltypen es gibt und wie Glob-Muster aussehen. Dazu kommen Beispiele zum Kopieren.
Was ist eine .mdc-Datei?
Cursor Rules (auf Deutsch meist „Cursor-Regeln“) geben dem Agent dauerhaften Kontext. Laut Cursor-Doku behalten Sprachmodelle zwischen Antworten nichts im Gedächtnis. Regeln landen deshalb, wenn sie greifen, am Anfang des Modellkontexts.
Projektregeln liegen in .cursor/rules/ und werden mit dem Code versioniert. Jede Regel ist eine Markdown-Datei mit Frontmatter und der Endung .mdc. Unterordner sind erlaubt:
.cursor/rules/
react-patterns.mdc # wird erkannt
api-guidelines.md # wird ignoriert (falsche Endung)
frontend/
components.mdcNeben Projektregeln kennt Cursor User Rules (global, in Customize → Rules), Team Rules (Team- und Enterprise-Pläne) und AGENTS.md.
Die Frontmatter-Felder: description, globs, alwaysApply
Ganz oben in der Datei steht ein YAML-Block zwischen ---. Drei Felder steuern, wann die Regel geladen wird:
description: kurze Beschreibung. Der Agent liest sie und entscheidet, ob die Regel passt.globs: Dateimuster. Die Regel hängt sich an, wenn eine passende Datei im Kontext ist.alwaysApply:trueheißt: in jeder Chat-Session dabei.
---
description: Konventionen für API-Routen und Eingabevalidierung
alwaysApply: false
---
- Validiere jede Eingabe mit zod
- Gib Fehler als Objekt mit `code` und `message` zurückDie vier Regeltypen
In Cursor wählst du den Typ per Dropdown. Das Dropdown setzt die drei Felder für dich:
| Regeltyp | Wann greift er? |
|---|---|
| Always Apply | In jeder Chat-Session |
| Apply Intelligently | Wenn der Agent die Beschreibung für relevant hält |
| Apply to Specific Files | Wenn eine Datei zum Muster passt |
| Apply Manually | Nur per @-Erwähnung im Chat, z. B. @my-rule |
Entscheidungstabelle: Feldkombination → Verhalten
alwaysApply | description | globs | Verhalten |
|---|---|---|---|
true | – | – | Immer dabei. globs und description werden ignoriert. |
false | – | gesetzt | Automatisch, wenn eine passende Datei im Kontext ist |
false | gesetzt | – | Agent entscheidet anhand der Beschreibung |
false | – | – | Nur bei @-Erwähnung |
Merke: alwaysApply: true schlägt alles. Wer globs setzt und trotzdem true stehen lässt, bekommt die Regel überall.
Glob-Muster: was funktioniert
Mehrere Muster trennst du mit Komma.
| Muster | Trifft |
|---|---|
*.ts | Alle .ts-Dateien im Root |
**/*.ts | Alle .ts-Dateien in jedem Ordner |
src/** | Alles unter src/ |
src/**/*.tsx | Alle .tsx-Dateien unter src/ |
docs/**/*.md, docs/**/*.mdx | .md und .mdx unter docs/ |
tailwind.config.* | tailwind.config mit beliebiger Endung |
Typische Fehler:
*.tsstatt**/*.ts: trifft nur den Root, nichtsrc/.- Komma vergessen: zwei Muster ohne Komma werden nicht getrennt.
- globs plus
alwaysApply: true: die globs sind dann wirkungslos.
.mdc vs. .md
Die Doku ist eindeutig: Projektregeln müssen die Endung .mdc haben. Eine normale .md-Datei in .cursor/rules wird ignoriert, weil ihr das Frontmatter für description, globs und alwaysApply fehlt.
Du willst lieber reines Markdown ohne Metadaten? Dann nimm AGENTS.md (siehe unten).
Drei Beispielregeln zum Kopieren
1. TypeScript (Apply to Specific Files) – .cursor/rules/typescript.mdc
---
globs: src/**/*.ts, src/**/*.tsx
alwaysApply: false
---
- TypeScript strict, kein `any`
- Named Exports statt Default Exports
- Typen für API-Antworten aus zod-Schemas ableiten2. Tests (Apply Intelligently) – .cursor/rules/testing.mdc
---
description: Konventionen beim Schreiben oder Ändern von Tests
alwaysApply: false
---
- Testdateien liegen neben dem Code: `name.test.ts`
- Ein Verhalten pro Test, Name beschreibt das erwartete Ergebnis
- Führe nach Änderungen die Testsuite aus, bevor du fertig meldest3. Git-Hygiene (Always Apply) – .cursor/rules/git.mdc
---
alwaysApply: true
---
- Nie `.env`-Dateien oder Secrets committen
- Commit-Messages nach Conventional Commits (feat, fix, docs, chore)
- Keine Dateien in `dist/` oder `build/` bearbeitenNeue Regeln kannst du auch mit /create-rule im Agent-Chat anlegen. Cursor erzeugt dann die Datei mit passendem Frontmatter.
Regeln kurz halten
Die Best Practices aus der Cursor-Doku:
- Unter 500 Zeilen pro Regel.
- Große Regeln aufteilen in mehrere kleine.
- Dateien referenzieren statt kopieren. Eine Erwähnung wie
@service-template.tszeigt dem Agent, wo er nachlesen soll. Der Inhalt wird aber nicht automatisch eingefügt. Was immer im Kontext sein muss, gehört direkt in die Regel. - Keine kompletten Styleguides. Dafür gibt es Linter.
- Erst bei Wiederholung. Schreib eine Regel, wenn der Agent denselben Fehler mehrfach macht.
Wichtig: Regeln wirken laut Doku nicht auf Cursor Tab oder andere KI-Features, sondern auf den Agent (Chat).
AGENTS.md und CLAUDE.md: kurz eingeordnet
AGENTS.md ist reines Markdown ohne Frontmatter. Cursor liest es im Projekt-Root und in Unterordnern. Verschachtelte Dateien werden mit den übergeordneten kombiniert, die spezifischere hat Vorrang.
Claude Code liest CLAUDE.md. Ab v2.1.277 liest es auch AGENTS.md, aber standardmäßig nur, wenn keine CLAUDE.md im Arbeitsverzeichnis oder darüber liegt. Für eine gemeinsame Quelle importierst du AGENTS.md in die CLAUDE.md:
@AGENTS.md
## Claude Code
- Nutze den Plan-Modus für Änderungen unter `src/billing/`.Das Gegenstück zu dateibezogenen .mdc-Regeln sind in Claude Code Dateien unter .claude/rules/*.md. Dort ist paths das einzige Frontmatter-Feld, das Claude Code liest. Andere Felder wie globs oder alwaysApply werden ohne Fehlermeldung ignoriert:
---
paths:
- "src/api/**/*.ts"
---
- Jeder API-Endpunkt validiert seine EingabenWann du welche Datei nimmst, erklärt unser Guide Cursor Rules vs. AGENTS.md (Englisch).
Lieber mit fertigen Regeln starten?
13 stack-neutrale Startregeln statt einer leeren Datei, plus Vorlagen für AGENTS.md und CLAUDE.md: Das Cursor + Claude Code Rules Pack von Aramac ist geprüft gegen das Cursor-Rules-Format (.mdc, Stand Oktober 2026). Nur für eigene, nicht gewerbliche Zwecke (Lizenz). 19 € inkl. MwSt.
Für wiederkehrende Abläufe in Claude Code gibt es separat das Claude Code Skills Pack (29 € inkl. MwSt.).
FAQ
Warum wird meine Cursor-Regel ignoriert?
Prüfe zuerst die Endung: Projektregeln müssen .mdc heißen, .md-Dateien in .cursor/rules werden ignoriert. Bei „Apply Intelligently“ braucht die Regel eine description, bei „Apply to Specific Files“ ein passendes Glob-Muster.
Was macht alwaysApply?
Mit alwaysApply: true ist die Regel in jeder Chat-Session dabei. globs und description werden dann ignoriert.
Wie trenne ich mehrere globs?
Mit Komma, zum Beispiel: docs/**/.md, docs/*/*.mdx.
Liest Cursor auch AGENTS.md?
Ja. Cursor unterstützt AGENTS.md im Projekt-Root und in Unterordnern als einfache Alternative zu .cursor/rules.
Gelten Cursor Rules auch für Cursor Tab?
Nein. Laut Cursor-Doku wirken Regeln nicht auf Cursor Tab oder andere KI-Features.
Quellen
- Cursor-Doku: Rules
- Anthropic, Claude Code Doku: How Claude remembers your project (CLAUDE.md, AGENTS.md,
.claude/rules/) - AGENTS.md
Alle geprüft am 16. Oktober 2026.
---
Ein unabhängiges Produkt der Aramac GmbH. Nicht mit Anysphere (Cursor) oder Anthropic (Claude Code) verbunden oder von ihnen unterstützt. Cursor und Claude sind Marken ihrer jeweiligen Inhaber.