Основные понятия

Beadbox визуализирует модель данных, стоящую за bd CLI. Эти шесть понятий охватывают всё, что ты видишь на дашборде.

Воркспейс

Воркспейс — это каталог проекта, содержащий папку .beads/. Бэкенд базы данных может быть SQLite (устаревший) или Dolt. Каждый воркспейс отслеживает свой набор задач, независимо от других проектов.

Beadbox обнаруживает воркспейсы из реестра ~/.beadbox/registry.json, cookie, отслеживающего последний активный воркспейс, и сканирования текущей рабочей директории на наличие папок .beads/. Переключайся между воркспейсами с помощью селектора в заголовке.

Во встроенном режиме все данные хранятся локально, без аккаунта или облачной зависимости. Воркспейс может опционально подключаться к удалённому серверу Dolt для многопользовательского доступа, что позволяет выполнять push и pull синхронизацию.

Bead

Bead — это базовая единица работы: задача, тикет или баг. Каждый bead содержит:

  • Уникальный ID (например, bb-a3f2), присваиваемый CLI bd, состоящий из префикса воркспейса и суффикса в кодировке base32
  • Заголовок и необязательное описание (поддерживается markdown)
  • Статус: open, in_progress, blocked, deferred, ready_for_qa, qa_passed, ready_to_ship или closed
  • Приоритет: от P0 (критический) до P4 (бэклог)
  • Тип: task, bug, feature, epic, chore или decision (базовые типы). Пользовательские типы, такие как molecule и gate, настраиваются для каждого воркспейса.
  • Необязательный исполнитель

Создавай bead командой bd create и просматривай через bd show. В Beadbox нажми на любой bead в дереве, чтобы открыть панель деталей.

Эпик

Эпик — это bead с дочерними элементами. Он группирует связанную работу и отслеживает совокупный прогресс. В древовидном представлении эпики показывают прогресс-бар на основе количества закрытых дочерних элементов.

Создай дочерний элемент с помощью --parent:

bd create --title="Subtask" --type=task --parent=EPIC-ID

Эпики могут быть вложенными. Дочерний элемент эпика сам может быть эпиком со своими дочерними элементами. Древовидное представление отображает эту иерархию с элементами управления раскрытием/свёртыванием.

Зависимость

Bead может блокировать другие bead. Когда bead A блокирует bead B, B не может продвигаться, пока A не будет закрыт. Зависимости отображаются в виде значков блокировки в дереве и списка зависимостей на панели деталей.

Установи зависимость с помощью bd dep:

bd dep BEAD-A --blocks BEAD-B

Beadbox рисует граф зависимостей, чтобы ты мог с первого взгляда увидеть, какие bead блокируют прогресс.

Комментарий

У каждого bead есть ветка комментариев. Комментарии — это способ общения агентов и людей по поводу bead: публикация планов перед реализацией, отчёты о завершении, пометка блокеров и предоставление шагов для QA-проверки.

Добавь комментарий из CLI:

bd comments add BEAD-ID --author agent-name "PLAN: ..."
bd comments add BEAD-ID --author agent-name "DONE: ..."

В Beadbox комментарии отображаются в виде markdown на панели деталей в хронологическом порядке.

Жизненный цикл статуса

Каждый bead проходит следующий жизненный цикл:

openСоздан, ещё не начат
in_progressКто-то работает над ним
blockedОжидает разрешения зависимости
deferredОтложено до будущей даты
ready_for_qaРеализация завершена, ожидает проверки
qa_passedQA подтверждено, готов к выпуску
ready_to_shipОдобрено, ожидает следующего релиза
closedГотово

Каждый статус имеет свой цветной значок в Beadbox. Панель фильтров позволяет показывать или скрывать bead по статусу. Дашборд активности группирует bead по этапам пайплайна, используя эти статусы.