Skip to content

Repository files navigation

tiny1C

Правила разработки на 1С:Предприятии для ИИ-агентов и людей, с MCP-сервером.

Отличие от других наборов правил простое: каждое правило называет свой источник и свою проверку. Источник — ошибка, измерение или эксперимент на живом проекте, с датой. Проверка — то, что упадёт, если правило нарушить. Ни одного правила «вообще полезно знать»: такие не проверяются и не соблюдаются.

Направления

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

Направление Что покрывает Правил Терминов
core язык, формы, метаданные, макеты, процесс — не зависит от конфигурации 71 12
greenfield конфигурация с нуля: именование, языки, стиль, контур проверок, версии 5 —
unf 1С:УНФ — правила, термины, карта объектов 2 10
bp 1С:Бухгалтерия предприятия открыто —
zup 1С:Зарплата и управление персоналом открыто —
erp 1С:ERP Управление предприятием (типовая конфигурация «1С») открыто —

Направление erp — это типовая конфигурация фирмы «1С». Проект maERP, на который ссылаются источники правил, — собственная конфигурация на платформе 1С и к 1С:ERP отношения не имеет.

«Открыто» значит, что направление заведено, а правил пока нет: своего проекта на этой конфигурации у нас не было, а выдуманное правило хуже отсутствующего.

Как подключить к агенту

Сервер работает по stdio: агент запускает его как обычный процесс у себя на машине. Хостинг, порты и сеть не нужны — нужен только Python 3.8+, никаких зависимостей.

Плагином Claude Code

claude plugin marketplace add bigsofter/tiny1C
claude plugin install 1c@tinycio

Клонировать вручную не нужно: набор приезжает вместе с плагином, обновляется через claude plugin update 1c.

Клоном и путём в конфигурации

git clone https://github.com/bigsofter/tiny1C
{
  "mcpServers": {
    "tiny1c": {
      "command": "python3",
      "args": ["${TINY1C_HOME:-../tiny1C}/mcp/server.py"]
    }
  }
}

Для Claude Code это .mcp.json в корне проекта, для остальных агентов — их собственный файл конфигурации MCP. Переменная TINY1C_HOME позволяет не писать в общий репозиторий путь конкретной машины. Обновление — git pull.

Другие системы

Codex CLI, DeepSeek Harness, Cursor, VS Code и прочие MCP-клиенты — готовые куски конфигурации в INSTALL.md. Там же способ для систем без MCP: выгрузка правил одним файлом в системную подсказку или в проектные инструкции.

scripts/export.py --направление core,greenfield --выход dist/rules.md

Инструменты сервера

Инструмент Зачем
list_tracks какие направления есть и что в них лежит
lookup_rule поиск по симптому: тексту ошибки, ключевому слову, id
get_rule полный текст правила
rules_by_category все правила категории (запросы, формы-xml, метаданные…)
rules_for_object что известно про объект метаданных: правила и термины
checklist что проверить перед правкой файла .bsl, .form, .mdo, .mxlx
glossary_lookup термин предметной области → определение и объекты

Плюс ресурс tiny1c://manifest — весь набор одним JSON.

Исполняемые инструменты

Кроме правил, сервер умеет разбирать XML-выгрузку конфигурации — локально, без базы и без платформы. Эти инструменты включаются явно: флагом --tools offline или переменной окружения TINY1C_TOOLS=offline (удобно, когда аргументы запуска задаёт плагин). Без них сервер отдаёт прежние семь.

Инструмент Зачем
where_is где объект в интерфейсе: раздел → подсистема → команда (в том числе собственная), группа панели, кому скрыт, функциональные опции, права, ссылка e1cib/…; по названию раздела — его состав
{"mcpServers": {"tiny1c": {"command": "python3",
  "args": ["${TINY1C_HOME:-../tiny1C}/mcp/server.py", "--tools", "offline"]}}}

Аргумент dump — каталог выгрузки конфигуратора «Выгрузить конфигурацию в файлы», формат «Иерархический» (в нём лежит Configuration.xml); за его пределы инструмент не читает, подменённый XML (DTD, сущности) отвергает. Каждый инструмент описан карточкой в tools/<группа>/<имя>.md: откуда идея, где исполняется, чем опасен, чем проверен и что пока не умеет. Инструмент без проверки на фикстуре в сервер не попадает.

Устройство

tracks/<направление>/
  track.md      паспорт: конфигурации, платформы, статус
  rules/*.md    правила, одно правило — один файл
  glossary.md   термины: термин | синонимы | объекты | пояснение
  objects.md    карта объектов конфигурации (необязательно)
tools/<группа>/<имя>.md   карточки исполняемых инструментов
manifest.json   машинный индекс, собирается из всего перечисленного
mcp/server.py   MCP-сервер (stdio, без зависимостей)
mcp/tools/      реализации инструментов (только stdlib)
fixtures/       синтетические выгрузки для проверки инструментов
tests/          проверки инструментов: golden-ответы на фикстурах
scripts/        сборка манифеста, проверка гигиены, прогон инструментов

Сборка и проверки:

scripts/manifest.py              # пересобрать manifest.json
scripts/manifest.py --проверить  # проверить формат и актуальность (для CI)
scripts/hygiene.py               # что не должно уехать в публичный репозиторий
scripts/tools-check.py           # инструменты на фикстурах (golden-ответы)

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

---
id: bsl-006
направление: core
категория: модули
серьёзность: критично
платформы: [8.3, 8.5]
заголовок: "ЕстьNULL — функция языка запросов, во встроенном языке её нет"
ключи: [ЕстьNULL, NULL, компиляция]
источник: "ошибка:maERP 2026-09-02, панель сведений в 19 формах списков"
check: ["checkconfig-ext:разбор модулей форм", "smoke-forms:форма не открывается"]
---

check пишется как «вид:описание». Виды: lint, checkconfig, checkconfig-ext, smoke-forms, smoke-samples, smoke-print, fixtures, refcheck, xml-audit, manual. Вид manual — честное признание, что правило ловится только человеком; таких сейчас 28 из 78, и это видно в манифесте.

Как добавить правило

scripts/new-rule.py core forms-011 "Короткий заголовок"   # заготовка из шаблона
# заполнить: категория, источник, check, текст
scripts/manifest.py && scripts/hygiene.py                 # пересобрать и проверить

Подробнее — в CONTRIBUTING.md. Откуда что взялось и что сознательно не заимствовано — в PROVENANCE.md.

Лицензии

Тексты правил, глоссарии и карты объектов — CC BY 4.0. Код (сервер, скрипты) — MIT. Берите с указанием авторства.

About

Правила разработки на 1С:Предприятии для ИИ-агентов: у каждого правила свой источник и своя проверка. MCP-сервер, направления по конфигурациям.

Topics

Resources

Contributing

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages