Правила
Как задавать агенту WorkAI постоянные инструкции через файлы правил — персональные, проектные и в форматах других экосистем.
Модель ничего не помнит между запросами — каждый диалог начинается с чистого листа. Правила решают эту проблему: это markdown-файлы с инструкциями, которые агент подмешивает в контекст автоматически, без того чтобы вы каждый раз объясняли одно и то же заново.
Пример: если вы один раз напишете правило «в этом проекте используем snake_case для колонок БД и функциональные компоненты в React», агент будет следовать этому на каждой сессии — пока файл лежит на месте.
Где хранятся правила
WorkAI различает два уровня:
- Персональные правила —
~/.workai/rules/*.md. Про вас: язык, тон, привычки. Действуют во всех проектах на этой машине. - Проектные правила —
.workai/rules/*.mdвнутри репозитория. Про этот код: стиль, структура, договорённости команды. Если кладёте их в git, ими пользуется вся команда.
Файл README.md в этих каталогах правилом не считается — его можно использовать для пояснений к набору правил.
Кроме собственного формата, WorkAI распознаёт файлы правил из других экосистем — переносить их вручную не нужно:
| Экосистема | Что читаем |
|---|---|
| AGENTS.md | AGENTS.md в корне проекта; отдельно — вложенные **/AGENTS.md |
| Claude | CLAUDE.md, CLAUDE.local.md, .claude/CLAUDE.md, ~/.claude/CLAUDE.md, каталоги .claude/rules и ~/.claude/rules |
| Cursor | каталог .cursor/rules — и .mdc, и обычные .md |
| GitHub Copilot | .github/instructions, ~/.copilot/instructions, .github/copilot-instructions.md, ~/.copilot/copilot-instructions.md |
Каждый источник включается и выключается отдельно — в Settings → AI rules, блок Compatibility. Там же видно, сколько файлов найдено по каждому источнику. Свой каталог правил тоже можно добавить: путь, дописанный в настройку chat.instructionsFilesLocations, появится в списке как отдельный источник.
Cursor обычно кладёт в .cursor/rules файлы .mdc и обычные .md там игнорирует. Мы читаем оба расширения: люди регулярно кладут туда .md руками, и молча их не видеть — ловушка.

