cursor rules: как настроить правила для Cursor (.mdc)
Cursor rules — это постоянные инструкции для AI-агента в редакторе Cursor: переиспользуемый контекст на уровне промпта, который модель получает в каждой сессии, потому что между запросами она ничего не помнит. По официальной документации правила позволяют «bundle prompts, scripts, and more together, making it easy to manage and share workflows across your team». Проще говоря — это способ один раз зафиксировать соглашения проекта и не повторять их в каждом чате.
Это близкий родственник AGENTS.md: та же идея — дать агенту контекст проекта, — но у Cursor свой формат с типами правил и привязкой к файлам. Зачем вообще фиксировать правила для агентов, разобрано в статье про подготовку проекта к AI-агентам; здесь — конкретика по Cursor.
Где лежат и в каком формате
Правила проекта живут в каталоге .cursor/rules/ как файлы .mdc — Markdown
с YAML-фронтматтером. Они версионируются вместе с кодом и привязаны к
репозиторию. Файл состоит из двух частей: фронтматтер, который управляет
тем, когда правило подключается, и тело на Markdown с самими инструкциями.
Во фронтматтере три поля:
description— короткое описание, по которому агент решает, релевантно ли правило (для типа «Agent Requested»).globs— шаблоны путей; при работе с подходящим файлом правило подцепляется автоматически.alwaysApply— булево;trueвставляет правило в каждый запрос.
Четыре типа правил
Какое поле заполнено — такой и тип срабатывания:
| Тип | Когда подключается |
| ------------------- | ----------------------------------------------------------- |
| Always | alwaysApply: true — в каждой сессии, всегда |
| Auto Attached | заданы globs — когда открыт/редактируется подходящий файл |
| Agent Requested | задан description — агент сам решает по описанию |
| Manual | только когда вы упомянули правило через @имя в чате |
Практический смысл: общие принципы держите как Always (но короткими),
правила под конкретную зону кода — как Auto Attached с globs, а узкие
инструкции — Manual, чтобы не грузить контекст без нужды.
Пример правила
Файл .cursor/rules/react.mdc:
---
description: Стандарты для React-компонентов
globs: src/**/*.tsx
alwaysApply: false
---
- Компоненты функциональные, пропсы типизированы.
- Состояние — через хуки; без классовых компонентов.
- Стили — только через токены дизайн-системы, не инлайном.
@src/components/ui/button.tsx
Тело — обычные пункты-инструкции. Строка @src/components/ui/button.tsx
подтягивает файл-образец: агент увидит канонический пример прямо в правиле.
Миграция с .cursorrules
Старый формат — единый файл .cursorrules в корне репозитория: грузится
всегда, без привязки к файлам и без разбиения. Cursor считает его legacy и
рекомендует переезжать на .cursor/rules. Обратная совместимость пока есть —
файл всё ещё читается, — но новые возможности идут в .mdc. Для проекта,
который начинаете в 2026-м, сразу используйте .mdc.
Cursor rules или AGENTS.md
Cursor читает и AGENTS.md — как «simple alternative» для инструкций на чистом
Markdown без метаданных. Отсюда рабочее разделение:
- AGENTS.md — общий контекст проекта, кроссагентно (его понимают и Codex, и Claude Code, и Cursor). Один файл, никакой привязки к файлам.
.cursor/rules/*.mdc— то, что специфично для Cursor: привязка к путям черезglobs, автоподключение, ссылки на файлы-образцы.
Многие держат AGENTS.md как источник общих правил, а .mdc добавляют для
точечной, файлово-привязанной настройки.
Частые ошибки
- Раздутый
alwaysApply. Всё, помеченное «всегда», грузится в каждый запрос и ест бюджет контекста — держите такие правила короткими. - Одно правило про всё. Дробите: одно правило — одна зона (компоненты,
тесты, API), с точными
globs. - Расплывчатые формулировки. «Пишите хорошо» бесполезно; «функция не
длиннее экрана, без
any» — работает. - Забыли про версионирование.
.cursor/rulesдолжен лежать в репозитории, иначе правила видит только один разработчик.
В своей разработке мы настраиваем правила для Cursor и других AI-агентов под конкретный проект. Если хотите так же — расскажите о проекте, поможем составить.