Редакция PLPB ·

Cursor Rules: как настроить .cursor/rules и AGENTS.md

Как настроить постоянные инструкции в Cursor: проектные Rules в .cursor/rules, формат .mdc, AGENTS.md, области применения и правила, которые не превращаются в копию всей документации.

Короткий ответ

Cursor Rules — постоянные инструкции, которые Agent может учитывать при работе с проектом. Проектные правила хранятся в .cursor/rules в формате .mdc; для простого набора инструкций можно использовать AGENTS.md. В frontmatter правила задаются область применения, описание и режим включения.

Актуальная официальная документация Cursor Rules описывает четыре типа: Project Rules, User Rules, Team Rules и AGENTS.md. Ниже — практическая схема для личного репозитория и команды.

Зачем нужны Rules

Правило оправдано, если вы регулярно повторяете одну и ту же инструкцию:

«используй существующий компонент кнопки»;
«после изменения запускай type-checker»;
«не трогай сгенерированные файлы»;
«валидация должна быть на границе API»;
«для этой папки используй такой формат тестов».

Rules не являются магическим исправлением. Они дают Agent устойчивый контекст, но не заменяют линтер, типы, тесты и code review. Если ограничение можно гарантировать инструментом, лучше сделать это инструментом, а не только текстовой инструкцией.

Какие типы правил есть в Cursor

Project Rules

Хранятся в .cursor/rules, могут быть добавлены в Git и относятся к конкретной кодовой базе. Это основной формат для архитектурных соглашений и локальных workflows.

User Rules

Глобальные предпочтения конкретного пользователя. Они удобны для личного стиля общения, но не подходят для командных требований, которые должны быть видны в репозитории.

Team Rules

Командные правила, управляемые через dashboard на соответствующих планах. Их можно включать и, при необходимости, принудительно применять к участникам команды.

AGENTS.md

Простой Markdown-файл с инструкциями для Agent. Он удобен, если не нужны frontmatter и разные режимы применения. Cursor поддерживает AGENTS.md в корне и во вложенных каталогах, причём более специфичные инструкции могут уточнять родительские.

Почему .mdc, а не .md

Проектные Rules в .cursor/rules должны быть файлами .mdc с frontmatter. Обычный .md в этой папке не будет распознан как проектное правило. Если нужна простая Markdown-инструкция без метаданных, используйте AGENTS.md.

Минимальная структура .mdc выглядит так:

text
description: Правила для компонентов и API
globs: components/**/*.tsx, app/api/**/*.ts
alwaysApply: false

Проверяй входные данные на границе API.
Используй существующие компоненты интерфейса.
После изменения запусти type-checker.

В самом файле Cursor использует frontmatter-метаданные. Конкретный способ создать и включить правило проверяйте в текущем интерфейсе и официальной документации.

Как работают режимы применения

В Cursor есть четыре практических варианта:

Always Apply — правило добавляется к каждому чату Agent;
Apply to Specific Files — включается для совпадающих glob-путей;
Apply Intelligently — Agent решает по описанию, подходит ли правило;
Apply Manually — правило добавляется вручную через @-упоминание.

Выбирайте самый узкий режим, который решает задачу. Глобальное правило на 400 строк создаёт шум и повышает риск конфликтов. Локальное правило для components/**/*.tsx легче проверить и обновить.

Хорошее правило: короткое и проверяемое

Вместо расплывчатой фразы:

text
Пиши хороший код.

Напишите конкретнее:

text
Для API-обработчиков:
1. Валидируй входные данные до вызова бизнес-логики.
2. Возвращай существующий формат ошибок проекта.
3. Не меняй публичную схему без отдельного плана.
4. Добавляй тест на ошибочный и успешный путь.

Каждый пункт должен помогать принять решение по конкретному diff. Если правило нельзя проверить глазами или тестом, оно, вероятно, слишком общее.

Что вынести в Rules

Архитектура

Укажите, где находится бизнес-логика, где запросы к базе и какие слои не должны импортировать друг друга.

Стиль проекта

Сошлитесь на существующие компоненты и конфигурацию линтера вместо копирования всей style guide. Cursor рекомендует держать правила focused, actionable and scoped.

Команды проверки

Перечислите команды type-checker, тестов или сборки, но не добавляйте десятки редко используемых команд.

Опасные зоны

Напишите, какие каталоги считаются сгенерированными, какие файлы нельзя менять без согласования и где требуется ручное подтверждение.

Что не нужно класть в Rules

Не добавляйте:

секреты, токены и пароли;
полный текст документации проекта;
все возможные edge cases;
инструкции, которые уже гарантирует линтер;
списки команд без объяснения, когда их применять;
устаревшие названия функций и файлов.

Официальные best practices Cursor советуют начинать с малого и добавлять правило после того, как Agent несколько раз повторил одну и ту же ошибку.

