UStackUStack
Baton icon

Baton

Batonは、git worktreeをタスクごとに分離してAIコーディングエージェントを並列実行。差分レビューとPR前確認まで対応。

Baton

Batonとは?

Batonは、複数のAIコーディングエージェントを並列実行するためのターミナルネイティブアプリケーションです。エージェント実行を分離されたgitワークスペースで管理し、各タスクが互いに干渉せずに実行できるようにします。

主な目的は、エージェント出力のレビューと統合時の調整オーバーヘッドを削減することです。Batonは各ワークスペースのステータス監視、差分ベースの変更レビュー、ブランチング、Pull Requests、ワークスペースごとのファイル閲覧などのgit対応コントロールを提供します。

主な機能

  • 並列タスクのためのworktree分離: 各ワークスペースは実際のgit worktreeと専用ブランチでバックアップされ、エージェント実行同士の干渉(stash/切り替え競合)を防ぎます。
  • CLIネイティブ実行によるマルチエージェントオーケストレーション: ターミナルAIコーディングエージェントをフルターミナルセッションで実行(簡易ラッパーではありません)。サイトではClaude CodeCodexOpenCodeGemini CLI、および「任意のCLIエージェント」のサポートを記載。
  • ワークスペース監視とステータスバッジ: ラベル付きステータスバッジでエージェントの入力待ち、成功完了、エラーを表示。ダッシュボードでワークスペースをグループ化し、注意が必要な箇所を把握。
  • Git対応変更レビュー: Monaco駆動のdiffビューアで各エージェントの変更を表示。分割/統一diffモード、PR作成前の個別ファイルロールバックをサポート。main以外のブランチ比較も可能。
  • ビルトインのワークスペース管理: アイデアから素早くワークスペース作成(ブランチ名、タイトル、説明を自動生成)。完了ワークスペースのアーカイブ、一括停止/アーカイブ/削除。
  • テンプレート、検索、閲覧: シェルコマンドとエージェントプロンプトを再利用テンプレートとして保存。ファジーファイル検索と全文検索(fzf + ripgrep)、コミット履歴とファイル履歴の閲覧(コミットごとのdiff付き)。
  • ターミナルとエディタのワークフロー: ワークスペースごとに複数ターミナルタブとペイン分割、ハイライト付き出力検索、Shift+Enterでマルチライン入力。エディタにgit blameとMonacoベースのファイルビューア。
  • Git GUIアクションとPR作成: フェッチ/プル/リベース/プッシュ、GitHubやGitLabへのPull Requestsをアプリから1クリックで実行(ページ記載通り)。
  • エージェントプリセットとカスタムコマンド: 起動モード、フラグ、カスタム起動スクリプト付きの複数エージェントCLIプリセット定義。ターミナルツール経由のカスタムエージェントコマンド設定。
  • MCPサーバーサポート: エージェントが新Batonワークスペース起動、並列タスク実行、会話からワークスペースタイトル/説明更新(統合MCPサーバー経由)。

Batonの使い方

  1. Batonを起動し、作りたいものを記述して開始。
  2. Batonが専用git worktreeとブランチで分離ワークスペースを作成し、即座にエージェントを開始。
  3. ダッシュボードとステータスバッジでエージェントの完了、エラー、入力待機を確認。
  4. 変更準備完了時、diffビューアでエージェントの修正をレビュー、不要ファイルを個別にロールバック後、アプリからPull Request作成。
  5. タスク完了時、完了ワークスペースをアーカイブしてサイドバーを整理。

ユースケース

  • 分離ブランチでの並列機能開発: 複数コーディングタスクごとにワークスペース作成、各エージェントが独立git worktreeで動作、完了後にレビューとPR。
  • 安全なPRのためのレビュー優先エージェント出力: Monaco diffビューア(分割/統一)でエージェントごとのファイル変更を検査、特定ファイルロールバック後、満足したらPR作成。
  • 入力が必要なエージェントプロンプト対応: エージェントの「入力」ステータスバッジを監視、応答してタブ切り替えなしで継続。
  • コード変更理由の調査: Baton内のgit blameとコミット履歴ビューで変更行をコミット追跡、diff付きファイル履歴検査(行レベル統計とgit履歴の改名追跡含む)。
  • 実績あるコマンドとプロンプトの再利用: シェルコマンドとエージェントプロンプトをテンプレート保存、ツールバーから別ワークスペースで実行。

FAQ

BatonはどのAIコーディングエージェントに対応していますか?

サイトではClaude CodeCodex (Codex CLI)OpenCodeGemini CLIを明示的に記載しており、Batonはany CLI agentも実行可能としています。

Batonはエージェント実行間のマージコンフリクトをどう防ぎますか?

Batonは各ワークスペースを独立したgit worktreeと別ブランチで分離します。これによりエージェント実行同士の干渉を防ぎ、タスク間のstash/切り替えを不要にします。

「input」ステータスとは何ですか?

ワークスペース監視UIでinputバッジは、エージェントがユーザー入力待ちであることを示します。

PR作成前に変更をレビューできますか?

はい。Batonには各AIエージェントの変更をレビューするdiffビューアがあり、Pull Request作成前に個別ファイルのロールバックが可能です。

Batonはターミナルベースのツールとして使えますか?

はい。製品は「terminalを中心に構築」されており、CLIネイティブのエージェント実行、タブ、パイン分割、出力検索などのターミナル機能を強調しています。

代替案

  • ローカルgit + 手動エージェント実行(別ブランチ): ブランチ/worktreeごとに自分でエージェントを実行し、diffを手動レビューしてPR作成;Batonの集中監視ダッシュボードやビルトインdiff/blame/ワークスペース管理が欠如。
  • IDE統合AIアシスタント機能: IDEベースのAIツールはエディタ内でエージェントチャットやコード提案を提供しますが、Batonのworktree分離並列実行モデルやターミナル中心のマルチエージェントワークフローを提供しない場合があります。
  • git worktree分離なしのタスク/エージェントオーケストレーションツール: 汎用オーケストレーションプラットフォームは複数エージェント実行を調整しますが、Batonはタスクごとの実git worktree/ブランチで出力分離とレビューを重視。
  • バージョン管理中心のレビュー workflow(diff + PRツール): コードレビュー工具は変更検査とPR管理を支援しますが、並列AIエージェント実行やワークスペースレベルでのステータス追跡を組み合わせていません。
Baton | UStack