К основному содержанию
NeVibe · гайд · 2026-10-24

Cursor rules: файлы .mdc, четыре режима и замена .cursorrules

Правила проекта в Cursor — это файлы .mdc в папке .cursor/rules/ с YAML-шапкой из трёх полей: description, globs и alwaysApply. Комбинация полей решает, когда правило попадёт в контекст: всегда, для определённых файлов, по решению агента или только по вызову.

.cursorrules устарел: что вместо него

Старый способ — один файл .cursorrules в корне проекта. В прежней документации Cursor он назван legacy: пока поддерживается, но будет выведен из оборота. Текущая страница о правилах его уже не упоминает вовсе.

Новый способ — папка .cursor/rules/, в ней сколько угодно файлов, можно раскладывать по подпапкам. Расширение строго .mdc: документация говорит, что файлы .md в этой папке игнорируются. На этом часто спотыкаются, когда переносят правила из других агентов.

Кроме Project Rules в Cursor есть User Rules в настройках редактора и Team Rules из командного дашборда. При конфликте порядок такой: Team, потом Project, потом User.

Четыре режима правила

РежимЧто во frontmatterКогда правило в контекстеAlways ApplyalwaysApply: trueв каждом запросеApply to Specific Filesglobsкогда в контексте файл, подходящий под шаблонApply Intelligentlyтолько descriptionкогда агент по описанию решит, что правило нужноApply Manuallyничеготолько по упоминанию @имя-правила

Наш совет: в Always Apply держите минимум, только то, без чего агент ошибается в любом файле. Всё, что касается конкретного стека, вешайте на globs. Правило для тестов не должно ехать в контекст, когда вы правите CSS.

Пример файла .mdc

Набросок для иллюстрации:

---
description: Соглашения для API-роутов Next.js
globs: app/api/**/*.ts
alwaysApply: false
---

- Каждый роут валидирует вход схемой zod до обращения к базе.
- Ошибки возвращаем как { error: string } с кодом 4xx или 5xx.
- Секреты читаем только из process.env, в ответ их не кладём.

Документация Cursor советует держать правило короче 500 строк. Жёсткого лимита нет, но длинное правило с alwaysApply: true съедает контекст в каждом запросе. Если правило разрослось, разбейте его на несколько файлов по globs.

AGENTS.md в Cursor

Cursor читает AGENTS.md в корне и в любой подпапке, без frontmatter. Вложенные файлы складываются с родительскими, более конкретный важнее. По сути это всегда включённое правило, которое поймут и другие агенты.

Как делить: общие для всех агентов правила проекта пишите в AGENTS.md, а то, что использует возможности Cursor (globs, ручной вызов), в .cursor/rules/. Если в команде кто-то работает в Claude Code или Codex, AGENTS.md избавит от дублирования.

Правила, скиллы и миграция

С Cursor 2.4 есть команда /migrate-to-skills: она переводит правила и пользовательские команды в скиллы. Это не значит, что правила отменили. Скилл лежит в контексте одной строкой описания и разворачивается по требованию, правило с alwaysApply или globs подключается само. Короткие конвенции оставляйте правилами, длинные инструкции под задачу переносите в скиллы.

Если правила нужно держать сразу для Cursor, Claude Code и Copilot, конвертер rulesync умеет импортировать .cursorrules (rulesync import --targets cursor) и раскладывать один источник по форматам всех агентов. Другие агенты понимают старый формат и напрямую: Cline и Zed читают .cursorrules как совместимый файл.

Где брать готовые Cursor rules

Самый известный список — PatrickJS/awesome-cursorrules: 41 008 звёзд на 24.10.2026, лицензия CC0. Его уже перевели на новый формат: в папке rules 257 файлов .mdc и ни одного .cursorrules. Последний push был 30.05.2026, так что часть правил отстаёт от свежих версий фреймворков.

Копии этого списка под другими именами (awesome-windsurfrules, awesome-clinerules) мы проверили: внутри те же .cursorrules, своих правил там нет. Отобранные правила с датой обновления и лицензией — в подборке правил для Cursor и в разделе правил IDE.

Частые вопросы

Как добавить правила в Cursor?

Создайте папку .cursor/rules в корне проекта и положите туда файл с расширением .mdc. В шапке укажите description, globs или alwaysApply в зависимости от того, когда правило должно срабатывать.

Работает ли ещё .cursorrules?

Старая документация Cursor называет его legacy-файлом, который пока поддерживается, но будет выведен. Текущая документация описывает только .cursor/rules/*.mdc.

Почему Cursor не видит моё правило?

Чаще всего у файла расширение .md вместо .mdc: в .cursor/rules такие файлы игнорируются. Второе по частоте: правило без alwaysApply и globs работает только по ручному упоминанию.

Читает ли Cursor AGENTS.md?

Да, в корне проекта и в подпапках. Вложенные файлы складываются с родительскими.

Каталог NeVibe

Спонсоры проекта

Компании, которые помогают держать аналитику открытой