Cursor позволяет управлять тем, как AI работает с кодом и проектом, с помощью системы правил. Эти правила задают постоянный контекст: стандарты кода, ограничения, стиль работы и поведение ассистента. Благодаря этому AI действует предсказуемо и одинаково для всех участников проекта.
В Cursor существует несколько типов правил. Каждый из них решает свою задачу и применяется в определённых режимах работы.
Что такое Rules в Cursor
Rules - это инструкции, которые автоматически добавляются в контекст AI при каждом запросе, редактировании кода или запуске агентного режима. Они нужны для того, чтобы не повторять одни и те же требования вручную и закрепить важные договорённости на уровне проекта или пользователя.
Правила не заменяют запрос пользователя, а дополняют его, влияя на то, как AI интерпретирует задачу и формирует ответ.
Project Rules
Project Rules - это правила уровня проекта. Они хранятся внутри репозитория и применяются только к нему.
Где хранятся Project Rules
Все проектные правила располагаются в папке:
.cursor/rulesКаждое правило - это отдельный файл с расширением .mdc. Эти файлы можно хранить в git, передавать команде и поддерживать как часть документации проекта.
Формат Project Rules
Файлы .mdc состоят из двух частей:
Метаданные в YAML-блоке
Текстовое описание правила
Метаданные управляют тем, когда и как правило применяется.
Метаданные Project Rules
Поддерживаются следующие поля:
description- описание правила, которое используется AI для понимания, когда его стоит применить.globs- шаблоны файлов, при работе с которыми правило автоматически подключается.alwaysApply- флаг, указывающий, что правило должно применяться всегда.
Полный пример готового project rule:
---
description: Стандарты разработки и архитектуры для TypeScript в проекте
globs:
- "**/*.ts"
- "**/*.tsx"
alwaysApply: false
---
- Использовать TypeScript в строгом режиме (strict: true)
- Запрещено использование типа any
- Предпочитать явные типы для публичных функций и методов
- Не использовать enum, вместо этого применять union types
- Для асинхронного кода использовать async/await, избегать then
- Все функции должны иметь явный тип возвращаемого значения
- Следовать существующим соглашениям по форматированию
- Не изменять public API без явного указания пользователяТипы Project Rules
Project Rules могут работать в четырёх режимах.
Always Rules применяются всегда, независимо от того, с какими файлами или запросами работает AI.
Такие правила подходят для:
архитектурных принципов,
глобальных соглашений,
обязательных стандартов.
Пример:
---
alwaysApply: true
---
- Использовать strict mode
- не использовать конструкцию anyAuto Attached Rules подключаются автоматически, когда AI работает с файлами, подходящими под globs.
Пример:
---
globs: ["**/*.test.ts"]
---
- Использовать Jest для тестов
- Следовать текущей структуре проектаЭто правило будет применяться только при работе с тестовыми файлами.
Agent Requested Rules доступны AI, но не применяются автоматически. Модель сама решает, нужно ли использовать это правило, основываясь на description.
Пример:
---
description: RPC соглашение о нейминге
---
- Следовать внутренним RPC паттернам
- Использовать snake_case для названий сервисовManual Rules применяются только тогда, когда пользователь явно указывает имя правила в запросе с помощью @.
Пример использования:
@rpc-service Создать новый сервисОрганизация Project Rules
Правила можно группировать по папкам внутри .cursor/rules. Это помогает разделять правила по слоям архитектуры, технологиям или зонам ответственности.
User Rules
User Rules - это глобальные правила пользователя. Они задаются в настройках Cursor и применяются ко всем проектам.
Особенности User Rules
всегда активны,
не используют формат
.mdc,не версионируются вместе с проектом,
подходят для личных предпочтений.
Пример User Rule:
Пошагово обьясни изменения кода.Memories
Memories - это автоматически создаваемые правила на основе взаимодействия пользователя с AI. Cursor может сохранять важную информацию из диалогов и использовать её в будущем.
Особенности Memories:
привязаны к репозиторию,
создаются автоматически,
находятся в бета-стадии,
работают как дополнительный контекст.
Memories позволяют AI помнить договорённости без явного создания правил.
AGENTS.md
AGENTS.md - это отдельный механизм правил, предназначенный исключительно для агентного режима Cursor.
Назначение AGENTS.md
Этот файл определяет, как должен вести себя автономный агент при выполнении многошаговых задач. Он задаёт стратегию работы, ограничения и допустимые действия.
AGENTS.md используется, когда AI:
самостоятельно анализирует проект,
принимает решения,
выполняет серию изменений без постоянного участия пользователя.
Где размещается AGENTS.md
Файл AGENTS.md должен находиться в корне репозитория. Если он присутствует, Cursor автоматически загружает его при запуске агентного режима.
Как работает AGENTS.md
При запуске агента:
Cursor считывает AGENTS.md.
Содержимое файла добавляется в контекст агента.
Все шаги агента выполняются с учётом этих инструкций.
AGENTS.md не влияет на обычный чат и Inline Edit.
Формат AGENTS.md
AGENTS.md - это обычный Markdown-файл без специальных метаданных. В нём можно писать инструкции в свободной форме.
Пример:
# Agent Rules
- Не удаляй файлы без прямого указания на это
- Перед внесением изменений объясняй, что именно будет сделано
- Отдавай предпочтение небольшим, изолированным коммитам
Отличие AGENTS.md от Project Rules
Project Rules управляют ответами AI в чате и правках.
AGENTS.md управляет поведением автономного агента.
Эти механизмы не конфликтуют и могут использоваться одновременно.
Legacy .cursorrules
Ранее Cursor поддерживал единый файл .cursorrules в корне проекта. Этот формат считается устаревшим, но по-прежнему поддерживается для обратной совместимости.
Cursor рекомендует использовать .cursor/rules вместо .cursorrules.
Как Rules применяются на практике
При каждом запросе AI:
собирается активный контекст,
добавляются User Rules,
добавляются подходящие Project Rules,
при агентном режиме добавляется AGENTS.md,
учитываются Memories.
Это обеспечивает стабильное и повторяемое поведение AI.