Skip to main content

Command Palette

Search for a command to run...

Настроить

Правила

Правила задают системные инструкции для Agent. Они объединяют промпты, скрипты и другие элементы, упрощая управление рабочими процессами и обмен ими в команде.

Cursor поддерживает четыре типа правил:

Правила проекта

Хранятся в .cursor/rules, находятся под контролем версий и применяются к вашей кодовой базе.

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

Действуют глобально в вашей среде Cursor. Используются Agent (Chat).

Правила команды

Правила для всей команды, которыми можно управлять из дашборда. Доступны на тарифах Team и Enterprise.

AGENTS.md

Инструкции для Agent в формате markdown. Простая альтернатива .cursor/rules.

Как работают правила

Большие языковые модели не запоминают предыдущие ответы. Правила задают постоянный, многократно используемый контекст на уровне запроса.

При использовании содержимое правил добавляется в начало контекста модели. Это дает ИИ последовательные инструкции для генерации кода, интерпретации правок или помощи при работе с рабочими процессами.

Правила проекта

Правила проекта хранятся в .cursor/rules в виде файлов .mdc и находятся под управлением системы контроля версий. Область их действия задаётся шаблонами путей, они могут вызываться вручную или подключаться в зависимости от их актуальности.

Используйте правила проекта, чтобы:

  • Зафиксировать доменные знания о вашей кодовой базе
  • Автоматизировать специфичные для проекта рабочие процессы и шаблоны
  • Унифицировать решения по стилю и архитектуре

Структура файла правила

Каждое правило — это файл .mdc, который можно назвать как угодно. Для правил проекта обязательно расширение .mdc. Обычный файл .md в .cursor/rules система правил игнорирует, потому что в нём нет фронтматтера, где задаются description, globs и alwaysApply. Если вы предпочитаете обычный markdown, используйте AGENTS.md.

.cursor/rules/  react-patterns.mdc       # Распознаётся как правило проекта  api-guidelines.md        # Игнорируется (неверное расширение)  frontend/                # Организуйте правила по папкам    components.mdc

Структура правила

Каждое правило — это markdown-файл с метаданными во фронтматтер и содержимым. Управляйте применением правил через выпадающий список типа правила, который изменяет свойства description, globs, alwaysApply.

Тип правилаОписание
Always ApplyПрименяется к каждому сеансу чата
Apply IntelligentlyПрименяется, когда Agent решает, что правило уместно, исходя из описания
Apply to Specific FilesПрименяется, когда файл соответствует указанному шаблону
Apply ManuallyПрименяется, когда правило упоминается в чате через @ (например, @my-rule)

На уровне реализации три поля фронтматтер определяют, когда правило включается:

alwaysApplydescriptionglobsПоведение
trueВсегда включено. globs и описание игнорируются.
falseprovidedАвтоматически прикрепляется, когда в контексте есть подходящий файл.
falseprovidedomittedAgent читает описание и добавляет правило, когда это уместно.
falseomittedomittedВключается только если вы упоминаете правило в чате через @.
Always applied
---alwaysApply: true---- Все исходные файлы должны содержать заголовок с авторскими правами компании- Если вы не уверены в деталях реализации, ознакомьтесь с соответствующими  исходными файлами перед тем, как предлагать изменения- Никогда не изменяйте сгенерированные файлы в директориях `dist/` или `build/`
Auto-attached by file pattern
---globs: src/components/**/*.tsxalwaysApply: false---- Use named exports, not default exports- Co-locate styles in a module CSS file next to the component- Keep components under 200 lines. Extract subcomponents into the same  directory when a file grows beyond that- Prefer composition over prop drilling. Pass children or render props  instead of threading data through multiple layers
Agent-selected based on description
---description: RPC service conventions and patterns for the backendalwaysApply: false---- Define each service in its own file under `src/services/`- Always validate inputs at the service boundary before passing data  to internal functions- Return structured error objects with a `code` and `message` field,  never throw raw strings- Add a `@service-template.ts` reference file when creating a new  service for the standard boilerplate
Manual — only via @-mention
---alwaysApply: false---- Каждая миграция базы данных должна содержать функции `up` и `down`,  чтобы её можно было полностью откатить- Никогда не изменяйте тип столбца на месте. Добавьте новый столбец, заполните его данными,  затем удалите старый в отдельной миграции- Используйте шаблон для ожидаемой структуры файла@migration-template.sql

Примеры шаблонов glob

Используйте globs, чтобы применить правило к определённым файлам или каталогам. Разделяйте несколько шаблонов запятыми.

ШаблонСовпадает с
*Любым одним сегментом имени файла
**Любым количеством каталогов (рекурсивно)
*.tsВсеми файлами .ts в корневом каталоге
**/*.tsВсеми файлами .ts в любом каталоге
src/**Всеми файлами в любом месте внутри src/
src/**/*.tsxВсеми файлами .tsx в любом месте внутри src/
docs/**/*.md, docs/**/*.mdxФайлами .md и .mdx внутри docs/ (через запятую)
tailwind.config.*tailwind.config с любым расширением