AGENTS.md для простого проекта

Если проект небольшой, начните с AGENTS.md в корне:

text
# Project instructions

## Architecture
- Keep API validation at the route boundary.
- Put database access in lib/.

## Verification
- Run the existing type-checker after TypeScript changes.
- Run focused tests before the full suite.

## Safety
- Do not modify generated files without an explicit plan.
- Do not print secrets in terminal output.

Для отдельной части проекта можно добавить вложенный AGENTS.md. Не дублируйте туда весь корневой файл: локальный документ должен уточнять правила каталога.

Как тестировать правило

После создания не предполагайте, что оно применяется. Проверьте:

1
Cursor видит файл с правильным расширением.
1
glob совпадает с реальными путями.
1
описание достаточно конкретное для интеллектуального режима.
1
правило включается в ожидаемом чате Agent.
1
оно не конфликтует с более общими инструкциями.
1
получившийся diff соответствует требованию.

Попросите Agent явно перечислить применённые правила. Если он их не называет, проверьте область и тип применения.

Rules и контекст

Rules — долгосрочная инструкция, а @-ссылка — контекст конкретного запроса. Не заменяйте одно другим. Укажите в Rule общую границу, а в запросе добавьте конкретный файл или символ. Подробно о краткосрочном контексте — в гайде PLPB, о многофайловых задачах — в статье про Cursor Agent.

Как начать с одного правила

Не создавайте сразу большую библиотеку инструкций. Выберите повторяющуюся ошибку и напишите одно короткое правило:

text
Когда меняешь API-обработчик:
1. Сначала проверь существующую схему входных данных.
2. Сохрани публичный формат ошибки.
3. Добавь тест на успешный и ошибочный путь.
4. Запусти текущий type-checker.

Проверьте его на двух похожих задачах. Если правило помогает и не создаёт ложных ограничений, оставьте его в проекте. Если оно слишком общее, сузьте glob или перепишите формулировку.

Пример проектной структуры

Для небольшого репозитория достаточно такой схемы:

text
.cursor/
  rules/
    api.mdc
    frontend.mdc
AGENTS.md

AGENTS.md может содержать общие правила, а .mdc — инструкции для отдельных слоёв. Не дублируйте один и тот же текст в трёх местах: конфликтующие источники труднее сопровождать.

Glob-пути и осторожность

Glob должен соответствовать реальным путям. components/**/*.tsx и app/**/*.tsx — разные области. После создания правила проверьте его на файле, который точно должен совпадать, и на файле, который точно не должен совпадать.

Если правило применилось слишком широко, не лечите проблему ещё одним исключением. Сначала исправьте область первого правила.

Как обновлять устаревшие Rules

Правило нужно пересматривать, если:

изменился стек;
команда перестала использовать указанную команду;
файл, на который оно ссылается, переехал;
линтер уже гарантирует описанное требование;
Agent начал делать лишние изменения из-за слишком общей инструкции.

Владелец проекта должен понимать, почему правило существует. Пишите дату или причину только там, где это действительно помогает сопровождению, и не превращайте файл в журнал истории.

Rules и автоматические проверки

Текстом можно объяснить архитектурную мотивацию, но проверяемую часть лучше реализовать в коде: типах, тестах, линтере, pre-commit hook или CI. Тогда Agent получает полезную подсказку, а проект сам отклоняет нарушение.

Частые вопросы (FAQ)

Где хранить проектные Cursor Rules?

В .cursor/rules в виде .mdc-файлов. Храните их в Git, если они нужны всей команде.

Можно ли использовать обычный .md в .cursor/rules?

Нет, для проектных правил нужен формат .mdc с метаданными. Для простой Markdown-инструкции используйте AGENTS.md.

Что выбрать: Rules или AGENTS.md?

Rules удобнее для областей применения и разных режимов включения. AGENTS.md проще для коротких иерархических инструкций без сложной настройки.

Влияют ли Rules на Tab?

Правила предназначены прежде всего для Agent и связанных сценариев. Не рассчитывайте, что текстовая инструкция изменит поведение каждой AI-функции; проверяйте ограничения конкретного режима.

Нужно ли помещать в Rule весь style guide?

Нет. Оставьте короткие проверяемые требования и ссылки на канонические примеры. Полный style guide лучше поддерживать отдельно и автоматизировать линтером.

Почему правило не применяется?

Проверьте расширение .mdc, frontmatter, glob-пути, режим применения и конфликт с другим правилом. Попросите Agent показать список применённых инструкций.

Нужен доступ к сервису?

Выберите товар в каталоге, оформите заказ и оплатите его на сайте. Дальнейшие шаги появятся в чате заказа.

Каталог подписок

Вопросы: help@plpb.tech