🎨

面倒なgit worktreeの管理はAIに任せよう

に公開

Git worktreeによる並行開発に挑戦しようとした人々が最初に抱える問題が、ワークツリーの作成や移動のためのコマンド実行に手間がかかることです。私はそれらのコマンドを簡単に実行できるCLIツール(Phantom)を開発し、その問題を解消しました。

https://zenn.dev/aktriver/articles/2025-06-claude-code-200k-vibe-coding

ワークツリーの管理をAIに任せたい

そしてPhantomを使って複数のワークツリーで開発を進めるうちに、次第にワークツリーの管理を手動で行うこと自体に疲れてきました。
AIがタスクに着手する時にワークツリーを作成してから作業を開始してくれれば、人間の負担(ワークツリーを作成し、移動してエージェントを立ち上げる)を大きく軽減できるはずです。

Phantom MCP Server

そこで、Phantomの機能のうち、ワークツリーの作成・一覧表示・削除をMCPサーバーとして提供しました。
AIに指示する際に「新しいワークツリーで実装を開始して」と付け加えるだけで、AIが自動的にワークツリーを作成し、そこに移動して実装を開始してくれるようになりました。

https://x.com/aku11i/status/1934045188693102608

開発フローにジャストフィット

AIを使った一般的な開発フローでは、まず調査・壁打ちを行い、ある程度の方針を決めてからAIに実装を依頼すると思います。
調査・壁打ちのステップでは具体的な実装内容が固まっていないため、ワークツリーを作らずにリポジトリルートのメインブランチで作業することが多いです。そして壁打ちが終わり、いざ実装に着手しようと思ったとき、あなたはメインブランチにいます。

ここからワークツリーで開発を開始しようとする時に、今まで私はシームレスに移行できる方法を確立できておらず、次のような手順を踏んでいました。

  1. 調査・壁打ちの内容をGitHubのIssueにまとめる
  2. ワークツリーを手動で作成
  3. ワークツリーでコーディングエージェントを立ち上げ直す
  4. Issueを読んでもらい、着手してもらう

Phantom MCPを使えば、「ではワークツリーを作って実装しましょう」と指示をするだけでそのまま開発を続行できます。これまでのコンテキストを保持したまま、新しいワークツリーで開発を開始できるのです。

Phantom CLIでAIの作業状況をウォッチ

AIの作業状況を確認したい場合、もう一つターミナルを開いてPhantom CLIを実行すれば、AIが作業しているワークツリーの状態をすぐに確認できます。
例えば、Gitの差分を確認したい場合は phantom exec <worktree-name> git diff で差分を見ることができます。

より効率化したい人には、TUIでGitの状態を確認できるツールとして、lazygitをおすすめします。
phantom exec <worktree-name> lazygit と実行すれば、AIが作業しているワークツリーのGit状態をインタラクティブなUIで確認できます。

複数バージョンの作成依頼にも使える

あなたが実装手段として複数の選択肢を検討している場合、Phantom MCPを使えばAIに複数のワークツリーを作成してもらい、それぞれのワークツリーで異なる実装を試すことができます。

例えば新規採用するライブラリの選定をする場合、以下のように指示できます。

Next.jsとRemixのどちらを使うか検討したいので、2つのワークツリーを作成して、それぞれでシンプルなTodoアプリを実装してください。

バリデーションライブラリの選定をしたいので、ZodとValibotを使ってログインフォームにバリデーションを実装してください。それぞれのワークツリーで実装を行ってください。

一つの会話セッションで作業を並行して進めることができるため、AIがコンテキストを保持したままそれぞれの開発を進めてくれます。そのため両者のアウトプットには一貫性があり、比較がしやすくなります。

おわり

Phantom MCPを使って皆さんの開発効率がさらに向上することを願っています!
MCPサーバーの詳細な使い方は、以下のドキュメントをご覧ください。
https://github.com/aku11i/phantom/blob/main/docs/mcp.md

最後に、別にPhantomを使わなくても、プロンプトを工夫すればAIにワークツリーを作成させて並行実装を行ってもらうことは可能です。
しかし私はそういった属人的なプロセスを排除して、誰でも簡単にコーディングエージェントを活用できるようにしたいと考えています。Phantomのセットアップをするだけで誰でも最新のAIコーディングのトレンドに乗れる状態が理想です。
また、今後いろんな拡張プランを検討していますが、その際にPhantomのコア機能が役に立ってくると考えています。

Phantomの詳細については、GitHubリポジトリをご覧ください 💁‍♂️

https://github.com/aku11i/phantom

GitHubで編集を提案

Discussion