bp-tool
CLI, который превращает бинарные .bpt-файлы бизнес-процессов Битрикс24 в читаемый JSON для гита и диффа
Низкий риск
Низкий уровень ставим, когда запись в основном дает агенту инструкции и справочные материалы.
Почему такой уровень
- Работает только с локальными файлами, не подключается к порталу напрямую
- Десериализует только простые типы данных, без выполнения кода
Установка
Ручная установка
git clone https://github.com/mostachev/bp-tool.git && cd bp-tool && npm install && npm run build && npm linkПосле сборки команда bp-tool доступна глобально.
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
Битрикс24 экспортирует шаблоны бизнес-процессов в бинарный формат .bpt (zlib поверх PHP serialize), который нельзя читать и сравнивать напрямую. bp-tool декодирует .bpt в JSON или XML, кодирует JSON обратно в .bpt для импорта в портал, показывает сводку шаблона (количество активностей по типам, параметры, переменные, поля документа), нормализует JSON сортировкой ключей для стабильных диффов в git, сравнивает два файла построчным диффом с кодом выхода и строит диаграмму дерева активностей в формате Mermaid. При десериализации восстанавливаются только массивы, строки, числа и булевы значения, PHP-объекты не создаются.
Для кого. Для разработчиков Битрикс24, которые хотят версионировать бизнес-процессы в git и видеть содержательные диффы вместо бинарного файла.
Подходит, если
- Нужно положить бизнес-процесс Битрикс24 в git с понятной историей изменений
- Нужно сравнить две версии шаблона и увидеть, что реально изменилось
- Нужна диаграмма шаблона для документации
Не подходит, если
- Нужен доступ к порталу Битрикс24 напрямую: инструмент работает только с локальными .bpt-файлами
- Нужна автоматизация самого экспорта или импорта в портал, а не только конвертация файла
Пример запроса к агенту
Разбери template.bpt, нормализуй JSON и покажи диаграмму дерева активностей в MermaidОграничения
Работает только с локальными файлами .bpt, экспорт из портала и импорт обратно делаются вручную через интерфейс Битрикс24. Разработчик просит обрабатывать только файлы из доверенных источников, то есть из своего же портала.
Как отключить. Отвяжите глобальную команду npm unlink -g bp-tool и удалите папку проекта.
Проверка безопасности
- Работает только с локальными файлами, не подключается к порталу напрямую
- Десериализует только простые типы данных, без выполнения кода
Коротко о README
README на английском (с версией на русском в README.ru.md) объясняет проблему бинарного формата .bpt и решает ее командами decode, encode, inspect, normalize, diff и graph, дает пример вывода inspect, git-воркфлоу для версионирования бизнес-процессов, описание формата .bpt по ключам, инструкцию по сборке единого бинарника через Node.js SEA и раздел безопасности о десериализации только безопасных типов. Лицензия MIT.
Частые вопросы
Можно ли вернуть JSON обратно в формат Битрикс24?
Да, команда encode собирает .bpt из JSON, который можно импортировать в портал, а diff подтвердит, что файлы идентичны после round-trip.
На каких системах работает?
На Windows и Linux, нужен Node.js 20 и выше, есть сборка в единый бинарник через Node.js SEA.
Похожие
Набор скиллов, который задает агенту процесс разработки: уточнение задачи, план, TDD, субагенты и ревью кода
Скиллы Мэтта Покока для инженеров
Skills For Real Engineers
Небольшие компонуемые скиллы для инженерной работы с агентом: интервью по плану, TDD, диагностика багов, ревью и архитектура
Набор GitHub для разработки от спецификации: CLI specify ставит в проект команды и скиллы для агента, от принципов до реализации
Референсные MCP-серверы
Model Context Protocol servers
Официальные референсные MCP-серверы: Filesystem, Fetch, Git, Memory, Sequential Thinking, Time и Everything