Vue d’ensemble

Cursor lit et indexe le code de ton projet pour alimenter ses fonctionnalités. Contrôle les répertoires et fichiers auxquels Cursor peut accéder avec un fichier .cursorignore à la racine de ton projet. Cursor bloque l’accès aux fichiers listés dans .cursorignore pour :
Les appels d’outils lancés par Agent, comme le terminal et les serveurs MCP, ne peuvent pas bloquer l’accès au code régi par .cursorignore

Pourquoi ignorer des fichiers ?

Sécurité : Restreins l’accès aux clés d’API, identifiants et secrets. Même si Cursor bloque les fichiers ignorés, une protection totale n’est pas garantie à cause de l’imprévisibilité des LLM. Performance : Dans de grandes bases de code ou des monorepos, exclue les parties non pertinentes pour un indexage plus rapide et une découverte de fichiers plus précise.

Fichiers d’ignore globaux

Définis des patterns d’exclusion pour tous les projets dans tes paramètres utilisateur afin d’écarter les fichiers sensibles sans configurer chaque projet individuellement.
Liste d’ignore globale de Cursor
Les patterns par défaut incluent :
  • Fichiers d’environnement : **/.env, **/.env.*
  • Identifiants : **/credentials.json, **/secrets.json
  • Clés : **/*.key, **/*.pem, **/id_rsa

Configurer .cursorignore

Crée un fichier .cursorignore à la racine de ton projet en utilisant la syntaxe de .gitignore.

Exemples de modèles

config.json      # Fichier spécifique
dist/           # Répertoire
*.log           # Extension de fichier
**/logs         # Répertoires imbriqués
!app/           # Annuler l’ignorance (négation)

Ignorer hiérarchique

Active Cursor Settings > Features > Editor > Hierarchical Cursor Ignore pour rechercher des fichiers .cursorignore dans les répertoires parents. Notes : Les commentaires commencent par #. Les règles définies plus tard écrasent les précédentes. Les règles sont relatives à l’emplacement du fichier.

Limiter l’indexation avec .cursorindexingignore

Utilise .cursorindexingignore pour exclure des fichiers de l’indexation uniquement. Ces fichiers restent accessibles aux fonctionnalités d’IA, mais n’apparaîtront pas dans les recherches du codebase.

Fichiers ignorés par défaut

Cursor ignore automatiquement les fichiers listés dans .gitignore ainsi que la liste d’exclusion par défaut ci-dessous. Tu peux les rétablir avec le préfixe ! dans .cursorignore.
Uniquement pour l’indexation, ces fichiers sont ignorés en plus de ceux présents dans ton .gitignore, .cursorignore et .cursorindexingignore :
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/

Limitations des motifs de négation

Quand tu utilises des motifs de négation (préfixés par !), tu ne peux pas réinclure un fichier si un répertoire parent est exclu via *.
# Ignorer tous les fichiers du dossier public
public/*

# ✅ Ça fonctionne, car le fichier se trouve à la racine
!public/index.html

# ❌ Ça ne fonctionne pas — impossible de réinclure des fichiers depuis des sous-répertoires
!public/assets/style.css
Solution de contournement : exclure explicitement les sous-répertoires :
public/assets/*
!public/assets/style.css # Ce fichier est désormais accessible
Les répertoires exclus ne sont pas parcourus pour des raisons de performances, donc les motifs visant les fichiers qu’ils contiennent n’ont aucun effet. Cela correspond à l’implémentation de .gitignore pour les motifs de négation dans les répertoires imbriqués. Pour plus de détails, consulte la documentation officielle de Git sur les motifs gitignore.

Dépannage

Teste les patterns avec git check-ignore -v [file].