Создание правила

Есть два способа создать правило:

  • /create-rule в чате: Введите /create-rule в Agent и опишите, что вам нужно. Agent сгенерирует файл правила с корректным фронтматтером и сохранит его в .cursor/rules.
  • Через Customize: Откройте Customize на боковой панели, перейдите в Rules и нажмите Add Rule. Это создаст новый файл правила в .cursor/rules. В Customize вы можете просматривать все правила и их статус.

Рекомендации

Хорошие правила конкретны, применимы на практике и имеют чётко определённую область действия.

  • Держите правила короче 500 строк
  • Делите большие правила на несколько модульных, комбинируемых правил
  • Приводите конкретные примеры или ссылки на файлы
  • Избегайте расплывчатых формулировок. Пишите правила как понятную внутреннюю документацию
  • Повторно используйте правила при повторяющихся промптах в чате
  • Ссылайтесь на файлы вместо копирования их содержимого — так правила остаются компактными и не устаревают по мере изменений в коде

Чего избегать в правилах

  • Копировать целые руководства по стилю: вместо этого используйте линтер. Agent уже знает распространённые соглашения по стилю.
  • Документировать каждую возможную команду: Agent знает распространённые инструменты, такие как npm, git и pytest.
  • Добавлять инструкции для редких edge cases: держите правила сфокусированными на паттернах, которые вы используете часто.
  • Дублировать то, что уже есть в вашем коде: вместо копирования кода ссылайтесь на эталонные примеры.

Закоммитьте свои правила в git, чтобы ими пользовалась вся команда. Когда увидите, что Agent ошибся, обновите правило. Вы даже можете отметить @cursor в issue или PR на GitHub, чтобы Agent обновил правило за вас.

Формат файла правила

Каждое правило — это markdown-файл с метаданными frontmatter и основным содержимым. Метаданные frontmatter определяют, как применяется правило. Основное содержимое — это само правило.

---description: "This rule provides standards for frontend components and API validation"alwaysApply: false---...rest of the rule content

Если alwaysApply имеет значение true, правило будет применяться к каждому сеансу чата. В противном случае описание правила будет показано агенту Cursor, который решит, следует ли его применять.

Примеры

Это правило задаёт стандарты для фронтенд‑компонентов:

При работе в директории components:

  • Всегда используйте Tailwind для стилизации
  • Используйте Framer Motion для анимаций
  • Соблюдайте соглашения по именованию компонентов

Это правило обеспечивает валидацию для API‑эндпоинтов:

В директории API:

  • Используйте zod для всей валидации
  • Определяйте возвращаемые типы с помощью схем zod
  • Экспортируйте типы, сгенерированные из схем

Это правило задаёт шаблон для сервисов Express:

Используйте этот шаблон при создании сервиса Express:

  • Соблюдайте RESTful‑принципы
  • Добавляйте middleware для обработки ошибок
  • Настраивайте корректное логирование

@express-service-template.ts

Это правило определяет структуру компонента React:

Компоненты React должны соответствовать следующей структуре:

  • Интерфейс props вверху
  • Компонент как именованный экспорт
  • Стили внизу

@component-template.tsx

Это правило автоматизирует анализ приложения:

Когда нужно проанализировать приложение:

  1. Запустите dev‑сервер с помощью npm run dev
  2. Получите логи из консоли
  3. Предложите улучшения производительности

Это правило помогает генерировать документацию:

Помогайте подготавливать документацию за счёт:

  • Извлечения комментариев из кода
  • Анализа README.md
  • Генерации документации в формате Markdown

Сначала создайте переключаемое свойство в @reactiveStorageTypes.ts.

Добавьте значение по умолчанию в INIT_APPLICATION_USER_PERSISTENT_STORAGE в @reactiveStorageService.tsx.

Для beta‑функций добавляйте переключатель в @settingsBetaTab.tsx, в остальных случаях — в @settingsGeneralTab.tsx. Переключатели можно добавлять как <SettingsSubSection> для обычных чекбоксов. Посмотрите остальные части файла для примеров.

<SettingsSubSection  label="Your feature name"  description="Your feature description"  value={    vsContext.reactiveStorageService.applicationUserPersistentStorage      .myNewProperty ?? false  }  onChange={(newVal) => {    vsContext.reactiveStorageService.setApplicationUserPersistentStorage(      "myNewProperty",      newVal,    );  }}/>

Чтобы использовать в приложении, импортируйте reactiveStorageService и используйте это свойство:

const flagIsEnabled =  vsContext.reactiveStorageService.applicationUserPersistentStorage    .myNewProperty;

