基本コンセプト

Beadbox は bd CLI のデータモデルを可視化します。ダッシュボードに表示されるすべてを、以下の6つのコンセプトでカバーしています。

ワークスペース

ワークスペースは .beads/ フォルダを含むプロジェクトディレクトリです。データベースバックエンドは SQLite (レガシー) または Dolt を使用できます。各ワークスペースは他のプロジェクトとは独立した課題セットを追跡します。

Beadbox は ~/.beadbox/registry.json のレジストリ、最後にアクティブだったワークスペースを追跡するクッキー、現在の作業ディレクトリの .beads/ フォルダのスキャンからワークスペースを検出します。ヘッダーのセレクターでワークスペースを切り替えられます。

組み込みモードでは、すべてのデータがローカルに保存され、アカウントやクラウドへの依存はありません。ワークスペースは複数人での書き込みアクセスのために、オプションでリモート Dolt サーバーに接続でき、プッシュとプルの同期が可能になります。

Bead

bead は作業の基本単位です。課題、タスク、チケットに相当します。すべての bead には以下の要素があります:

  • bd CLI によって割り当てられる一意の ID (例: bb-a3f2)。ワークスペースプレフィックスと base32 エンコードされたサフィックスで構成されます
  • タイトルとオプションの説明 (マークダウン対応)
  • ステータス: open、in_progress、blocked、deferred、ready_for_qa、qa_passed、ready_to_ship、closed
  • 優先度: P0 (最重要) から P4 (バックログ) まで
  • タイプ: task、bug、feature、epic、chore、decision (基本タイプ)。molecule や gate などのカスタムタイプはワークスペースごとに設定できます。
  • オプションの担当者

bd create で bead を作成し、bd show で表示できます。Beadbox では、ツリー内の bead をクリックすると詳細パネルが開きます。

エピック

エピックは子を持つ bead です。関連する作業をグループ化し、全体の進捗を追跡します。ツリービューでは、エピックは完了した子の数に基づくプログレスバーを表示します。

--parent を指定して子を作成します:

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

エピックはネストできます。エピックの子もまた、独自の子を持つエピックになれます。ツリービューはこの階層を展開・折りたたみコントロール付きで表示します。

依存関係

bead は他の bead をブロックできます。bead A が bead B をブロックしている場合、A がクローズされるまで B は進められません。依存関係はツリービューにブロッカーバッジとして、また詳細パネルに依存関係リストとして表示されます。

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 では、コメントは詳細パネルにマークダウンとして時系列順に表示されます。

ステータスライフサイクル

すべての bead は以下のライフサイクルに従います:

open作成済み、未着手
in_progress誰かが作業中
blocked依存関係の解決を待機中
deferred将来の日付まで延期
ready_for_qa実装完了、検証待ち
qa_passedQA 検証済み、リリース可能
ready_to_ship承認済み、次のリリースを待機中
closed完了

各ステータスには Beadbox で固有の色バッジがあります。フィルターバーでステータスごとに bead の表示・非表示を切り替えられます。アクティビティダッシュボードはこれらのステータスを使って bead をパイプラインステージごとにグループ化します。