Коротко
.cursorignore — список путей, которые Cursor не должен тащить в индекс и контекст. Это ускоряет @codebase, снижает шум Tab/Agent и помогает не подсовывать секреты и дампы.
Похож на .gitignore, но решает задачу ИИ-контекста, а не git.
Зачем он нужен
node_modules/.venvраздувают индекс;- билд-артефакты путают поиск;
- выгрузки клиентов и
.envне должны попадать в чат; - монорепо: индексируем только активные пакеты.
См. также Privacy Mode.
Базовый шаблон
Создайте .cursorignore в корне:
# deps & envs
node_modules/
.venv/
venv/
__pycache__/
# build
.next/
dist/
build/
out/
coverage/
*.tsbuildinfo
# secrets & dumps
.env
.env.*
!.env.example
*.pem
*.sql
dump/
uploads/
# OS / IDE
.DS_Store
.idea/
Подправьте под стек: для Go — vendor/ по ситуации, для Python — .mypy_cache/, для мобилки — ios/Pods и т.д.
Связь с .gitignore
| Файл | Задача |
|---|---|
.gitignore | что не попадает в git |
.cursorignore | что не попадает в ИИ-индекс/контекст |
Часто списки похожи, но не копируйте слепо: иногда в git есть fixtures/, которые агенту как раз нужны.
Как проверить, что сработало
- Сохраните
.cursorignore. - Подождите переиндексации или перезапустите Cursor.
- Спросите в чате:
@codebase где node_modules/react— не должен находить содержимое зависимостей. - Убедитесь, что
@src/...ваши файлы по-прежнему находятся.
Монорепо
Пример политики:
- индексируем
apps/webиpackages/ui; - игнорируем
apps/legacy, тяжёлыеtestdata/, сгенерированные SDK.
Можно держать общий ignore + точечно не игнорировать нужное (!packages/ui/src).
Ошибки настройки
Слишком агрессивный ignore — Agent «не видит» исходники. Симптом: пустые ответы @codebase.
Забыли .env — риск утечки в чат. Держите и в gitignore, и в cursorignore.
Игнорируете package-lock без причины — иногда полезен для понимания версий; решать по вкусу.
Шаблоны под стеки
Next.js: .next/, node_modules/, coverage/.
Python: .venv/, __pycache__/, .pytest_cache/.
Data: *.parquet, data/raw/, notebooks/.ipynb_checkpoints/.
Mobile: build/, DerivedData/, Pods/.
Ревизия раз в месяц
Удалили модуль — уберите из ignore обратные исключения. Добавили датасет — сразу в ignore. Иначе @codebase деградирует незаметно.
Практический мини-кейс
- Возьмите реальный небольшой баг или задачу из вашего бэклога (30–60 минут работы руками).
- Сначала решите её без Agent — только Tab/Chat, чтобы почувствовать потолок.
- Затем откатите изменения в git и решите с Agent и явным
@контекстом. - Сравните: время, качество diff, сколько usage ушло, сколько правок пришлось откатить.
- Зафиксируйте в Rules команды 2–3 правила, которые сэкономили больше всего времени.
Такой прогон один раз калибрует ожидания лучше любой теории.
FAQ
Это официальный формат?
Ориентируйтесь на актуальную доку Cursor / подсказки продукта. Смысл паттернов — как у gitignore.
Нужен ли ignore на маленьком pet-проекте?
Да, хотя бы node_modules и .env.
Почему индекс всё ещё тяжёлый?
Проверьте вложенные репозитории, большие public/videos, датасеты. Добавьте маски *.mp4, data/raw/.
