Репозиторий исходников конфигурации Проектная библиотека подсистем (ПБП / PSSL). Файл — единственный источник фактов о проекте для любого агента (Cursor, облачный агент, Bugbot, CodeRabbit, Codex, Claude Code). Язык кода, комментариев и ответов — русский.
- Конфигурация
ПроектнаяБиблиотекаПодсистем:src/cf(формат Конфигуратора, source-setmain). Не подставлять факты типовых ERP / УТ. - Расширение тестов YAxUnit 25.12:
src/cfe/YAXUnit(имя в метаданныхYAXUNIT, source-setYAXUNIT). Руководство —docs/РуководствоПоНаписаниюТестовYAxUnit.md. - Обработка первого внедрения —
src/epf. Фичи Vanessa Automation —features/, порядок прогона —СписокФичДляВыполнениявtools/VBParams.json(правило добавления — skillpssl-library). - Платформа разработки 8.3.27, режим совместимости 8.3.24.
- CI — Jenkins (
Jenkinsfile,jobConfiguration.json): синтаксис, smoke, YaXUnit, BDD, SonarQube (sonar-project.properties,.bsl-language-server.json). - Контракт сборки
v8project.yaml(в Git). Пути ИБ и платформы — только.dev.envиv8project.local.yaml(не в Git, шаблоны*.example).
- Новые объекты и общие модули ядра — только с префиксом
пбп_. Заимствованный код (Connector, DFI и т.п.) не переименовывать. - Модули
пбп_Переадресация*не удалять. Вызовы сервисов БСП — через них, если есть обёртка (docs/ПереопределениеМетодовБСП.md). - Движок
ЮТ*иМокито*вsrc/cfe/YAXUnitне править без задачи на обновление YAxUnit. Тесты — модулиОМ_<Объект>вsrc/cfe/YAXUnit, не вsrc/cf. - Пути машины, каталог ИБ, логины и пароли в код, правила и документацию не писать.
.dev.envне коммитить.
- Без
Попытка...Исключениевокруг обычного чтения и записи БД, кроме обоснованного управления транзакцией. - Без
ЗаписьЖурналаРегистрации()иСообщить(), если об этом не просили. - Булевы условия без сравнения с
Истина/Ложь. - Строка не длиннее 130 символов; не переносить, если на новой строке останется одна переменная.
- Внутри
Если/Цикл— пустые строки до и после тела блока. - Массовые операции — на сервере, запросы вместо обхода коллекций.
УстановитьПривилегированныйРежим()— только по необходимости. - Публичные (
Экспорт) процедуры и функции документировать: назначение, параметры, возвращаемое значение. Точечные отключения анализатора —//BSLLS:. - Директивы модуля формы:
&НаКлиенте,&НаСервере,&НаСервереБезКонтекста,&НаКлиентеНаСервереБезКонтекста.&НаКлиентеНаСервере— только модуль команды. Общая процедура с элементами формы —&НаКлиентеНаСервереБезКонтекстаи параметр формы. «Процедура не определена» при открытии формы, когда текст процедуры на месте, — признак неверной директивы. - Новое событие элемента или команды (в том числе
ПриИзменении) не готово без шага в фиче или YaXUnit, который вызывает событие и проверяет следствие: значение, видимость, доступность или текст кода. Открытие формы и наличие элемента такую проверку не заменяют. Пример:ПриИзмененииродителя — выбрать родителя и убедиться, что уровень иерархии в сгенерированном коде посчитан по нему, а не только что поле родителя заполнилось. - Одна логическая правка за раз, минимальный обратимый дифф, без рефакторинга «заодно».
Локальный Cursor с user MCP (Unica, BSL LS, Напарник, Vanessa). Правило .cursor/rules/psslrule.mdc, skill'ы .cursor/skills/pssl-library (загрузка в ИБ, YaXUnit, фичи) и .cursor/skills/pssl-pr-flow (конвейер Issue → PR в develop), правило фич Jenkins .cursor/rules/vanessa-jenkins.mdc. Пока Unica доступен, BSL и XML правятся только его инструментами.
Агент без Unica и без платформы 1С (облако, Bugbot, CodeRabbit, сторонние агенты):
- BSL и XML правятся напрямую в файлах, точечно. XML метаданных и форм — только существующие узлы и атрибуты; новые объекты метаданных и UUID без Unica не создавать — оставить задачу человеку.
- Проверка — BSL Language Server с
.bsl-language-server.json(облачный образ ставит его через.cursor/install.sh, командаbsl-ls). - Загрузку в ИБ, YaXUnit и Vanessa не запускать и не имитировать. В отчёте прямо писать, что прогона не было.
- Ссылки на user skill'ы и правила (
ui-testing-tools,vanessa-automation,1c-pssl,unica-mcp) — только если они есть в окружении.
- Ветка Issue — от
origin/develop, PR вdevelop, без мержа агентом. - Ревью в PR делает CodeRabbit (
.coderabbit.yaml). Локальный CodeRabbit CLI — skillcoderabbit-review, только по прямой просьбе. - Индекс Cursor: скопировать
.cursorignore.example→.cursorignore(файл в.gitignore). MCP проекта не коммитится.