🚀

Claude Codeで開発効率を爆上げ!あなたのエンジニア力を100倍にする「超並列開発」術 🔥

に公開

はじめに

こんにちは!株式会社OCT-PATHでCTOをしている黛 政隆です。(Xはこちら: @masataka_net

皆さんは、Anthropic社が提供するAIコーディングアシスタント「Claude Code」を使っていますか?
長時間かかる複雑なタスクでも、最後まで粘り強くやり遂げてくれるClaudeの能力は本当に素晴らしいですよね。私も日々その恩恵にあずかっています。

そんなClaudeと開発を進めていると、ふとこう思うわけです。

「今作っているこの機能、あっちのバグ修正と、こっちのリファクタリングも、全部同時にClaudeにやってもらえないかな…?」

まるで優秀なアシスタントが3人いるかのように、複数のタスクを並列で実行したい。でも、同じリポジトリ(プロジェクトフォルダ)だと、ブランチを切り替える手間があって難しい…と諦めかけていました。

ところが、灯台下暗しとはこのこと。Claude Codeの公式チュートリアルを改めて読んでみたら…普通にやり方が書いてありました(笑)。いやー、公式ドキュメントはちゃんと読むべきですね、本当に。

https://docs.anthropic.com/ja/docs/claude-code/tutorials#gitワークツリーで並列claude-codeセッションを実行する

ということで今回は、この公式で推奨されている方法をベースに、同じリポジトリで複数のタスクを同時に実行するための、とっておきの方法を共有します!

最近は、CursorやClaude Codeを使って、非エンジニアの方でも「バイブスコーディング」を楽しんでいると聞きます。そこでこの記事では、黒い画面(ターミナル)でのコマンド操作が苦手な方でも大丈夫なように、GUI(画面ポチポチ)で完結する方法をご紹介しますので、どうぞご安心ください!

今回の主役「Git Worktree」とは?

今回の方法のキモとなるのが「Git Worktree」という機能です。

「なにそれ?」と思った方も多いかもしれません。簡単に言うと、「1つのリポジトリのブランチを、それぞれ別のフォルダとしてPC上に作成できる」 というGitの標準機能です。

通常、新しい機能開発をするときは git checkout -b feature/new-task のようにブランチを切り替えますが、あくまで同じフォルダ内で作業しますよね。
Git Worktreeを使うと、例えば main ブランチは my-project フォルダ、feature-a ブランチは my-project-feature-a フォルダ、といった具合に、ブランチごとに物理的にフォルダを分けて管理できるんです。

正直なところ、私もこの機能の存在は知っていましたが、「一体どんな時に使うんだろう…?」と、その真価を理解していませんでした。しかし、Claude CodeのようなAIアシスタントと共同で開発する現代において、このGit Worktreeが、まさに本領を発揮する時が来たと感じています。

実際の使い方(GUIで簡単!)

Git Worktreeは、標準では以下のようなコマンドで使います。

git worktree add ../my-project-feature -b feature-branch develop

この例だと、my-projectフォルダの一つ上の階層にmy-project-featureというフォルダを作り、そこにdevelopブランチをベースにfeature-branchというブランチの内容を展開します。

git worktree add  [①フォルダパス]  [②ブランチオプション]  [③ベースブランチ]
                      ↓                ↓                    ↓
                ../my-project-feature  -b feature-branch    develop

「うーん、やっぱりコマンドはちょっと…」と思ったあなた、ご安心ください!
VSCode(もちろんCursorやWindSurfでもOK!)に、以下の拡張機能をインストールすれば、すべてUI操作だけで完結します。

この拡張機能は非常にシンプルながらWorktreeの管理機能もバッチリ備わっています。

Git Worktree Manager画面のイメージ
(VSCodeのUIから簡単操作)

  • 現在のワークツリーの状態確認
  • 新しいワークツリーの作成
  • 不要になったワークツリーの削除
    などが、誰でも直感的にポチポチとクリックするだけで行えます。本当に便利なので、ぜひインストールしてみてください!

実際のディレクトリ構造は?

さて、この魔法のような機能が、実際にはどのように実現されているか気になりますよね。
答えはとてもシンプルで、以下のように物理的にフォルダが分かれているだけなんです。分かりやすい!

# 元のプロジェクト
/Users/username/my-project/
├── .git/
├── src/
├── package.json
└── README.md

# ワークツリー作成後
/Users/username/
├── my-project/                    # メインワークツリー (例: mainブランチ)
│   ├── .git/                     # 実際のGitリポジトリ本体はここにある
│   ├── src/
│   └── package.json
├── my-project-feature-a/          # 新しい物理フォルダ (feature-aブランチ)
│   ├── .git                      # ↑の.git/worktreesへのリンク情報が書かれたファイル
│   ├── src/                      # feature-aブランチのファイル
│   └── package.json              # feature-aブランチのファイル
└── my-project-bugfix/             # 別の物理フォルダ (bugfixブランチ)
    ├── .git                      # こちらも同様のファイル
    ├── src/                      # bugfixブランチのファイル
    └── package.json              # bugfixブランチのファイル

Gitリポジトリの本体(.gitフォルダ)は元の場所に一つだけあり、新しく作られたフォルダには、その本体を参照するための情報が書かれた.gitという名前の「ファイル」が置かれる仕組みです。シンプルながら、非常によくできていますよね。

各ブランチをVSCodeで開ける!最強の並列開発環境の完成

フォルダが物理的に分かれるということは…?
そうです!それぞれのフォルダを、別のVSCode(Cursor)ウィンドウで開くことができるんです!


(こんなイメージで、1タスク1ウィンドウで開発が進められます!)

これにより、

  • ウィンドウA: feature-aブランチのタスクをClaudeに任せる
  • ウィンドウB: bugfixブランチの修正をClaudeにやってもらう
  • ウィンドウC: refactorブランチで、自分自身がコード整理をする

といった、夢のような完全並列開発が可能になります。

Claude CodeもCursorも基本的には並列で動作してくれるので、まるで優秀なエンジニアが複数人、同時に自分のPCで作業してくれているかのような状態になります。
もちろん、APIのレートリミット(短時間での使いすぎ制限)やクレジット消費には気を配る必要がありますが、それを差し引いても、開発効率が劇的に向上することは間違いありません。

🤖 同時並列開発を成功させるための「6つ」のヒント

さて、ここからは実際に並列開発をスムーズに進めるための、いくつか具体的なヒントをお伝えします。

1. 環境構築はシンプルに

Worktreeで新しいフォルダを作っても、Node.jsのパッケージ(node_modules)などは共有されません。そのため、各フォルダで環境構築をやり直す必要があります。

cd ../my-project-feature-a
npm install

この手間を最小限にするためにも、普段から複雑な環境構築は避け、できるだけシンプルな構成を心がけるのがおすすめです。
理想は「npm installを実行して、.env.local(環境変数ファイル)をコピペすれば完了する」くらいの手軽さです。

また、ローカルのデータベースなどをどうするかという問題もありますが、例えばSupabaseをDockerで動かしているなら、ローカルに1つコンテナを立てておけば、各Worktreeから共通で利用できます。

2. 指示用のMarkdownファイルを用意する

Claudeにタスクを指示する際、毎回長い文章をチャットに打ち込むのは大変ですよね。
そこで、タスク指示用のMarkdownファイルを用意することを強くお勧めします。

まず、プロジェクトのルートに CLAUDE.md というファイルを置くと、Claudeはそこに書かれたルールを共通の指示として認識してくれます。こちらはメインのブランチに置いて共有しましょう。

さらに、それぞれのタスク(Worktree)ごとに、ISSUE.mdのような指示書ファイルを作成します。(これらはGitの管理対象外にしたいので、.gitignoreISSUE.mdなどを追加しておきましょう)

そしてClaudeには、こう指示するだけです。

ISSUE.md にある要件を理解して、完璧に実装してください。

このISSUE.mdに、実装してほしいこと、修正してほしいこと、守ってほしいルールなどを詳しく書いておけば、Claudeはそれを忠実に実行してくれます。

3. ポートを分ければ同時デバッグも可能

Next.jsやReactなどでWebアプリを開発している場合、開発サーバーを起動する必要がありますよね。これも、ポート番号を分けることで同時に複数起動できます。

ウィンドウA(feature-a)のターミナル:

npm run dev -- --port 3000

ウィンドウB(bugfix)のターミナル:

npm run dev -- --port 3001

ウィンドウC(refactor)のターミナル:

npm run dev -- --port 3002

これで、http://localhost:3000, http://localhost:3001, http://localhost:3002 で、それぞれのブランチの動作確認が同時に行えます。もちろん、自分の頭が混乱しないように注意は必要ですが(笑)。

4. 開発環境の混乱を避ける「Peacock」

VSCode(Cursor)のウィンドウを3つも4つも開いていると、「あれ、このウィンドウはどのタスクだっけ?」と混乱しがちです。
そんな悩みを一発で解決してくれる、最高の拡張機能があります。

この拡張機能をインストールすると、コマンドパレット(Cmd+Shift+P)から「Peacock: Change to a Favorite Color」などを選ぶだけで、VSCodeのウィンドウ枠に色を付けてくれるんです。

色が変わったVSCodeウィンドウの画像
(赤色に設定したイメージ)

  • 機能追加(赤色)
  • バグ修正(青色)
  • リファクタリング(緑色)

のように、タスクの種類ごとに色分けしておけば、ウィンドウを一目見ただけで、どのタスクの作業をしているかが直感的に分かります。とてもシンプルですが、効果は絶大です!

5. 完了通知を確実に受け取る

Claudeに長時間のタスクを任せていると、いつ終わったのか分かりにくいことがありますよね。
公式ドキュメントにはOSの通知機能を使う方法が書かれていますが、私の環境(Mac + Cursor)ではうまく動作しないことがありました。

そこで、もっと確実な方法として、CLAUDE.md(共通指示書)に以下のルールを追記することをお勧めします。

【重要】
すべてのタスクが完了したら、**必ず最後に**以下のコマンドをターミナルで実行してください。

```bash
echo -e "\a"
```

このコマンドは、ターミナルの「ベル音」を鳴らすというシンプルなものです。これをClaudeに毎回実行させることで、タスク完了を音で知らせてくれます。原始的ですが、非常に効果的です!

6. コンフリクトのリスクをどう下げるか

並列開発を行う上で、避けては通れない最大の課題がコンフリクトです。

コンフリクトを完全にゼロにすることは難しいですが、リスクを最小限に抑えるためのヒントはあります。

  • タスクを小さく分割する: 機能Aと機能Bが同じファイルを変更しそうなら、そもそもそれらを同時に開発しない、という判断も重要です。AIに任せるタスクは、可能な限り変更範囲が限定されるように、小さく具体的に分割しましょう。
  • こまめに main を取り込む: 1つのタスクが完了して main ブランチにマージされたら、他の作業中ブランチに、すぐにその変更内容を取り込み(rebase または merge)ましょう。変更が小さいうちにコンフリクトを解消しておけば、AIも「コンフリクトを解決して」という指示でうまく対応してくれる可能性が高まります。

「小さなタスク → 開発 → こまめなリベース → 即マージ」

この高速なサイクルを回すことで、各ブランチが main ブランチから大きく乖離(かいり)するのを防ぎ、結果的に大きなコンフリクトを避けることができます。

おわりに

今回は、Git WorktreeとClaude Codeを組み合わせた、超効率的な並列開発術をご紹介しました。

この方法を使えば、まるで優秀なエンジニアチームと一緒に開発しているかのような、これまでにない開発体験が待っています。面倒な作業や時間のかかる実装はどんどんClaudeに任せて、私たちはより創造的で、本質的な課題解決に集中できるようになります。

もちろん、最初は少し戸惑うこともあるかもしれませんが、この記事で紹介したヒントを参考に、ぜひ一度試してみてください。あなたの開発スタイルが、そして「エンジニアリング」という仕事の概念そのものが、大きく変わるきっかけになるかもしれません。

皆さんの開発が、もっと楽しく、もっとパワフルになることを願っています。

Happy Hacking!!🐙


最後に、少しだけ宣伝をさせてください 🙏

AI・Web3 開発サービス

弊社OCT-PATHは、最先端のAI技術を活用し、高品質かつ短納期での開発サービスを提供しております。特にAI・Web3領域において豊富な実績と専門性を有しており、お客様のデジタルトランスフォーメーションを強力にサポートいたします。

サービスにご関心をお持ちの企業様は、ぜひ弊社ホームページよりお気軽にお問い合わせください。

NeoTechPark コミュニティ連携

弊社が運営するエンジニアコミュニティ「NeoTechPark」には、優秀なインドネシアの若手エンジニアが多数参加しており、活発な技術交流が行われております。

現在、企業様との共同ハッカソン開催による人材発掘・技術交流の取り組みを積極的に推進しております。特に昨今注目を集めているAIエージェントの構築をはじめ、最新のAI技術を活用したソリューション開発に焦点を当てたイベントの企画・運営が可能です。

グローバル人材との協業や次世代AI技術の実用化にご興味のある企業様は、ぜひお声がけいただければ幸いです。


お問い合わせ・ご相談は弊社ホームページよりお待ちしております。

Discussion