gastownhall/beads
Beads - A memory upgrade for your coding agent
Beads (bd) – AI エージェントのための分散イシュートラッカー
これは何か – AI コーディングエージェントに、作業を追跡するための構造化されたバージョン管理された「記憶」を提供するコマンドラインツールです。タスク(beads と呼ばれる)を Dolt SQL データベースに保存します。これは、ブランチ、マージ、リモート同期を備えた Git スタイルのデータストアのように動作します。
エージェントにとってなぜ重要か – エージェントは TODO を markdown に散らばせる代わりに、依存関係グラフをクエリし、作業をアトミックにクレームし、bd remember を介して永続的な事実を取得できます。JSON 出力とハッシュベースの ID はプログラムによる消費のために設計されており、複数のエージェントがマージ競合なしに協働できます。
コア概念
| 概念 | 説明 |
|---|---|
| Bead | Dolt DB に保存されたタスク/イシュー。ID は bd‑a1b2(エピック)または bd‑a1b2.1(サブタスク)のように見えます。 |
| 依存関係グラフ | タスクはリンクできます(relates‑to、duplicates、supersedes、replies‑to)。bd dep add <child> <parent> はブロッカー/親関係を作成し、bd ready コマンドが未解決のブロッカーがない作業のみをリストできるようにします。 |
| Dolt バックエンド | Dolt はセルレベルのマージ、ネイティブブランチ、リモート push/pull を備えた SQL データベースを提供します。Beads は Dolt を埋め込みで実行する(デフォルト)か、外部 Dolt SQL サーバーに接続して並行ライターをサポートできます。 |
| エージェント最適化ワークフロー | コマンドは JSON を出力し、--claim(アトミッククレーム + 進行中フラグ)をサポートし、プロジェクトの「記憶」(事実、未完了タスク)をエージェントのプロンプトに注入する bd prime コマンドを公開します。 |
| 圧縮 / 記憶減衰 | クローズされたタスクは自動的に要約され、データベースが小さく保たれ、LLM コンテキストウィンドウ内に収まります。 |
典型的なワークフロー(CLI コマンド)
# One‑time install (system‑wide)
curl -fsSL https://raw.githubusercontent.com/gastownhall/beads/main/scripts/install.sh | bash
# Initialise a project (creates .beads/ and AGENTS.md)
cd my‑project && bd init
# Add a high‑priority task
bd create "Implement search endpoint" -p 0
# Declare that it blocks another task
bd dep add bd‑a1b2.1 bd‑a1b2 # child blocks parent
# Agent asks for work it can start now
bd ready --json # only tasks with no open blockers
# Agent claims a task atomically
bd update bd‑a1b2.1 --claim
# While working, store a reusable insight
bd remember "ElasticSearch pagination uses `search_after`"
# When finished, close the task (releases blockers)
bd close bd‑a1b2.1 "Implemented and tested"
bd prime は現在のコンテキスト(未完了タスク、保存された洞察)を出力し、LLM ベースのコーディングアシスタントがそれをプロンプトの先頭に追加できるようにします。
統合ポイント
| 統合 | 追加されるもの |
|---|---|
Codex / Claude / Factory.ai (bd setup <name>) |
言語モデル固有の指示ファイル(AGENTS.md)と IDE フックをインストールし、モデルが Beads コマンドを認識できるようにします。 |
| VS Code / Cursor / Copilot | Beads コマンドを UI アクションに変換し、生成前に自動的に bd prime を実行する拡張機能を提供します。 |
| HTTP バックエンド(実験的) | リモートの bd serve プロセスに対して薄いクライアントを実行します。共有サーバーや Beads をライブラリとして埋め込む場合に便利です。 |
Git 不要モード (bd init --stealth) |
リポジトリに触れることなくすべてを .beads/ に保存します。CI、モノレポ、非 Git VCS に最適です。 |
AI エージェントスタックへの適合方法
- プロンプト準備 –
bd prime(または生成されたAGENTS.mdスニペット)が、準備完了タスクと記憶された事実の簡潔なリストを LLM プロンプトに注入します。 - 意思決定 – エージェントは
bd ready/bd showの JSON 出力を解析してタスクを選択します。 - 実行 – エージェントは
bd update … --claimを実行し、コード変更を行い、その後bd close …を実行します。 - 協働 – 複数のエージェント(または人間)が同時にタスクをクレームできます。Dolt のハッシュベースの ID が競合のないマージを保証します。
- 永続性 – すべてのタスク履歴、依存関係、保存された洞察は Dolt DB に保存され、
bd dolt push/pullでマシン間で同期できます。
はじめに
- インストール –
brew install beads、npm install -g @beads/bd、または提供されたインストールスクリプトを使用します。 - ドキュメント – https://beads.gascity.com/(インストール、同期概念、HTTP バックエンド、トラブルシューティング)。
- コミュニティ – UI 拡張機能、Web フロントエンド、関連プロジェクトは
docs/community-tools.mdにリストされています。
TL;DR
Beads は、プロジェクトのタスクリストを機械可読でバージョン管理されたグラフに変える専用のイシュートラッカーです。LLM ベースのコーディングエージェントと組み合わせることで、信頼性が高く競合のない調整と、複数の実行と複数のエージェントにわたって存続する耐久性のある「記憶」を得られます。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト