Правила (Rules) в Cursor: что это и как работают

Cursor позволяет управлять тем, как AI работает с кодом и проектом, с помощью системы правил. Эти правила задают постоянный контекст: стандарты кода, ограничения, стиль работы и поведение ассистента. Благодаря этому AI действует предсказуемо и одинаково для всех участников проекта.

В Cursor существует несколько типов правил. Каждый из них решает свою задачу и применяется в определённых режимах работы.


Что такое Rules в Cursor

Rules - это инструкции, которые автоматически добавляются в контекст AI при каждом запросе, редактировании кода или запуске агентного режима. Они нужны для того, чтобы не повторять одни и те же требования вручную и закрепить важные договорённости на уровне проекта или пользователя.

Правила не заменяют запрос пользователя, а дополняют его, влияя на то, как AI интерпретирует задачу и формирует ответ.


Project Rules

Project Rules - это правила уровня проекта. Они хранятся внутри репозитория и применяются только к нему.

Где хранятся Project Rules

Все проектные правила располагаются в папке:

.cursor/rules

Каждое правило - это отдельный файл с расширением .mdc. Эти файлы можно хранить в git, передавать команде и поддерживать как часть документации проекта.


Формат Project Rules

Файлы .mdc состоят из двух частей:

  1. Метаданные в YAML-блоке

  2. Текстовое описание правила

Метаданные управляют тем, когда и как правило применяется.


Метаданные 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
- не использовать конструкцию any

Auto 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

При запуске агента:

  1. Cursor считывает AGENTS.md.

  2. Содержимое файла добавляется в контекст агента.

  3. Все шаги агента выполняются с учётом этих инструкций.

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.

Комментарии (0)

Войдите, чтобы оставить комментарий

Похожие статьи

Простой способ работать с конкурентностью и параллелизмом в Python

Объяснение, как с помощью стандартных средств Python (concurrent.futures) легко решать задачи конкурентности и параллелизма. Приведены практические примеры использования пулов потоков и процессов.

41 0 2 мин

PHP Generators

Статья рассказывает о PHP генераторах - что это, как они работают, зачем нужны и как использовать их в реальных проектах. Примеры включают чтение больших CSV и потоковую обработку данных.

42 0 2 мин
Технологии и IT-новости 4 недели назад

Ядерные реакторы авианосцев могут дать энергию ИИ дата-центрам

Статья рассказывает о необычном предложении использовать ядерные реакторы с авианосцев США для питания крупных дата-центров искусственного интеллекта, анализирует преимущества идеи и основные технические и юридические препятствия её реализации.

36 0 1 мин