Überblick

Cursor liest und indexiert den Code deines Projekts, um seine Funktionen bereitzustellen. Steuere, auf welche Verzeichnisse und Dateien Cursor zugreifen kann, indem du eine .cursorignore-Datei im Root-Verzeichnis verwendest. Cursor blockiert den Zugriff auf in .cursorignore aufgeführte Dateien für:
Vom Agent initiierte Tool-Aufrufe, z. B. Terminal und MCP-Server, können den Zugriff auf Code, der durch .cursorignore gesteuert wird, nicht blockieren

Warum Dateien ignorieren?

Sicherheit: Den Zugriff auf API-Schlüssel, Zugangsdaten und Secrets einschränken. Cursor blockiert ignorierte Dateien, aber vollständiger Schutz ist wegen der Unvorhersehbarkeit von LLMs nicht garantiert. Performance: In großen Codebases oder Monorepos irrelevante Bereiche ausschließen, um schneller zu indexieren und Dateien genauer zu finden.

Globale Ignore-Dateien

Leg in den Benutzereinstellungen Ignore-Muster für alle Projekte fest, um sensible Dateien ohne projektweise Konfiguration auszuschließen.
Globale Cursor Ignore-Liste
Standardmuster sind:
  • Umgebungsdateien: **/.env, **/.env.*
  • Zugangsdaten: **/credentials.json, **/secrets.json
  • Schlüssel: **/*.key, **/*.pem, **/id_rsa

Konfigurieren von .cursorignore

Erstell in deinem Root-Verzeichnis eine .cursorignore-Datei mit der .gitignore-Syntax.

Beispielmuster

config.json      # Konkrete Datei
dist/           # Verzeichnis
*.log           # Dateiendung
**/logs         # Verschachtelte Verzeichnisse
!app/           # Von der Ignorierliste ausnehmen (Negation)

Hierarchisches Ignorieren

Aktiviere Cursor Settings > Features > Editor > Hierarchical Cursor Ignore, um in übergeordneten Verzeichnissen nach .cursorignore-Dateien zu suchen. Hinweise: Kommentare beginnen mit #. Spätere Muster überschreiben frühere. Muster sind relativ zum Speicherort der Datei.

Indizierung mit .cursorindexingignore begrenzen

Verwende .cursorindexingignore, um Dateien ausschließlich von der Indizierung auszunehmen. Diese Dateien bleiben für AI‑Features zugänglich, werden aber nicht in Codebase‑Suchen angezeigt.

Standardmäßig ignorierte Dateien

Cursor ignoriert automatisch Dateien in .gitignore sowie in der unten aufgeführten Standard-Ignorierliste. Du kannst das mit dem Präfix ! in .cursorignore überschreiben.
Nur für das Indexing werden diese Dateien zusätzlich zu den Dateien in deiner .gitignore, .cursorignore und .cursorindexingignore ignoriert:
package-lock.json
pnpm-lock.yaml
yarn.lock
composer.lock
Gemfile.lock
bun.lockb
.env*
.git/
.svn/
.hg/
*.lock
*.bak
*.tmp
*.bin
*.exe
*.dll
*.so
*.lockb
*.qwoff
*.isl
*.csv
*.pdf
*.doc
*.doc
*.xls
*.xlsx
*.ppt
*.pptx
*.odt
*.ods
*.odp
*.odg
*.odf
*.sxw
*.sxc
*.sxi
*.sxd
*.sdc
*.jpg
*.jpeg
*.png
*.gif
*.bmp
*.tif
*.mp3
*.wav
*.wma
*.ogg
*.flac
*.aac
*.mp4
*.mov
*.wmv
*.flv
*.avi
*.zip
*.tar
*.gz
*.7z
*.rar
*.tgz
*.dmg
*.iso
*.cue
*.mdf
*.mds
*.vcd
*.toast
*.img
*.apk
*.msi
*.cab
*.tar.gz
*.tar.xz
*.tar.bz2
*.tar.lzma
*.tar.Z
*.tar.sz
*.lzma
*.ttf
*.otf
*.pak
*.woff
*.woff2
*.eot
*.webp
*.vsix
*.rmeta
*.rlib
*.parquet
*.svg
.egg-info/
.venv/
node_modules/
__pycache__/
.next/
.nuxt/
.cache/
.sass-cache/
.gradle/
.DS_Store/
.ipynb_checkpoints/
.pytest_cache/
.mypy_cache/
.tox/
.git/
.hg/
.svn/
.bzr/
.lock-wscript/
.Python/
.jupyter/
.history/
.yarn/
.yarn-cache/
.eslintcache/
.parcel-cache/
.cache-loader/
.nyc_output/
.node_repl_history/
.pnp.js/
.pnp/

Einschränkungen von Negationsmustern

Wenn du Negationsmuster verwendest (mit ! vorangestellt), kannst du eine Datei nicht erneut einbeziehen, wenn ein übergeordnetes Verzeichnis per * ausgeschlossen wurde.
# Alle Dateien im Ordner public ignorieren
public/*

# ✅ Das funktioniert, da sich die Datei auf der obersten Ebene befindet
!public/index.html

# ❌ Das funktioniert nicht – Dateien aus verschachtelten Verzeichnissen können nicht erneut eingeschlossen werden
!public/assets/style.css
Workaround: Verschachtelte Verzeichnisse ausdrücklich ausschließen:
public/assets/*
!public/assets/style.css # Diese Datei ist jetzt zugänglich
Ausgeschlossene Verzeichnisse werden aus Performancegründen nicht durchsucht, daher haben Muster für darin enthaltene Dateien keine Wirkung. Das entspricht der .gitignore-Implementierung für Negationsmuster in verschachtelten Verzeichnissen. Weitere Details findest du in der offiziellen Git-Dokumentation zu gitignore-Mustern.

Fehlerbehebung

Teste Muster mit git check-ignore -v [file].