Descripción general

Cursor lee e indexa el código de tu proyecto para habilitar sus funciones. Controla a qué directorios y archivos puede acceder Cursor usando un archivo .cursorignore en tu directorio raíz. Cursor bloquea el acceso a los archivos listados en .cursorignore para:
Las llamadas a herramientas iniciadas por Agent, como la terminal y los servidores MCP, no pueden bloquear el acceso al código gobernado por .cursorignore

¿Por qué ignorar archivos?

Seguridad: Restringe el acceso a claves de API, credenciales y secretos. Aunque Cursor bloquea los archivos ignorados, no se puede garantizar una protección total debido a la imprevisibilidad de los LLM. Rendimiento: En bases de código grandes o monorepos, excluye partes irrelevantes para un indexado más rápido y una detección de archivos más precisa.

Archivos globales de ignore

Configura patrones de ignore para todos los proyectos en la configuración de usuario y así excluir archivos sensibles sin tener que configurar cada proyecto por separado.
Lista global de ignore de Cursor
Los patrones predeterminados incluyen:
  • Archivos de entorno: **/.env, **/.env.*
  • Credenciales: **/credentials.json, **/secrets.json
  • Claves: **/*.key, **/*.pem, **/id_rsa

Configurar .cursorignore

Crea un archivo .cursorignore en tu directorio raíz usando la sintaxis de .gitignore.

Ejemplos de patrones

config.json      # Archivo específico
dist/           # Directorio
*.log           # Extensión de archivo
**/logs         # Directorios anidados
!app/           # Quitar de la lista de ignorados (negación)

Ignorar jerárquico

Activa Cursor Settings > Features > Editor > Hierarchical Cursor Ignore para buscar en los directorios superiores archivos .cursorignore. Notas: Los comentarios empiezan con #. Los patrones posteriores reemplazan a los anteriores. Los patrones son relativos a la ubicación del archivo.

Limita la indexación con .cursorindexingignore

Usa .cursorindexingignore para excluir archivos únicamente de la indexación. Estos archivos siguen estando disponibles para las funciones de IA, pero no aparecerán en las búsquedas del código.

Archivos ignorados de forma predeterminada

Cursor ignora automáticamente los archivos de .gitignore y la lista de ignorados predeterminada de abajo. Podés anular esto con el prefijo ! en .cursorignore.
Solo para indexación, estos archivos se ignoran además de los que estén en tu .gitignore, .cursorignore y .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/

Limitaciones de los patrones de negación

Al usar patrones de negación (con el prefijo !), no podés volver a incluir un archivo si un directorio padre está excluido mediante *.
# Ignora todos los archivos en la carpeta public
public/*

# ✅ Esto funciona, porque el archivo existe en el nivel superior
!public/index.html

# ❌ Esto no funciona: no se pueden volver a incluir archivos de directorios anidados
!public/assets/style.css
Alternativa: Excluí explícitamente los directorios anidados:
public/assets/*
!public/assets/style.css # Este archivo ahora es accesible
Por rendimiento, no se recorren los directorios excluidos, así que los patrones sobre archivos dentro de ellos no surten efecto. Esto coincide con la implementación de .gitignore para patrones de negación en directorios anidados. Para más detalles, consulta la documentación oficial de Git sobre los patrones de gitignore.

Solución de problemas

Proba patrones con git check-ignore -v [file].