[CLI Package Builder] Разработка пакетов без рутины

Всем привет! Рад представить Package Builder — CLI-инструмент для быстрого старта разработки пакетов под MODX Revolution 3. Это мой первый пакет, опубликованный на Packagist, и установить его можно одной командой: composer global require shevartv/modx-builder.

Зачем это нужно

Создание transport-пакета для MODX — процесс с кучей рутины: структура папок, конфиги, элементы, лексиконы, сборка. Package Builder автоматизирует всё это. Одна команда — и у вас готовая структура компонента со всеми файлами. Дальше пишете код, а сборщик берёт на себя остальное.

Ключевая фишка — headless-сборка

Пакеты можно собирать без установленного MODX и без MySQL. Сборщик скачает ядро MODX и сформирует transport.zip без обращения к базе данных. Полученный пакет устанавливается на любой MODX 3 через менеджер пакетов — все элементы создаются, файлы копируются, резолверы выполняются. При удалении пакета всё чисто удаляется.

Сценарии работы

Сборщик поддерживает четыре сценария, и каждый разработчик может выбрать удобный:

  1. Headless — полностью файловая разработка без установки MODX. Описываете элементы в файлах, собираете transport.zip, устанавливаете на тестовом сайте. Безопасно — при удалении пакета ничего не затирается.
  2. Файловая + стандартная сборка — если MODX уже установлен, но вы предпочитаете работать с файлами. Он есть как побочный эффект, практического смысла лично я в нём не вижу.
  3. Файловая + элементы в БД — описываете элементы в файлах, добавляете их в MODX для тестирования без пересборки пакета.
  4. Смешанная — часть элементов в файлах (сниппеты, плагины, чанки), часть через админку (настройки, TV, меню). Перед сборкой экспорт извлечёт всё из БД в файлы.
Что умеет

  • Создание структуры пакета из шаблонов (можно делать свои шаблоны для разных типов компонентов и переиспользовать в разных проектах из одной директории)
  • Сборка transport.zip со всеми типами элементов: сниппеты, чанки, плагины, шаблоны, TV, настройки, меню, события, политики доступа
  • Извлечение лексиконов и настроек прямо из PHP-кода
  • Извлечение XML-схемы из существующих таблиц в БД
  • Экспорт элементов из БД MODX в файлы
  • Резолверы — скрипты для установки, обновления и удаления
  • Автоматические проверки кода перед сборкой (PHPStan, PHP CS Fixer, ESLint — можно заменить на Psalm, Pint, Biome)
  • Шифрование платных пакетов через modstore.pro API
  • Фильтрация файлов при сборке через .packignore
Статус

Пока это первая версия (0.3.0). Тестирование проводилось синтетическое — headless-сборка, установка и удаление на тестовом сайте, все типы элементов и резолверы. Реальных пакетов в production пока не собиралось, так что буду рад обратной связи и баг-репортам.

Установка и документация

Документация: shevartv.github.io/modx-builder

Спасибо за внимание!
Артур Шевченко
23 марта 2026, 01:02
modx.pro
3
1 115
+15
Поблагодарить автора Отправить деньги

Комментарии: 4

Николай Савин
23 марта 2026, 10:12
+1
Ты большой молодец! Отличная работа. С удовольствием протестирую.
    al1ve
    23 марта 2026, 11:49
    0
    интересно. А этот инструмент пока не рассчитан на модх 2.8.x? Или в этом нет особого смысла — делать для 2й версии?
      Артур Шевченко
      23 марта 2026, 12:02
      +1
      Во второй версии нет автозагрузки ядра, поэтому headless режим реализовать проблематично.
      Андрей
      25 марта 2026, 01:01
      0
      Огненный огонь!
        Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
        4