🪄

Claude Code × Git worktreeによる並列開発を効率化するCLIツール "Maestro" を開発しました。

に公開

はじめに

CC(Claude Code)を使い始めてすぐ、僕はいくつかの壁にぶつかりました。

🔸 CCを活用したAI駆動開発に慣れたい
🔸 CLIに慣れたい
🔸 GitHubに慣れたい
🔸 Git worktreeってなに

「せっかくだから、これらを学ぶために何か作ってみよう」
そう思い立って開発したツールが "Maestro" です。

Maestroは、
Claude Code × Git worktreeによる並列開発の効率化を目的に開発したCLIツール です。

"Maestro"

https://github.com/camoneart/maestro/releases

🔸 コンセプト

Git worktreeを "オーケストラ" のように指揮し、Claude Codeとの並列開発を加速させるCLIツール

Maestroは "指揮者" として機能し、各worktreeを "オーケストラ演奏者" のように操り、Claude Code × Git worktreeによる並列開発の効率化を実現します。

🔸 ロゴ

🔸 デモ映像


ワンライナーで「ブランチ作成、worktree作成、tmuxセッション作成+自動アタッチ+ペイン分割」

インストール

🔸 Homebrew

brew install camoneart/tap/maestro

🔸 npm / pnpm

# npm
npm install -g @camoneart/maestro

# pnpm
pnpm add -g @camoneart/maestro

主要機能

🔸 Git worktree管理

Maestroでは、Git worktreeを 「オーケストラメンバー」 として管理します。

# 新しいブランチ、worktreeを作成
mst create demo02

# worktree一覧を表示
mst list

# worktreeを削除
mst delete demo02

🔸 GitHub連携

GitHubのIssueやPRと連携して、スムーズな開発フローを実現します。

# Issue番号から自動でブランチとworktreeを作成
mst github issue 181

# IDEで開く
mst github issue 182 -o

🔸 tmuxとの統合

開発環境を即座に構築できる 「tmux連携機能」 が特徴です。

# tmuxセッション作成+自動アタッチ
mst create demo03 --tmux

# 垂直分割
mst create demo04 --tmux-v

# 水平分割
mst create demo05 --tmux-h

# 複数ペインで開く(6分割、タイルレイアウト)
mst create demo06 --tmux-h-panes 6 --tmux-layout tiled

使用例

🔸 1. Issue着手

# Issue番号からブランチとworktreeを作成し、tmuxで開発環境を構築
mst github issue 181 --tmux-h

🔸 2. worktreeの整理

# ブランチ+worktree+セッションの削除
mst delete issue-181

Maestroの強み

🔸 複数手順をワンライナーで実現

  • 通常のGit worktree準備例

    # 1) リモートを最新化(削除分も反映)
    git fetch --prune origin
      
    # 2) origin/main を起点に、新ブランチ feature/new の worktree を作成
    git worktree add ../feature-new -b feature/new origin/main
      
    # 3) 作業ツリーへ移動して依存を入れる
    cd ../feature-new
    pnpm install
      
    # 4) 必要なら .env を複製(プロジェクトに合わせてパス調整)
    # cp ../<repo-root>/.env .   # 例
      
    # 5) tmux を起動→分割→整列→アタッチ
    tmux new-session -d -s feature-new
    tmux split-window -h
    tmux split-window -v
    tmux select-layout tiled
    tmux attach -t feature-new
    
  • Maestroなら上記の準備例をワンライナーで可能

    # ブランチ+worktree作成、依存関係インストール、設定コピー、tmux起動を自動実行
    mst create feature/new --tmux-h-panes 4
    

🔸 GitHub連携で開発フローを最適化

  • Issue/PR番号から自動でブランチとworktreeを作成

    mst github issue 123
    mst github pr 124
    
  • Issueタイトルからブランチ名を生成

    .maestro.json
    {
      "github": {
        "branchNaming": {
          "issueTemplate": "issue-{number}-{title}",
          "prTemplate": "pr-{number}-{title}"
        }
      }
    }
    

    例:issue-123-fix-login-bug
    例:pr-124-add-dark-mode-feature


  • PR作成の自動化

    mst push --pr
    

🔸 CCによるAI駆動開発のための設計

  • CLAUDE.mdファイルの自動管理
    • 共有モード/分割モードを選択可能
  • コンテキスト維持
    • 各worktreeで独立した開発環境を保持

Maestroの開発で得た学びと発見

正直な所、CCを活用したAI駆動開発をする上で、MaestroみたいなCLIツールって立ち位置的には
「オプションとしてのツール」 であって必須ではないと思います。

ですが、Maestroを開発したことで僕自身とてもいい学習体験を得ることが出来ました。

🔸 Claude Codeを活用したAI駆動開発の体験
🔸 GitHubへの苦手意識の改善
🔸 Git worktreeを活用した並列開発を学べた
🔸 CLIに慣れた
🔸 tmuxのセッション分割を知れた
etc...

このように実際にツールを開発しながら並行して色々学べたので、良い体験が出来ました。

Cursor(AIコードエディタ)Claude Codeなどのエージェント型コーディングツール の登場により、自分で1からコードを書くということはほぼ無くなりましたが、

やっぱり何かを学んだり理解する上では自分で手を動かすことって大切だな。

と、Maestroの開発を通して改めて実感しました。

さいごに

ここまで読んでくださり、ありがとうございます 😀
Maestroは、OSSとして公開してます! 気になったら、ぜひ触ってみてください 🎁✨
https://github.com/camoneart/maestro/releases

Discussion