Claude Code Controller — Claude Code エージェント制御ライブラリ
概要
claude-code-controller は、Claude Code(Anthropic 系のコード指向エージェント)をプログラムから起動・管理するための TypeScript API です。README の説明どおり「Spawn, orchestrate, and control Claude Code agents — programmatically.」を目的としており、内部で用いられる teams/inbox/tasks のファイルシステムプロトコルを介してエージェントとやり取りします。Node.js 環境でエージェントをスポーンし、タスクを投入して進行状況を監視、出力を収集する一連のオーケストレーションをコードで記述できます。パッケージは npm で配布され、MIT ライセンスです。
リポジトリの統計情報
- スター数: 32
- フォーク数: 2
- ウォッチャー数: 32
- コミット数: 11
- ファイル数: 17
- メインの言語: TypeScript
主な特徴
- TypeScript で提供されるプログラム API によるエージェントのスポーンと制御
- teams/inbox/tasks ベースのファイルシステムプロトコルを抽象化して扱える
- Node.js 環境向けに設計され、npm パッケージとして利用可能(MIT ライセンス)
- エージェントの状態監視・タスク投入・結果取得を自動化し、パイプラインに統合しやすい
技術的なポイント
このライブラリの中心的な技術観点は「ファイルシステムを介したメッセージングプロトコルの抽象化」にあります。Claude Code の内部で使われる teams/inbox/tasks 構造は、タスクやメッセージをディレクトリとファイルとして表現する方式で、コントローラはこれらの場所にタスクファイルを書き込んだり、ステータスファイルを監視したりしてエージェントとやり取りします。claude-code-controller はその低レベルな入出力操作をラップして、TypeScript の型付き API として提供することで、アプリケーション側は細かな FS 操作を意識せずに利用できるようにしています。
実装上は Node.js のファイル I/O(fs.watch やポーリング)や非同期処理を前提に、タスクのライフサイクル管理(投入 → 実行 → 結果取得 → クリーンアップ)を扱います。エラーや競合に備えたリトライやタイムアウト、ファイル整合性(書き込みのアトミック性や一貫性)を考慮する必要があり、このライブラリはそれらを扱うためのユーティリティやコンベンションを提供していると考えられます。TypeScript による型定義があるため、IDE 補完や型チェックを通じて安全に導入でき、CI/CD の自動化ジョブやスクリプトからエージェント群を編成して動かす用途に適しています。npm パッケージ化されている点から、プロジェクトへの導入は package.json 経由で容易ですし、.env.example を用いた環境設定や GitHub Actions 等の自動化と相性が良い構成です。
プロジェクトの構成
主要なファイルとディレクトリ:
- .env.example: file
- .github: dir
- .gitignore: file
- .release-please-manifest.json: file
- CHANGELOG.md: file
…他 12 ファイル
(注)リポジトリは TypeScript を主言語としており、パッケージ定義やビルド設定、サンプル/ユーティリティが含まれている構成が想定されます。
まとめ
Claude Code の内部プロトコルを扱いやすく抽象化した、TypeScript ベースのエージェント制御ライブラリです。
リポジトリ情報:
- 名前: claude-code-controller
- 説明: Programmatic TypeScript API to pilot Claude Code agents via the internal teams/inbox/tasks filesystem protocol
- スター数: 32
- 言語: TypeScript
- URL: https://github.com/The-Vibe-Company/claude-code-controller
- オーナー: The-Vibe-Company
- アバター: https://avatars.githubusercontent.com/u/252322352?v=4
READMEの抜粋:
claude-code-controller
Spawn, orchestrate, and control Claude Code agents — programmatically.