Примеры доступны у провайдеров и фреймворков. Правила, созданные сообществом, можно найти в краудсорсинговых коллекциях и репозиториях онлайн.

Правила команды

Тарифы Team и Enterprise позволяют создавать и применять правила во всей организации из панели управления Cursor. Администраторы могут настраивать, является ли каждое правило обязательным для участников команды.

Правила команды работают совместно с другими типами правил и имеют более высокий приоритет, чтобы обеспечить соблюдение организационных стандартов во всех проектах. Это эффективный способ обеспечить единые стандарты кодирования, практики и рабочие процессы для всей команды без необходимости индивидуальной настройки.

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

Администраторы команды могут создавать и управлять правилами непосредственно из панели управления Cursor:

После создания командные правила автоматически применяются ко всем участникам команды и отображаются на панели управления:

Активация и применение

  • Включить это правило сразу: Если отмечено, правило становится активным сразу после создания. Если не отмечено, правило сохраняется как черновик и не применяется, пока вы не включите его позже.
  • Применять это правило принудительно: Если включено, правило обязательно для всех участников команды и не может быть отключено в Customize. Если не применяется принудительно, участники команды могут отключить правило в разделе Правил команды в Customize.

Формат и применение правил команды

  • Содержимое: правила команды — это свободный текст. Они не используют структуру папок, как правила проекта.
  • шаблоны glob: правила команды поддерживают шаблоны glob для применения на уровне отдельных файлов. Когда задан шаблон glob (например, **/*.py), правило применяется только тогда, когда соответствующие файлы находятся в контексте. Правила без шаблона glob применяются ко всем беседам.
  • Где применяются: когда правило команды включено (и не отключено пользователем, если только оно не принудительное), оно добавляется в контекст модели для Agent (Chat) во всех репозиториях и проектах этой команды.
  • Приоритет: правила применяются в таком порядке: правила команды → правила проекта → пользовательские правила. Все применимые правила объединяются; источники с более высоким приоритетом имеют преимущество при противоречиях в инструкциях.

Импорт правил

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

Удалённые правила (через GitHub)

Импортируйте правила напрямую из любого GitHub-репозитория, к которому у вас есть доступ — публичного или приватного.

  1. Откройте Customize на боковой панели
  2. Перейдите в Rules и нажмите Add Rule
  3. Выберите Remote Rule (Github)
  4. Вставьте URL-адрес GitHub-репозитория, содержащего правила. Cursor просканирует все файлы .mdc в репозитории.
  5. Cursor загрузит и синхронизирует правила с вашим проектом

Правила будут размещены в .cursor/rules/imported/<repoName>. Правила также сохранят свои относительные пути, поэтому dir/rule.mdc будет импортирован как .cursor/rule/imported/<repoName>/dir/rule.mdc.

AGENTS.md

AGENTS.md — это простой файл Markdown для задания инструкций агентам. Разместите его в корне проекта как альтернативу .cursor/rules для простых сценариев использования.

В отличие от Project Rules, AGENTS.md — это обычный файл Markdown без метаданных и сложных конфигураций. Он идеально подходит для проектов, которым нужны простые, легко читаемые инструкции без накладных расходов на структурированные правила.

Cursor поддерживает AGENTS.md в корне проекта и во вложенных каталогах.

# Project Instructions## Code Style- Use TypeScript for all new files- Prefer functional components in React- Use snake_case for database columns## Architecture- Follow the repository pattern- Keep business logic in service layers

Улучшения

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

Это позволяет более тонко управлять инструкциями для агента в зависимости от части кодовой базы, с которой вы работаете:

project/  AGENTS.md              # Глобальные инструкции  frontend/    AGENTS.md            # Инструкции для фронтенда    components/      AGENTS.md          # Инструкции для компонентов  backend/    AGENTS.md            # Инструкции для бэкенда

Инструкции из вложенных файлов AGENTS.md объединяются с инструкциями из родительских каталогов, при этом более конкретные инструкции имеют приоритет.

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

Пользовательские правила — это глобальные параметры в Customize → Rules, которые действуют во всех проектах. Их использует Agent (Chat), и они отлично подходят для задания предпочтительного стиля общения или код‑стиля:

Please reply in a concise style. Avoid unnecessary repetition or filler language.

FAQ

Проверьте тип правила. Для Apply Intelligently убедитесь, что задано описание. Для Apply to Specific Files убедитесь, что шаблон файла соответствует файлам, на которые есть ссылки.

Да. Используйте @filename.ts, чтобы включать файлы в контекст правила. Вы также можете упоминать правила с помощью @ в чате, чтобы применять их вручную.

Да, вы можете попросить агента создать для вас новое правило.

Нет. Правила не влияют на Cursor Tab или другие функции ИИ.

Нет. Пользовательские правила не применяются к Inline Edit (Cmd/Ctrl+K). Они используются только Agent (Chat).

Связанные материалы