close
Skip to main content

Command Palette

Search for a command to run...

Comenzar

Archivo de exclusión

Cursor lee la base de código de tu proyecto para habilitar sus funciones. Controla a qué directorios y archivos puede acceder Cursor mediante un archivo .cursorignore en el directorio raíz.

Cursor bloquea el acceso a los archivos incluidos en .cursorignore desde:

¿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 monorepositorios, excluye las partes irrelevantes para mejorar la detección de archivos.

Configurar .cursorignore

Crea un archivo .cursorignore en el directorio raíz con la sintaxis de .gitignore.

Sintaxis de patrones

  • * coincide con cualquier carácter excepto /
  • ** coincide con cualquier carácter, incluido /
  • ? coincide con un solo carácter
  • ! niega un patrón (deja de ignorar una ruta ignorada previamente)
  • Las líneas que empiezan por # son comentarios
  • Los espacios finales se ignoran, salvo que se escapen con \

Ejemplos de patrones

config.json      # Archivo específicodist/           # Directorio*.log           # Extensión de archivo**/logs         # Directorios anidados!app/           # Excluir de la lista de ignore (negar)

Ignoración jerárquica

Activa Cursor Settings > Features > Editor > Hierarchical Cursor Ignore para buscar archivos .cursorignore en directorios superiores.

Archivos de exclusión global

Establece patrones de exclusión para todos los proyectos en los ajustes de usuario y así excluir archivos confidenciales sin tener que configurar cada proyecto. La lista de exclusión global está vacía de forma predeterminada.

Patrones comunes que puedes añadir:

  • Archivos de entorno: **/.env, **/.env.*
  • Credenciales: **/credentials.json, **/secrets.json
  • Claves: **/*.key, **/*.pem, **/id_rsa

Archivos ignorados de forma predeterminada

Cursor ignora automáticamente los archivos incluidos en .gitignore y en la lista de exclusión predeterminada a continuación. Para anularlo, usa el prefijo ! en .cursorignore.

Estos archivos se ignoran además de los incluidos en .gitignore y .cursorignore:

package-lock.jsonpnpm-lock.yamlyarn.lockcomposer.lockGemfile.lockbun.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 puedes volver a incluir un archivo si se ha excluido un directorio superior mediante *.

# Ignorar todos los archivos de la carpeta publicpublic/*# Esto funciona, ya que el archivo está en el nivel superior!public/index.html# Esto no funciona: no se pueden volver a incluir archivos de directorios anidados!public/assets/style.css

Solución alternativa: Excluye explícitamente los directorios anidados:

public/assets/*!public/assets/style.css # Ahora se puede acceder a este archivo

Los directorios excluidos no se recorren para mejorar el rendimiento, por lo que los patrones de los archivos que contienen no surten efecto. Esto coincide con la implementación de .gitignore para los patrones de negación en directorios anidados. Para más información, consulta la documentación oficial de Git sobre patrones de gitignore.

Solución de problemas

Comprueba los patrones con git check-ignore -v [file].