Как правило активируется
У правила есть три режима работы:
- Всегда — правило попадает в контекст каждого запроса. Это
applyTo: '**'(а также**/*и*). КорневыеAGENTS.md,CLAUDE.mdиcopilot-instructions.mdведут себя так же — пока соответствующий источник включён в Compatibility. - По glob — правило привязано к паттерну
applyTo(например,src/**/*.tsx) и подключается, когда подходящий файл оказывается в контексте запроса. - По решению модели — паттерна нет, есть только
description. Такое правило не подставляется автоматически: агент видит его путь и описание в списке доступных правил и сам решает, прочитать ли файл. Поэтому от качества описания напрямую зависит, вспомнит ли агент о правиле в нужный момент.
Режим каждого найденного правила подписан в списке в Settings → AI rules — применяется всегда, применяется к перечисленным файлам или подключается по решению модели.
Если в applyTo перечислено несколько паттернов через запятую, они работают как «или»: **, src/** — это по-прежнему «всегда».
Вложенные AGENTS.md
Если в поддиректориях проекта лежат свои AGENTS.md, WorkAI умеет находить их по всему воркспейсу — это отдельный источник, по умолчанию выключенный (настройка chat.useNestedAgentsMdFiles, переключатель в блоке Compatibility). Когда он включён, вложенные файлы не подставляются в каждый запрос целиком: агент видит путь и описание вроде «Instructions for folder packages/api» и читает файл, если задача к этой папке относится. Корневой AGENTS.md при включённом источнике подключается к каждому запросу целиком.
Формат файла
Правило — обычный markdown-файл. Например:
---
description: Применять при правке React-компонентов
applyTo: "src/components/**/*.tsx"
---
- Именованные экспорты, не default
- Стили — в соседнем CSS-модуле, не инлайном
- Компонент длиннее 200 строк — разбивать на подкомпоненты
Открывающий --- должен быть самой первой строкой файла, и обе строки --- начинаются с самого начала строки, без отступа — иначе заголовок не распознаётся и не прочитаются ни description, ни applyTo.
Для always-правила задайте applyTo: '**'. В каталогах .workai/rules и .claude/rules файл без frontmatter вообще тоже применяется всегда — обычный .md там не мёртвый. То же верно для личных ~/.workai/rules.
Пример выше — проектный: glob с src/components/** в личном правиле в других репозиториях не сработает. Для персонального правила нормальный дефолт — только description, без applyTo; glob допустим лишь по языку или типу файла (**/*.py), не по папкам текущего проекта.
Поля Cursor понимаются как есть, переписывать чужие правила не нужно:
globs— синонимapplyTo(принимается и строкой, и списком);alwaysApply: true— то же, чтоapplyTo: '**', и оно сильнееglobs.
Родным полем остаётся applyTo — в новых файлах лучше писать его.
Как создать правило
Две команды — два места на диске. Файл пишет агент, не сама команда: смотрит историю диалога, проверяет, нет ли уже правила на эту тему, выбирает режим и оформляет рабочую инструкцию, а не пересказ вашей фразы. Имя — короткое латинское (address-by-weekday.md), не транслит.
- Проектное —
/create-ruleв чате или Settings → AI rules → Project rules → Create (открывает чат с уже набранной командой). Файл появится в.workai/rules. Сюда же кладёт правило ссылкаworkai://share/rule. - Персональное —
/create-global-ruleили Settings → AI rules → Personal rules → Create (открывает/create-global-rule). Файл появится в~/.workai/rules. В веб-окне без настоящего домашнего каталога команда откажется, а не запишет файл в текущий проект.
Правила можно писать и руками — те же два каталога. Управлять найденными удобнее в Settings → AI rules: список, переключатели, переход в редактор. Команда /instructions открывает пикер — выбрать файл и открыть его.
Старые личные правила, которые когда-то жили строками в настройках (aiSolver.userRules), ещё могут отображаться как «Always applied · Saved in settings, not as a file». Новые так уже не создаются.
Как выключить правило, не удаляя его
В Settings → AI rules у каждого правила есть переключатель. Выключенное правило остаётся в списке (приглушённым, чтобы не спутать с удалённым), но не уходит агенту — ни содержимым, ни упоминанием в списке доступных. Включить обратно можно там же.
Это работает и для AGENTS.md с CLAUDE.md: они подключаются к каждому запросу, и возможность их выключить нужна тем более.
Целый источник выключается одним переключателем в блоке Compatibility — например, если в проекте лежат правила Copilot, которые вам не нужны.
Сколько правил можно подключить
Правила занимают место в контексте, поэтому есть потолок: до 64 файлов за запрос, около 128 тысяч символов на одно правило и около 512 тысяч символов на все правила вместе.
Правило, которое не влезло в свой потолок, не выбрасывается молча — оно обрезается, и в тексте остаётся пометка, что показаны только первые символы файла. А вот правила сверх 64 файлов или сверх общего потолка в запрос уже не попадают вовсе.
Практический вывод: applyTo: '**' стоит контекста в каждом запросе. Ставьте его для правил про стиль общения и процесс, а правила про конкретные файлы привязывайте глобом.
Как правила доходят до модели
Подключённые правила уходят отдельной секцией запроса, помеченной как автоматически найденные — чтобы агент не решил, будто вы прикрепили эти файлы вручную. Личные правила в этой секции идут первыми, проектные — за ними.
Правила, которые не подставились целиком (glob не совпал или режим «по решению модели»), перечисляются описью: путь, описание и applyTo, без содержимого. Отсюда агент и берёт возможность дочитать нужный файл инструментом. Always-правила в эту опись не дублируются — они уже в секции с полным текстом.
Правило по ссылке
Правило можно передать ссылкой вида workai://share/rule?name=<имя>&text=<текст> или через сайт: https://workai.su/link/rule?name=<имя>&text=<текст>. По такой ссылке WorkAI не записывает ничего сразу: сначала показывается диалог с именем будущего файла и его полным текстом целиком, и только после подтверждения файл сохраняется в .workai/rules/<имя>.md и открывается в редакторе. Существующий файл с тем же именем не перезаписывается.
Имя — латиница в нижнем регистре и цифры, слова через дефис, до 64 символов; длина всей workai://share/… ссылки ограничена 8000 символов. Ссылка сработает, только когда в клиенте открыта папка или воркспейс, — иначе правилу некуда лечь. Подробности — Ссылки workai://.
Хорошие практики
- Держите правило сфокусированным на одной теме — если оно разрастается, разбейте на несколько файлов.
- Пишите
descriptionв форме «применять, когда …» и кладите внутрь слова, по которым правило будут искать: для правил в режиме «по решению модели» описание — единственная поверхность обнаружения. - Пишите конкретно: не «следуй хорошим практикам», а «используй zod для валидации всех API-эндпоинтов».
- Ссылайтесь на документацию проекта, а не копируйте её в правило — копия устареет.
- Не дублируйте содержимое стайл-гайдов — для этого есть линтер, и общие конвенции языка агент знает и так.
- Держите файл компактным, чтобы он читался целиком.
- Добавляйте правило, когда замечаете, что агент раз за разом ошибается в одном и том же месте, а не заранее «про запас».
- Коммитьте проектные правила в git — тогда ими пользуется вся команда, а не только вы.
Почему правило не применяется
Частые причины, по порядку проверки:
- Режим. В
.workai/rulesи.claude/rulesфайл без frontmatter применяется всегда. В.cursor/rulesдефолта нет: безapplyTo/globs/alwaysApply/descriptionправилу не к чему привязаться. Посмотрите подпись режима в списке правил. - Glob не совпал. Правило с
applyToподключается, когда подходящий файл попал в контекст запроса. Если вы обсуждаете задачу «вообще», а файлов в контексте нет, правило про**/*.pyне сработает. - Правило или источник выключены. Проверьте переключатели в Settings → AI rules, включая блок Compatibility. Корневой
AGENTS.mdтоже можно выключить — настройкаchat.useAgentsMdFile. - Сломанный frontmatter. Отступ перед
---— и заголовок не читается: пропадают иdescription, иapplyTo. Если YAML внутри заголовка кривой, редактор покажет диагностику; если---просто с отступом, заголовок молча не увидят, как будто его нет. - Вложенные
AGENTS.mdпо умолчанию выключены — это отдельный источник.
Правила и навыки — в чём разница
Оба механизма расширяют возможности агента, но по-разному:
- Rules — это требования, которые вы задаёте сами; персональные применяются везде, проектные — только в текущем проекте.
- Skills — это переиспользуемая процедура для конкретной задачи; в отличие от правила, подгружается только когда релевантна.
То есть правило — это постоянный контекст («так у нас принято»), а skill — это инструкция «как делать X», которую агент достаёт с полки только когда действительно занимается X. Подробнее — на странице Навыки.