Обзор

Cursor читает и индексирует кодовую базу твоего проекта, чтобы обеспечивать свои функции. Управляй тем, к каким каталогам и файлам Cursor может обращаться, с помощью файла .cursorignore в корне проекта. Cursor блокирует доступ к файлам, перечисленным в .cursorignore, для:
Вызовы инструментов, инициированные Agent, например терминал и MCP‑серверы, не могут заблокировать доступ к коду, на который распространяется .cursorignore

Зачем игнорировать файлы?

Безопасность: Ограничь доступ к API‑ключам, учетным данным и секретам. Хотя Cursor блокирует игнорируемые файлы, полной защиты это не гарантирует из‑за непредсказуемости LLM. Производительность: В больших кодовых базах или монорепозиториях исключай не относящиеся к делу части, чтобы ускорить индексирование и повысить точность поиска файлов.

Глобальные файлы игнорирования

Задавай шаблоны игнорирования для всех проектов в пользовательских настройках, чтобы исключать конфиденциальные файлы без настройки для каждого проекта.
Global Cursor Ignore List
Шаблоны по умолчанию:
  • Файлы окружения: **/.env, **/.env.*
  • Учетные данные: **/credentials.json, **/secrets.json
  • Ключи: **/*.key, **/*.pem, **/id_rsa

Настройка .cursorignore

Создай в корне проекта файл .cursorignore, используя синтаксис .gitignore.

Примеры паттернов

config.json      # Конкретный файл
dist/           # Каталог
*.log           # Расширение файлов
**/logs         # Вложенные каталоги
!app/           # Отменить игнорирование (негация)

Иерархическое игнорирование

Включи Cursor Settings > Features > Editor > Hierarchical Cursor Ignore, чтобы искать файлы .cursorignore в родительских директориях. Примечания: Комментарии начинаются с #. Поздние шаблоны переопределяют более ранние. Шаблоны задаются относительно расположения файла.

Ограничивай индексацию с помощью .cursorindexingignore

Используй .cursorindexingignore, чтобы исключать файлы только из индексации. Эти файлы останутся доступны функциям ИИ, но не будут появляться в поиске по кодовой базе.

Файлы, игнорируемые по умолчанию

Cursor автоматически игнорирует файлы из .gitignore и из списка ниже. Можно переопределить с префиксом ! в .cursorignore.
Только для индексации, помимо файлов в твоих .gitignore, .cursorignore и .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/

Ограничения шаблонов отрицания

Когда используешь шаблоны отрицания (с префиксом !), нельзя повторно включить файл, если родительский каталог исключён с помощью *.
# Игнорировать все файлы в папке public
public/*

# ✅ Это работает, так как файл находится в корне
!public/index.html

# ❌ Это не работает — нельзя повторно включать файлы из вложенных каталогов
!public/assets/style.css
Обходной путь: Явно исключи вложенные директории:
public/assets/*
!public/assets/style.css # Этот файл теперь доступен
Исключённые директории не обходятся ради производительности, поэтому шаблоны для файлов внутри них не срабатывают. Это соответствует поведению .gitignore для шаблонов отрицания во вложенных директориях. Подробности — в официальной документации Git по шаблонам gitignore.

Устранение неполадок

Проверь шаблоны с помощью git check-ignore -v [file].