Cursor .cursorignore: Vollständiger Leitfaden – 3 Strategien für Index-Optimierung in großen Projekten
Aktualisiert am 2026-06-08: Gegen Cursors offizielle Docs (Juni 2026) geprüft. Cursor respektiert bereits .gitignore plus eine eingebaute Standard-Ignore-Liste (node_modules, Lockfiles, Build-Artefakte, Binär-/Mediendateien werden meist schon nicht indexiert), daher ist .cursorignore vor allem eine harte Zugriffssperre plus Zusatz-Ausschlüsse; .cursorindexingignore blockiert nur die Indexierung, per @-Erwähnung bleibt die Datei lesbar. Außerdem ist die einzelne Root-Datei .cursorrules jetzt legacy (im Agent-Modus ignoriert) — Projektregeln gehören in .cursor/rules/*.mdc.
Letzten Dienstagnachmittag öffnete ich das Firmen-Monorepo mit über 500.000 Zeilen Code. Unten rechts drehte sich das Syncing-Symbol von Cursor. Nach 5 Minuten noch aktiv. Nach 10 Minuten immer noch Indexierung. Ich holte einen Kaffee – beim Zurückkommen drehte sich das Icon weiter.
Schlimmer kam danach: Nach dem Index bat ich die KI, eine React-Komponente zu optimieren. Der Vorschlag: „Ändern Sie direkt node_modules/react-dom/cjs/react-dom.development.js.“ Drei Sekunden Stille vor dem Bildschirm – die KI hielt Dependency-Code für Projektcode.
Kurz dachte ich, Cursor taugt nicht für große Repos. Dann entdeckte ich .cursorignore – und vieles änderte sich: Index von 12 auf 3 Minuten, keine Empfehlungen mehr, node_modules anzufassen.
Wenn Sie langsame Indizes oder falsches KI-Verständnis kennen, hilft dieser Artikel. Drei sofort wirksame Strategien plus eine kopierbare Vorlage.
Warum Ihr Cursor-Index so langsam ist
Cursor erstellt beim Öffnen Embeddings – eine numerische Repräsentation des Codes für die KI. Jede Datei wird gelesen, vektorisiert und gespeichert. Mehr Dateien bedeuten längere Wartezeit.
Die Frage: Muss die KI wirklich jede Datei verstehen?
In den meisten Projekten gibt es große, zahlreiche Verzeichnisse mit wenig Nutzen für KI-Assistenz:
node_modules – das Dependency-Loch
Ein mittleres Frontend-Projekt kann Zehntausende Dateien in node_modules haben. Cursor indexiert Third-Party-Code – brauchen Sie wirklich das Innenleben von lodash?
dist/build – Build-Müll
Komprimierte, oft einzeilige Bundles sind für die KI unlesbar und wertlos.
.git – Historie
Die Git-Historie kann Hunderte MB bis GB umfassen – reine Zeitverschwendung beim Index.
Große statische Assets
Videos, Bilder, Fonts – die KI kann sie nicht sinnvoll nutzen.
Test: Next.js-Projekt mit ~100.000 Zeilen, vollem node_modules und .next – Index ~8 Minuten. Mit .cursorignore für diese Ordner ~2 Minuten. Faktor vier.
Genauer wird es wichtig: Voller node_modules-Kontext verwirrt die KI – Vorschläge für Dependency-Dateien oder fremde APIs als eigene Funktionen.
.cursorignore – vollständige Konfiguration
Gute Nachricht: Die Syntax entspricht .gitignore. Wer Git-Ignore beherrscht, kann .cursorignore sofort schreiben.
Kurzüberblick Syntax
Im Projektroot .cursorignore anlegen (mit führendem Punkt):
# Kommentar mit #
# Einzelne Datei
config.json
# Verzeichnis (Schrägstrich am Ende)
node_modules/
dist/
# Wildcards
*.log # alle Log-Dateien
**/*.test.js # Tests in allen Ebenen
# Negation (wieder einschließen)
!important.log
Sofort nutzbare Vorlage
Basis-Konfiguration für die meisten Projekte:
# Dependencies
node_modules/
.pnp/
.pnp.js
vendor/
packages/
# Build-Artefakte
dist/
build/
out/
.next/
.nuxt/
.cache/
.vite/
.turbo/
# Tests & Coverage
coverage/
.nyc_output/
*.spec.js
*.test.js
__tests__/
# Logs & Temporäres
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
.DS_Store
*.swp
*.swo
*~
# Umgebung (Sicherheit)
.env
.env.local
.env.*.local
credentials.json
*.key
*.pem
# Versionskontrolle
.git/
.svn/
.hg/
# IDE (optional)
.vscode/
.idea/
*.sublime-*
# Große Assets (anpassen)
*.mp4
*.mov
*.avi
*.zip
*.tar.gz
*.pdf
public/videos/
Deckt etwa 90 % ab. Danach: Einstellungen > Features > Codebase Indexing > Refresh.
Szenario-spezifische Erweiterungen
React/Vue – große Dateien unter public:
public/assets/
public/images/*.png
public/fonts/
Monorepo – nur relevante Pakete:
apps/mobile/
apps/admin/
packages/backend-utils/
Full-Stack – getrennte Sicht:
# Frontend-Fokus
server/
api/
database/
migrations/
# Backend-Fokus
client/
public/
src/components/
Unsicher, ob eine Datei ausgeschlossen ist:
git check-ignore -v [Dateipfad]
Gleiche Syntax wie bei Cursor – gut zum Debuggen.
.cursorignore vs. .cursorindexingignore
Zwei ähnliche Namen – welches Tool wann?
Kurz: .cursorignore = vollständige Sperre, .cursorindexingignore = nur kein Index.
Unterschied im Detail
.cursorignore: Kein Zugriff – nicht indexiert, nicht gelesen, nicht referenziert. Für Secrets (.env, Keys) und Unnötiges (node_modules, Builds).
.cursorindexingignore: Nicht in der Codebase-Suche, aber bei Bedarf lesbar (z. B. per @-Erwähnung oder Drag-and-drop). Später für Performance hinzugefügt, ohne harten Ausschluss.
Beispiel: Ordner legacy/ mit altem Code – nicht in jeder Suche, aber gelegentlich als Referenz nötig → .cursorindexingignore.
Szenario-Tabelle
| Dateityp | Empfehlung | Grund |
|---|---|---|
| .env, credentials.json | .cursorignore | Sicherheit |
| node_modules | .cursorignore | Kein Bedarf an Dependency-Internals |
| dist/build | .cursorignore | Build-Artefakte nutzlos |
| Test-Fixtures | .cursorindexingignore | Weniger Rauschen, Zugriff möglich |
| Legacy-Code | .cursorindexingignore | Selten in Suche, Referenz möglich |
| Dokument-Entwürfe | .cursorindexingignore | Leichterer Index |
| Große Testdaten | .cursorignore | Platz und Nutzen gering |
Priorität
.gitignore(automatisch).cursorignore(mit!überschreibbar).cursorindexingignore
Beispiel: logs/ in .gitignore, aber eine Debug-Log-Datei für die KI:
!logs/important-debug.log
Hierarchical Cursor Ignore (in den Einstellungen): Cursor liest auch .cursorignore in übergeordneten Ordnern – sinnvoll für Monorepo-Root plus Subprojekt-Regeln.
Praxis-Strategie
Meist reicht .cursorignore. .cursorindexingignore ist Feintuning für sehr große oder komplexe Repos.
Vorgehen:
- Nur
.cursorignoremit klaren Ausschlüssen - Eine Woche beobachten
- Bei Bedarf
.cursorindexingignoreergänzen
Nicht zu früh überkomplizieren.
Drei Strategien für Monorepos
Monorepos überfordern Cursor leicht: Web, API, Mobile, Admin in einem Repo – die KI vermischt Grenzen.
Aus einem 12-App-Monorepo: KI empfahl eine Backend-Utility für Frontend – logisch klingend, aber zur Laufzeit nicht erreichbar.
Drei bewährte Ansätze:
Strategie 1: Index nach Arbeitsbereich
Einfachste Methode: alles ausschließen, was Sie nicht bearbeiten.
Frontend in apps/web:
# .cursorignore
apps/mobile/
apps/admin/
apps/api/
packages/backend-utils/
packages/database/
services/
Schnellerer Index, weniger Rauschen. Nur zwei eigene Pakete behalten: Index von 15 auf 4 Minuten.
Full-Stack-Wechsel: .cursorignore.frontend / .cursorignore.backend vorbereiten und je nach Task kopieren.
Strategie 2: Project Rules (.cursor/rules/)
Monorepo-Problem: Beziehungen zwischen Ordnern unklar. Lösung: Project Rules als „Karte”. Hinweis: Das alte Root-.cursorrules ist jetzt legacy und wird im Agent-Modus ignoriert — für neue Projekte .mdc-Dateien in .cursor/rules/ (nicht .cursorignore).
Im .cursor/rules/ eine Regeldatei (z. B. project-structure.mdc) mit YAML-Frontmatter (description, globs, alwaysApply):
---
description: Monorepo-Struktur und Referenzregeln
alwaysApply: true
---
# Projektstruktur
Monorepo mit:
- apps/web: Frontend (Next.js), Port 3000
- apps/api: Backend (Node.js + Express), Port 8000
- apps/admin: Admin (React), Port 3001
- packages/ui: Shared UI
- packages/utils: Shared Utils
## Referenzregeln
- web/admin nur packages/ui und packages/utils
- Frontend darf apps/api nicht direkt importieren
- packages/* dürfen nicht von apps/* abhängen
## Fokus
Aktuell apps/web – Vorschläge bitte nur Frontend.
Die KI liest das – deutlich weniger Cross-Boundary-Empfehlungen.
Strategie 3: Getrennte Fenster
Bei 20+ Sub-Apps reicht ein Fenster oft nicht.
- Fenster 1:
apps/web - Fenster 2:
apps/api - Fenster 3:
packages/ui
Eigener Index und Kontext pro Fenster. Wechselkosten, aber höhere Trefferquote.
Abhängigkeit web → ui: in der Web-Session gezielt:
@folder packages/ui Prüfe die Button-Props-Definition
Leichtes Fenster, bei Bedarf Shared Code.
Kernidee Monorepo
Die KI soll nur sehen, was sie sehen muss.
Je größer das Repo, desto mehr weglassen. Grenzen setzen – dann passen die Vorschläge.
Konfiguration prüfen und pflegen
.cursorignore ist kein einmaliger Akt – prüfen und anpassen.
Wirksamkeit testen
Offensichtlich: Syncing-Dauer vor/nach der Konfiguration.
Genauer:
-
Index-Status
Einstellungen > Features > Codebase Indexing – Dateianzahl sollte sinken. -
KI-Kontext
Mit@codebasefragen; nach Ausschluss von node_modules keine Komponenten ausnode_modules/react. -
Suche
Cmd/Ctrl + P: Dateiname in ausgeschlossenem Ordner – sollte nicht erscheinen.
Wann manuell refreshen
Cursor aktualisiert inkrementell, aber Refresh nötig bei:
- Änderung an
.cursorignore - großem Branch-Wechsel
- massenhaftem Hinzufügen/Löschen
- spürbar veraltetem KI-Verständnis
Einstellungen > Features > Codebase Indexing > Refresh – warten bis Syncing fertig.
Laufende Pflege
Monatliche Checkliste:
- neue Build-Ordner (z. B.
.output/nach Framework-Upgrade) - neue große Verzeichnisse
- tote Regeln entfernen
Team:
- Gemeinsam committen: node_modules, dist, .env, Framework-Caches
- Persönlich: Subprojekt-Ausschlüsse in
.git/info/excludeoder.cursorignore.local
In .gitignore:
.cursorignore.local
Kommentare in .cursorignore helfen später:
# 2025-01-15: AI-Trainingsdaten – zu groß, kein Index
data/training/
# 2025-01-10: Performance-Tests mit vielen Logs
perf-tests/
Weiterführend
- Cursor-Codebase-Indexierung – der vollständige Leitfaden: Prinzipien, Konfiguration & @-Symbol
- Cursor in großen Projekten: den Agent in großen Repos nicht verlieren
- Cursor-Gratiskontingent – der vollständige Leitfaden
Zusammenfassung
Langsame Indizes und falsche KI-Tipps sind selten ein Tool-Problem – oft fehlt die Information, worauf die KI achten soll.
.cursorignore ist einfach und wirksam: wenige Minuten Setup, Monate weniger Wartezeit und treffendere Vorschläge.
Drei Schritte:
- Jetzt: Basis-Vorlage aus diesem Artikel im Projektroot anlegen
- Anpassen: React/Vue/Monorepo-Regeln ergänzen
- Iterieren: eine Woche beobachten, Probleme notieren, Konfiguration verfeinern
Perfektion beim ersten Mal ist unnötig – 80 % mit der Basis, 20 % im Alltag.
Nutzen Sie Cursor in großen Projekten? Teilen Sie gern Erfahrungen oder offene Fragen in den Kommentaren – vielleicht hilft es anderen mit dem gleichen Syncing-Spinner.
Cursor .cursorignore – vollständiger Konfigurationsablauf
Schritt für Schritt .cursorignore einrichten und die Cursor-Codebase-Indexierung optimieren
⏱️ Estimated time: 10 min
- 1
Step 1: .cursorignore anlegen und Basis-Konfiguration
Schritt 1: Im Projektroot eine .cursorignore-Datei erstellen
Basis-Vorlage (90 % der Szenarien):
• Dependencies: node_modules/, vendor/, .pnp/
• Build-Artefakte: dist/, build/, out/, .next/, .nuxt/, .cache/
• Tests: coverage/, *.spec.js, *.test.js, __tests__/
• Logs: *.log, npm-debug.log*, yarn-error.log*
• Umgebung: .env, .env.local, credentials.json, *.key
• Versionskontrolle: .git/, .svn/
• Große Assets: *.mp4, *.zip, *.pdf, public/videos/
Hinweis: Syntax wie .gitignore, Verzeichnisse mit Schrägstrich am Ende, Wildcards * und **, # für Kommentare - 2
Step 2: Projektspezifische Erweiterungen
Schritt 2: Passende Zusatzregeln wählen
React/Vue zusätzlich:
• public/assets/ (große statische Assets)
• public/images/*.png
• public/fonts/
Monorepo:
• apps/mobile/, apps/admin/, packages/backend-utils/ ausschließen
• Nur das aktuell bearbeitete Subprojekt behalten
Full-Stack:
• Frontend: server/, api/, database/, migrations/ ausschließen
• Backend: client/, public/, src/components/ ausschließen
Tipp: .cursorignore.frontend und .cursorignore.backend vorbereiten und je nach Arbeit wechseln - 3
Step 3: Prüfen, ob die Konfiguration greift
Schritt 3: Wirkung kontrollieren
Methode 1: Index-Dauer
• Syncing-Zeit vor/nach der Konfiguration – sollte deutlich kürzer sein
Methode 2: Index-Status
• Einstellungen > Features > Codebase Indexing
• Anzahl indexierter Dateien sollte sinken
Methode 3: KI-Kontext
• Mit @codebase fragen: „Welche React-Komponenten gibt es im Projekt?“
• KI darf keine Komponenten unter node_modules/react listen
Methode 4: Suche
• Cmd/Ctrl + P: Datei in ausgeschlossenem Ordner – sollte nicht erscheinen
Index neu laden: Einstellungen > Features > Codebase Indexing > Refresh - 4
Step 4: Monorepo-Sonderkonfiguration (optional)
Schritt 4: Zusätzliche Monorepo-Optimierung
Strategie 1: Nach Arbeitsbereich
• Irrelevante Subprojekte in .cursorignore
• Beispiel Frontend-Team: apps/mobile/, apps/api/, packages/backend-utils/
• Effekt: Index von 15 auf 4 Minuten
Strategie 2: Project Rules
• .mdc-Regeldateien in .cursor/rules/ anlegen (altes Root-.cursorrules ist legacy, im Agent-Modus ignoriert)
• Projektstruktur, Sub-Apps, Referenzregeln beschreiben
• Weniger Cross-Boundary-Empfehlungen
Strategie 3: Getrennte Fenster
• Fenster 1: apps/web, Fenster 2: apps/api
• Bei Bedarf @folder für Shared Packages
FAQ
Was ist der Unterschied zwischen .cursorignore und .cursorindexingignore? Welche Datei nutzen?
• .cursorignore: KI hat keinen Zugriff – kein Index, kein Lesen, keine Referenz; für sensible Dateien (.env, credentials.json) und Nutzloses (node_modules, dist)
• .cursorindexingignore: nur kein Index, KI kann bei Bedarf lesen; für Legacy-Code, Test-Fixtures
Empfehlung: In 90 % der Fälle reicht .cursorignore. Basisregeln setzen, eine Woche beobachten, bei Bedarf .cursorindexingignore nachschärfen.
Index bleibt nach .cursorignore langsam – was tun?
1. Greift die Konfiguration? Einstellungen > Features > Codebase Indexing – Dateianzahl sollte sinken
2. Manuell refreshen nach Änderungen
3. Große Ordner vergessen? `du -sh */` und in .cursorignore ergänzen
4. Monorepo: irrelevante Subprojekte ausschließen oder separate Fenster
5. Cache: .cursor-Verzeichnis löschen und neu indexieren
Typisch: 100.000 Zeilen vorher ~8 Min., danach 2–3 Min. – wenig Unterschied bedeutet unvollständige Regeln.
Kann die KI Third-Party-APIs noch vorschlagen, wenn node_modules ausgeschlossen ist?
• Trainingswissen zu React, Vue, Express usw.
• import-Zeilen zeigen genutzte Bibliotheken
• Kontext reicht für API-Nutzung ohne node_modules-Quellcode
Praxis: Vorschläge zu Hooks, Lodash, Axios bleiben normal; weniger Verwechslung mit Projektcode
Ausnahme: sehr exotische Pakete – temporär mit ! wieder einschließen
Soll .cursorignore ins Git für Teams?
Committen:
• Allgemeine Regeln (node_modules, dist, .git, .env)
• Framework-Verzeichnisse (.next, .nuxt, .cache)
• Große Assets (public/videos, data/datasets)
Nicht committen:
• Persönliche Ausschlüsse (einzelne Subprojekte)
• Umgebungsspezifische Pfade
• Temporäre Debug-Ausschlüsse
Empfehlung:
1. Gemeinsame Regeln in .cursorignore
2. Persönliches in .cursorignore.local
3. .cursorignore.local in .gitignore
4. Kommentare zu jedem Regelblock
Monorepo: unterschiedliche .cursorignore für Frontend und Backend?
1. Mehrere Dateien
• .cursorignore.frontend und .cursorignore.backend
• Je nach Arbeit nach .cursorignore kopieren
• Gut für häufig wechselnde Full-Stack-Entwickler
2. Getrennte Fenster
• Fenster 1: apps/web, Fenster 2: apps/api
• Eigener Index pro Fenster
• Gut für große Monorepos (20+ Apps)
3. Git-Branches
• main: Standard, Feature-Branch: eigene ignore
• Vor Merge revertieren
Empfehlung: kleine Teams Ansatz 1, große Teams Ansatz 2
KI referenziert trotzdem ausgeschlossene Ordner – warum?
1. Index nicht aktualisiert → Refresh unter Codebase Indexing
2. Syntaxfehler → node_modules/ mit Schrägstrich, *.log ohne trailing /
3. .gitignore-Konflikt → mit ! in .cursorignore überschreiben
4. Alter Chat-Kontext → Chat leeren, neu fragen; ggf. .cursor-Cache löschen
5. Datei nicht wirklich ausgeschlossen → Cmd/Ctrl + P testen; `git check-ignore -v [Pfad]`
7 Min. Lesezeit · Veröffentlicht am: 15. Jan. 2026 · Aktualisiert am: 9. Juli 2026
Cursor Komplettleitfaden
Wenn du über die Suche hier gelandet bist, kommst du am schnellsten weiter, indem du zum vorherigen oder nächsten Beitrag dieser Serie springst.
Vorheriger
Cursor Codebase-Index: Vollständiger Leitfaden zu Prinzip, Konfiguration und @-Symbolen
2026-Leitfaden zur Cursor-Codebase-Indexierung: Funktionsweise, .cursorignore-Konfiguration, die 6 @-Symbole und die Privacy-Wahrheit, ob der Index in die Cloud geht.
Teil 9 von 25
Nächster
Cursor: @Codebase, @Docs oder @Files – Praxisleitfaden für die richtige Wahl
Praxisleitfaden für Cursors @-Symbol-System: @Codebase, @Docs und @Files im Einsatz, mit Entscheidungsbaum, Fallbeispielen und Best Practices für effizienteres KI-gestütztes Programmieren.
Teil 11 von 25
Ähnliche Beiträge
Nicht mehr falsch nutzen! Die richtige Verwendung der 3 Cursor-Kernfunktionen

Nicht mehr falsch nutzen! Die richtige Verwendung der 3 Cursor-Kernfunktionen
Cursor Agent-Modus: Vollständiger Leitfaden – Automatisierung in 3 Schritten (2026)


Kommentare
Melde dich mit GitHub an, um einen Kommentar zu hinterlassen