AGENTS.md и правила Cursor для проекта 1С: как настроить память ИИ-ассистентов
Файлы
ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.
Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний
Оформите подписку на компанию для решения рабочих задач
Оформить подписку и скачать решение со скидкойВы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».
- 0% комиссии — оплата напрямую исполнителю;
- Исполнители любого масштаба — от отдельных специалистов до команд под проект;
- Прямой обмен контактами между заказчиком и исполнителем;
- Безопасная сделка — при необходимости;
- Рейтинги, кейсы и прозрачная система откликов.
13.9-companion.zip: AGENTS.md, CLAUDE.md, 1c-bsl.mdc, check_rules.py и README.mdpython check_rules.py; на копии с BOM, без @AGENTS.md и с маской *.bsl - то же с каталогом копииCursor и Claude Code читают разные файлы правил, и при наличии CLAUDE.md общий AGENTS.md Claude Code не видит без импорта. В статье - таблица по документации, шаблоны для 1С-репозитория, команда синтаксического контроля платформой с кодами завершения и скрипт, который ловит BOM, неверную маску и пропавший импорт.
- Cursor читает
.cursor/rules/*.mdcиAGENTS.md; маска*.bslзахватывает только корень, нужна**/*.bsl. - Claude Code при наличии
CLAUDE.mdчитает только его, общийAGENTS.mdподключается первой строкой@AGENTS.md. - Платформа возвращает код завершения только через
Start-Process -Wait: 0 без ошибок, 101 при ошибке в модуле. - Скрипт
check_rules.pyловит BOM, неверную маску и пропавший импорт до коммита.
Общие правила репозитория доходят до обоих ассистентов, только если импорт и маска записаны так, как требует документация каждого инструмента, а скрипт проверяет это до коммита.
Для кого: разработчики 1С и DevOps-инженеры, которые работают с выгрузками конфигураций в Git.
Открываете выгрузку конфигурации в Cursor или запускаете Claude Code в терминале, и модель начинает с угадывания: какие в проекте директивы компиляции, как называть процедуры, можно ли трогать рабочую базу. Каждый раз объяснять это в чате долго, а длинный промпт занимает контекстное окно. Постоянные правила лежат в файлах репозитория, и каждый инструмент читает свой набор файлов.
С этими файлами легко ошибиться. Я проверила документацию Cursor и Claude Code и нашла место, где типичная схема «AGENTS.md для всех плюс CLAUDE.md для Claude» тихо перестаёт работать: когда в репозитории есть оба файла, Claude Code читает только CLAUDE.md. В статье разобрано, как устроены приоритеты файлов, какие шаблоны я положила в архив, и как скрипт ловит поломку до коммита.
🔬 Что я прогнала на стенде
Стенд:
| Компонент | Версия |
|---|---|
| Операционная система | Windows 11 Pro 23H2 (сборка 10.0.22631) |
| Cursor | 3.22.12 |
| Claude Code | 2.1.276 |
| Python | 3.12.10 |
| Платформа 1С:Предприятие | 8.3.27.2130 (x86) |
Прогнано три вещи. Скрипт check_rules.py запускался из распакованного архива на шаблонах и на испорченной копии. Команда синтаксического контроля из CLAUDE.md запускалась платформой на двух файловых базах, с ошибкой в модуле и без. Поведение Cursor и Claude Code с файлами правил я сверяла с официальной документацией: живую сессию с моделью на этом стенде я не гоняла. Claude Code 2.1.276 вдобавок младше версии 2.1.277, с которой он читает AGENTS.md сам, поэтому проверять эту часть запуском здесь было бы нечестно.
📋 Какой файл читает какой инструмент
По документации Cursor, правила проекта лежат в .cursor/rules/ в файлах .mdc с тремя полями frontmatter: description, globs и alwaysApply. Если alwaysApply: true, правило подключается всегда, а globs и description игнорируются. Если alwaysApply: false и заданы globs, правило автоматически подключается, когда в контексте есть подходящий файл. AGENTS.md в корне Cursor принимает как простую альтернативу .cursor/rules, вложенные AGENTS.md в подкаталогах поддерживаются, более конкретный файл приоритетнее.
У Claude Code картина другая. Документация описывает три случая:
| В репозитории есть | Claude Code читает |
|---|---|
AGENTS.md, нет CLAUDE.md |
AGENTS.md |
AGENTS.md и CLAUDE.md |
только CLAUDE.md |
CLAUDE.md со строкой @AGENTS.md |
CLAUDE.md и AGENTS.md через импорт |
Прямое чтение AGENTS.md появилось в версии 2.1.277. В более ранних версиях Claude Code читает только CLAUDE.md. Если в проекте есть CLAUDE.md, а общий AGENTS.md нужен Claude, в CLAUDE.md первой строкой ставят импорт @AGENTS.md. Фраза «следуй правилам из AGENTS.md» словами не работает: по документации Claude увидит файл, только если сам решит его открыть. Есть и настройка claude-md-and-agents-md, которая заставляет читать оба файла, но она живёт в личных настройках разработчика, а импорт лежит в репозитории и действует на всю команду.
Отсюда схема из трёх файлов:
AGENTS.mdхранит общие правила: безопасность, стандарты BSL, методы платформы, коммиты. Его читают Cursor и другие инструменты из списка на agents.md (там, среди прочих, GitHub Copilot, Codex, Gemini CLI и Windsurf).CLAUDE.mdначинается со строки@AGENTS.md, дальше идут команды и порядок работы Claude Code..cursor/rules/1c-bsl.mdcсодержит то, что нужно Cursor только при работе с.bsl.
🧱 Общие правила в AGENTS.md
В AGENTS.md четыре раздела. Вот их полный текст из архива:
Раздел «Безопасность» стоит первым, чтобы запреты читались раньше остального.
🔧 Правило Cursor для файлов BSL
Правила, которые нужны только при работе с модулями, удобно вынести в .cursor/rules/1c-bsl.mdc с маской файлов:
Маска важна. В документации Cursor есть пара примеров: *.ts совпадает с файлами .ts в корне, **/*.ts - с файлами в любом каталоге. В выгрузке конфигурации модули лежат глубоко, например Documents/Реализация/Forms/ФормаДокумента/Ext/Form/Module.bsl, поэтому маска *.bsl не сработает ни на один из них.
📜 Как CLAUDE.md подключает общие правила
Файл для Claude Code начинается с импорта, дальше идёт команда синтаксического контроля платформой:
Эту команду я прогнала на платформе 8.3.27.2130 на двух файловых базах из моей лаборатории. На базе без ошибок:
ExitCode=0 Синтаксических ошибок не обнаружено!
На базе, где в общем модуле стоит Возврат 1 +;:
ExitCode=101
{ОбщийМодуль.ЛабМодуль.Модуль(2,13)}: Ошибка в выражении
Возврат 1 +<<?>>; (Проверка: Сервер)
Прямой вызов & 1cv8.exe DESIGNER ... из PowerShell у меня вернул управление сразу, без кода завершения. Поэтому в шаблоне стоит Start-Process -Wait. Платформа у меня 32-разрядная и лежит в Program Files (x86); на 64-разрядной установке путь другой. Анализатор BSL Language Server в CLAUDE.md я не включала: его команду из документации (--analyze --srcDir ... --reporter ...) я на стенде не запускала.
🧰 Проверка файлов правил скриптом
Файл правил ломается тихо. Если в начале .mdc стоит BOM-сигнатура, первая строка файла перестаёт быть ---. Маска *.bsl не захватывает подкаталоги. Из CLAUDE.md пропадает строка @AGENTS.md, и общие правила перестают попадать в контекст. Git такие поломки не замечает. Скрипт check_rules.py из архива проверяет все три случая и ещё разделы AGENTS.md и поля frontmatter. Ключевая часть:
Полный текст со вспомогательными функциями - в архиве. Запуск из распакованного архива на шаблонах:
Проверка файлов правил ИИ-ассистентов: C:\распаковано ============================================================ [OK] AGENTS.md [OK] CLAUDE.md [OK] 1c-bsl.mdc ============================================================ Итог: проверено 3, с ошибками 0
На копии, где я убрала из CLAUDE.md первую строку, добавила BOM в .mdc и заменила маску на *.bsl:
Проверка файлов правил ИИ-ассистентов: C:\распаковано\bom ============================================================ [OK] AGENTS.md [FAIL] CLAUDE.md - CLAUDE.md: нет строки @AGENTS.md - Claude Code прочитает только CLAUDE.md, общие правила не попадут в контекст [FAIL] 1c-bsl.mdc - 1c-bsl.mdc: в начале файла маркер BOM (U+FEFF), нужен UTF-8 без BOM - 1c-bsl.mdc: маска *.bsl захватит только корень проекта, для подкаталогов нужна **/*.bsl ============================================================ Итог: проверено 3, с ошибками 2
Код возврата второго прогона равен 1, поэтому скрипт можно поставить в pre-commit или в CI. Как именно Cursor реагирует на BOM в .mdc, я не проверяла: скрипт запрещает BOM заранее, на случай такой реакции.
🛠 Если правила не действуют
Claude Code не знает правил из AGENTS.md. Причина: в репозитории есть CLAUDE.md без импорта, либо версия Claude Code ниже 2.1.277. Что сделать: первой строкой CLAUDE.md поставить @AGENTS.md. Проверка: check_rules.py.
Правило .mdc не подключается на файлах из подкаталогов. Причина: маска *.bsl без **/. Что сделать: заменить на **/*.bsl.
Правило подключается в каждом диалоге. Причина: в frontmatter alwaysApply: true; по документации тогда globs и description игнорируются. Что сделать: поставить alwaysApply: false.
Правило не срабатывает вообще. Причина: нет блока frontmatter, он испорчен или перед ним стоит BOM. Что сделать: сохранить файл в UTF-8 без BOM и запустить check_rules.py.
💬 Что у вас в правилах
Какие требования к BSL вы вынесли в постоянные правила ассистента, а какие оставили проверять BSL Language Server или SonarQube? Если у вас в одном репозитории работают несколько инструментов, поделитесь в комментариях, какой файл у вас главный и как вы синхронизируете остальные.
🧭 Ограничения
Поведение Cursor и Claude Code с файлами правил описано по официальной документации на 06.10.2026: на стенде я проверила скрипт и команду платформы, а живые сессии ассистентов с моделью не запускала. Установленный у меня Claude Code 2.1.276 читает только CLAUDE.md, поэтому на этом стенде схема работает через импорт @AGENTS.md. Cursor 3.22.12 установлен, но правила я в нём на модели не гоняла. Версии платформы, кроме 8.3.27.2130, и клиент-серверные базы не проверялись. Формат файлов памяти в обоих инструментах меняется быстро, сверяйте с документацией на дату чтения.
📚 Источники
- Правила проекта в Cursor - формат
.cursor/rules/*.mdc, поляdescription,globs,alwaysApply, поддержкаAGENTS.md, примеры масок. - Память проекта в Claude Code - порядок чтения
CLAUDE.mdиAGENTS.md, импорт@AGENTS.md, версия 2.1.277. - Открытый формат AGENTS.md - описание формата, список поддерживающих инструментов, приоритет ближайшего файла.
- Документация BSL Language Server - режим анализа командной строки.
Предшественники на Infostart:
- Cursor + MCP: собираем идеальное рабочее место 1С-разработчика за 15 минут (Ninel_S) - подключение MCP-серверов к Cursor. Здесь речь о файлах правил и памяти проекта.
- Расширение УТ 11 за 19 минут: бесплатные скиллы и память проекта (Часть 2) (Ibrogim, 25.09.2026) - замер времени работы агента со скиллами и памятью проекта. Здесь разобраны сами файлы памяти для двух инструментов и их приоритеты.
- 1C Skills для ИИ-агентов: инструменты для разработки, проверки и тестирования 1С (Aleksandr) - каталог навыков для агентов. Здесь - постоянные правила репозитория.
Идея держать правила в репозитории общая для этих инструментов. Своё в статье - сверка приоритетов по документации, импорт @AGENTS.md в CLAUDE.md, шаблоны для BSL и скрипт проверки, прогнанный из распакованного архива.
📎 Файл к статье
В архиве к статье - 13.9-companion.zip: шаблоны AGENTS.md, CLAUDE.md и 1c-bsl.mdc, скрипт check_rules.py и README.md. Архив прикреплён в блоке «Файлы» под текстом публикации.
Распакуйте архив в отдельную папку, запустите python check_rules.py, затем скопируйте шаблоны в корень своего репозитория 1С.
Вступайте в нашу телеграмм-группу Инфостарт