Перейти к содержимому

Бандлы

Бандл - готовый набор плагинов под роль или задачу. Кода в нём нет: это список плюс описание.

Состав бандла записан в bundle.json двумя списками:

  • Профиль роли (includes) - то, ради чего бандл собран.
  • Зависимости (dependencies) - то, на что опираются плагины профиля: skills, соседние специалисты.

Установщик ставит оба списка. Какие плагины в каждом бандле - на его странице в каталоге.

Установка плагинов плоская: плагин не тянет за собой другие. Специалист может ссылаться на skills и других специалистов по имени; если их нет, он не упадёт, а молча будет работать хуже. Бандл закрывает этот разрыв: всё, что названо компонентами бандла, едет в том же бандле. Это проверяет валидатор каталога перед слиянием любого изменения.

Скрипт install-bundle.sh (или .ps1 на Windows) читает bundle.json из клона репозитория и для каждого плагина вызывает claude plugin install. Ничего больше он не делает: код бандла не исполняется, версий не трогает, уже поставленное пропускает. См. Установка.

Бандл market-editor собран для тех, кто правит сам каталог: ревью артефактов, нормы, извлечение уроков из чужих MR. Он работает в локальном клоне репозитория и пользователям каталога не нужен.

Посмотреть состав, ничего не ставя:

Окно терминала
./install-bundle/install-bundle.sh --list
./install-bundle/install-bundle.sh code-review --dry-run

Так выглядит bundle.json бандла code-review (обрезано):

{
"includes": ["dex-mr-reviewer", "dex-self-reviewer", "dex-debugger", "dex-implement", "dex-test"],
"dependencies": ["dex-security-reviewer", "dex-mr-check-reviewer", "dex-skill-ddd"]
}

В профиле роли названы те плагины, ради которых бандл собран. Всё, на что они опираются, ушло в зависимости, и установка берёт оба списка. Полный состав - в каталоге бандлов.

  • Большой бандл - много описаний в контексте. Нужна одна команда: найдите её плагин и поставьте поштучно вместе с названными skills.
  • Удаление снимает общее. Если плагин входил в два ваших бандла, после uninstall-bundle.sh одного из них он исчезнет и из второго: поставьте оставшийся бандл заново.
  • Версии не обновляются. Скрипт ставит только недостающее; обновление - claude plugin update: Обновление и удаление.

Как плагины и маркетплейсы устроены в самой платформе: Основы, Плагины.