Claude Code Controller — Claude Code エージェント制御ライブラリ

AI/ML

概要

claude-code-controller は、Claude Code(Anthropic 系のコード指向エージェント)をプログラムから起動・管理するための TypeScript API です。README の説明どおり「Spawn, orchestrate, and control Claude Code agents — programmatically.」を目的としており、内部で用いられる teams/inbox/tasks のファイルシステムプロトコルを介してエージェントとやり取りします。Node.js 環境でエージェントをスポーンし、タスクを投入して進行状況を監視、出力を収集する一連のオーケストレーションをコードで記述できます。パッケージは npm で配布され、MIT ライセンスです。

GitHub

リポジトリの統計情報

  • スター数: 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 ベースのエージェント制御ライブラリです。

リポジトリ情報:

READMEの抜粋:

claude-code-controller

Spawn, orchestrate, and control Claude Code agents — programmatically.

npm MIT License