Cursor CLI と Git Worktree
Worktree を使うと、同じリポジトリに対して複数のディレクトリ(それぞれ別ブランチ)を持てます。Cursor CLI は実行したディレクトリに対して動作します。両方を組み合わせると、複数ターミナルでそれぞれ別ブランチの worktree で cursor agent を並行実行できます — Cursor ウィンドウを複数開かず、キーボードだけでマルチタスク。
なぜ組み合わせるのか?
| やり方 | 方法 | 向いている人 |
|---|---|---|
| Worktree + Cursor ウィンドウ複数 | 1 worktree につき 1 ウィンドウ | ファイルツリーやプレビューが欲しい IDE ユーザー |
| Worktree + CLI | 複数ターミナル、それぞれ worktree に cd して cursor agent |
キーボード中心 or サーバー/SSH 環境 |
共通点:各 worktree は独立したディレクトリ → それぞれ独自のコンテキスト → 足を踏まない並行開発。複数クローンが別ブランチで同時に動いているようなものです。
基本:1 ターミナル 1 worktree
すでに worktree を作ってある前提で:
~/projects/
├── my-app/ ← main
├── my-app--feature-auth/ ← feature/auth
└── my-app--feature-payment/ ← feature/payment
ターミナル 1(auth 用):
cd ~/projects/my-app--feature-auth
cursor agent "Implement JWT login"ターミナル 2(payment 用):
cd ~/projects/my-app--feature-payment
cursor agent "Add Stripe checkout flow"CLI はデフォルトでカレントディレクトリをコンテキストにするので、両方のターミナルはそれぞれの worktree だけを変更します。「2 つの CLI Agent が並行動作」— Cursor ウィンドウを 2 つ開く必要がなく、リソース節約とコンテキスト切り替えの削減になります。
ディレクトリを変えずに:--path で worktree を指定
メインプロジェクトのディレクトリにいながら、特定の worktree で CLI に作業させたい場合:
cd ~/projects/my-app
cursor agent "Add unit tests for feature/auth" --path ../my-app--feature-auth--path で「どのディレクトリを見るか」を指定 — worktree のパスです。1 回に 1 worktree だけ扱うときや、スクリプトでパスが固定のときに便利です。
非対話 + Worktree(スクリプト・一括処理)
複数 worktree に同じ種類のタスクを順番に実行(例:全員に README 追加、全員で lint 修正):
# 例:両 worktree で "fix lint"
cursor agent "Fix all auto-fixable errors per .eslintrc" --path ../my-app--feature-auth --no-interactive
cursor agent "Fix all auto-fixable errors per .eslintrc" --path ../my-app--feature-payment --no-interactiveまたはループで(環境に合わせてパスを調整):
for dir in ../my-app--feature-auth ../my-app--feature-payment; do
cursor agent "Fix linter errors" --path "$dir" --no-interactive
done指示 1 つで複数ブランチを一括クリーン — PR 前の最終チェックに最適です。
「Worktree + 複数ウィンドウ」との関係
- 複数ウィンドウ: 各 Cursor ウィンドウが 1 worktree を開き、IDE の Agent・Chat・Tab 補完を使う
- CLI + Worktree: ターミナル +
cursor agent— 「1 ディレクトリ 1 コンテキスト」は同じで、ターミナルを増やして並列化するだけ
組み合わせも可能:メイン開発はウィンドウ、サーバーでは CLI で別ブランチの小さい修正、など。
まとめ
- Worktree = 複数ディレクトリ・複数ブランチ、CLI = カレント or
--pathで動作 → 相性が良い - 並行: 複数ターミナルを開き、それぞれ別 worktree に
cdしてcursor agent - 1 ターミナル:
--path <worktree-path>で対象 worktree を指定 - スクリプト・一括:
--path+--no-interactiveで複数 worktree に同じタスクを実行
次: 07-unlimit-loop-debug — テストが通るまで CLI にループで修正させる(コーヒーを飲んでいる間に)