AI News HubLIVE
サイト内リライト2 分で読了

Show HN: 並列Claude Codeエージェントのためのローカルマージキュー

Claude Code Merge Queueは、並列エージェントのランディングを直列化してプッシュ競合や冗長ビルドを防ぐローカル・ゼロコストのツールです。Claude Codeエージェントと統合し、ブランチ、ビルド、デプロイメントを管理する一連のコマンドを提供します。

ソースHacker News AI著者: funador

この記事では、複数のClaude Codeエージェントが並行して作業する際に発生するプッシュ競合、重複ビルド、テストの不安定さを解決するためのオープンソースツール「Claude Code Merge Queue」を紹介します。このツールはローカルで動作し、追加費用は一切かからず、どのGitHubリポジトリでも使用できます。

クイックスタート

npmでインストール: npm install --save-dev claude-code-merge-queue、その後 npx claude-code-merge-queue init で初期化します。

設定

すべての設定は claude-code-merge-queue.config.mjs という単一のファイルに保存されます。主な設定項目は、branchPrefixworktreeSuffixportBaseintegrationBranchproductionBranchprotectedBranchesregenerableFilessymlinksbuildOutputDirscheckCommandchecksRequired です。設定に誤りがあると即座にエラーが表示され、後で謎の失敗が発生するのを防ぎます。

GitHub Merge Queueとの比較

GitHubのマージキューはEnterprise Cloud限定で、ランディングごとにGitHub Actionsの分を消費します。一方、Claude Code Merge Queueはローカルで動作し無料、プルリクエストも不要です。

コマンド一覧

ツールは以下のコマンドを提供します:claude-code-merge-queue hook worktree-create(ワークツリー作成)、build-lock(ビルドの直列化)、land(FIFOキューによる統合ブランチへのプッシュ)、sync(メインチェックアウトの同期)、promote(統合ブランチから本番への昇格、人間のみ)、preview(作業ツリーの即時ミラー)、port(開発サーバーポートの表示)、prune(ランディング済みブランチの削除)。プリプッシュフックにより、land の使用が強制され、checkCommand が成功しないとプッシュできません。

初期化

init コマンドは設定ファイルの生成、CLAUDE.mdの更新、ワークツリー作成フックの設定、Huskyフックの設定、npmスクリプトの追加を行います。また、ランディング前にブランチの状態をチェックするプリフライトスクリプトも生成します。

緊急ハッチ

保護されたブランチへのプッシュがブロックされた場合、環境変数 CLAUDE_CODE_MERGE_QUEUE_EMERGENCY_PUSH=1 を設定することでバイパスできます。これは慣習であり、厳格な保証ではありませんが、誤操作や不注意なプッシュを防ぐのに役立ちます。

制限事項

このツールには人間によるレビューはなく、checkCommand の成功だけがゲートです。ロックはPIDの生存確認によりクラッシュセーフで、タイムアウトはありません。単一マシンでの動作を想定しており、複数マシンでの並行ランディングはGitの通常の非ファストフォワード拒否が発生します。セキュリティ境界ではなく、悪意あるエージェントではなくミスを防ぐためのものです。checkCommand が遅いとスループットが低下します。また、リベースの競合は自動的に中止され、エージェントに解決を促します。

ライセンス

MITライセンスで提供されており、自由にフォーク、改名、設定の変更が可能です。