
AIと共に開発するためのマルチルートワークスペースでのモノリシック構成
こんにちは、リテールアプリ共創部の戸田駿太です。
今回はマルチルートワークスペースを戦略的に組み合わせる「モノリシック構成」について、実践的な方法をお伝えします。
エディターをワークスペース構成をAIフレンドリーに設計することで、AIの効率を大幅に向上させることができます。
いろいろな構成があるかと思いますが、一つの例として楽しんでいただけると嬉しいです。
前提
VSCodeもしくはCursorを利用することを前提としています。
筆者はCursorを利用することが多いのでCursorの設定を多く説明していますが、GitHub CopilotやClaude Codeなどでも利用できる部分があるかと思います。
従来の課題と解決方法の比較
従来のやり方を「リポジトリごとにVSCodeやCursorのウィンドウを開いてAIを動かして作業する」とした場合に以下のような違いがあります。
🔴 コンテキスト
ドキュメント・コードが散在し、AIが全体像を把握しづらい
→ ✅ ドキュメントとコードをマルチルートワークスペースで一元管理、AIが必要な情報を自動探索
🔴 ルール・命令
リポジトリごとに同じ指示を作成して繰り返す
→ ✅ ルール・コマンドを共通化、毎回のプロンプト入力を大幅削減
🔴 複数タスク・リポジトリの管理
タスクやリポジトリで個別管理、切り替え時に文脈喪失
→ ✅ 同一ワークスペースで複数リポジトリ・タスクを効率的に管理
解説
マルチルートワークスペースとは
VSCodeにはMulti-root Workspaceという機能があり、複数のプロジェクトフォルダを同時に扱うことができます。

従来のワークスペース構成の課題と解決方法
元々私はリポジトリごとに個別のエディタのウィンドウを開いて作業していました。この場合以下のような課題があります。
コンテキストの分散
ドキュメントとコードが別々のフォルダにあり、それぞれAIを動かしている状態。
AIは各実行フォルダ内のドキュメントとコードを見て、必要な情報を取得して作業をしていますが、他のフォルダの情報は見えていません。
人間が補う必要があります。
解決方法
AIが観測できる範囲の拡大をする。
今まで人間が観測できた範囲をAIと一緒にすることで、各フォルダ間の会話が途切れることなくスムーズに続けられます。
ルールやコマンドの重複
各リポジトリで同じルールを繰り返し設定する必要がある。
例えば「GitHubのリンクを添付された場合はghコマンドを利用する」というルールを使用している場合、全てのリポジトリで同じルールを設定をするのは少し手間です。
解決方法
ルールやコマンドを共通化する。一つの設定を他のリポジトリでも利用できるようにすることで毎回のプロンプトで同じ指示を繰り返す必要がなくなります。
情報の一元管理ができない
案件に関連するメモやタスクが散らばっている。
リポジトリごとにメモやタスクを管理していると、リポジトリ間で関係があるタスクの場合はメモやタスクを共有することが難しいです。
無理やりコピペでAIに共有することで解決していましたが、スマートではありません。
解決方法
メモやタスクを共通の保存場所で一元管理する。
案件専用のフォルダを作成してタスクごとにメモなどを保存することで、リポジトリに依存することなく管理することができます。AIに情報を渡す際にはリポジトリ関係なく同じファイルを参照しやすくなります。
マルチルートワークスペースを利用したモノリシック構成のアプローチ
上記のような課題を解決するために利用するのがマルチルートワークスペースを利用したモノリシックな構成です。
以下が私の現在の構成です。
ディレクトリ構成
/
├─ workspace1/(案件・ドキュメント・ルール用)
│ ├─ .cursor/(.claudeなどもOK)
│ │ ├─ commands/
│ │ └─ rules/
│ ├─ backlog/(ドキュメント)
│ │ ├─ issues
│ │ ├─ wiki
│ │ └─ documents
│ └─ tasks/(各タスク保存用フォルダ)
│ └─ task1/
│ ├─ メモ類
│ └─ タスクに必要なファイル
└─ workspace2(リポジトリ用)
├─ 案件リポジトリ1/
├─ 案件リポジトリ2/
└─ 案件リポジトリ3/
各ワークスペースの役割
Workspace1 - 情報・ドキュメント管理
- 案件のメモ、バックログ、技術調査が集約される
- AIが参照すべき全ての背景情報が格納される
Workspace2 - コード管理
- 複数の案件リポジトリをまとめるフォルダ
- 実装コード、テスト、設定ファイルが集約される
- AIが実装する際の全ての対象コードが可視化される
マルチルートワークスペースの設定方法
マルチルートワークスペースを作成するには、.code-workspaceファイルを作成します。
このファイルはJSON形式で、複数のフォルダを一つのワークスペースとして定義できます。
以下は実際の設定例です。
{
"folders": [
{
"name": "案件管理",
"path": "/path/to/workspace1"
},
{
"name": "リポジトリ群",
"path": "/path/to/workspace2"
}
],
"settings": {
"[markdown]": {
"editor.defaultFormatter": "your-formatter"
}
}
}
このアプローチのメリット
AIが管理できる範囲が広くなる
マルチルートワークスペースを利用したモノリシック構成では、AIエージェントが参照可能な情報の範囲が大きくなります。
自律的なコンテキスト取得
AIが必要な情報を自動的に探索して、より適切な実装判断ができます。
例えばOpenAPIのリポジトリを参照してAPIの実装を行う場合には、AI自身がOpenAPIのリポジトリを参照してAPIの実装を行うことができます。
関連情報の自動取得
タスク情報をまとめる際にはドキュメントの情報から関連する情報を取得することができます。
実際の実装を確認しつつBacklogの情報(自作のツールbacklog-exporter)やGitHubのIssueの情報を取得(ghコマンドやMCPを利用)してタスク情報をまとめたりします。
ルールやコマンドを共通化できる
Cursorのルールとコマンドを活用することで、プロンプト入力の手間を大幅に削減できます。
この構成にすると一つのワークスペースに記述しておくだけでいつでも参照できるようになります。
これにより各リポジトリの作業時に毎回のプロンプトで同じ指示を繰り返す必要がなくなります。

デメリット
認知負荷の増加
マルチルートワークスペースを利用したモノリシック構成にすることで管理する対象が増えます。
- ファイル構造が複雑になる
- どの情報をAIに渡したらいいのかなどがわかりにくくなる
- 複数プロジェクトの設定を同時に考える必要がある
- AIがどこを編集したのかがわかりにくくなる
AIのコンテキスト量を超えてしまう
AIが認識できる範囲を広げたことにより、ワークスペースが持つコンテキスト量が増えます。
自律的にコードやドキュメントを探索しているとコンテキスト量を超えてしまうことが度々ありました。
AIにヒントとなる情報を渡してあげることで緩和できます。
いつもの使い方
この構成を利用し全てのフェーズでAIと会話しながら開発を行っています。
この使い方ができるのはモノリシック構成を取っているからだと思います。
[補足] 他のツールで利用する方法
Cursorでは開いているワークスペースを認識してくれます。
同じようにClaude Codeでも使いたい場合は絶対パスを指定することで利用できます。
コマンドを使いたい場合はコマンドを保存したフォルダでClaude Codeを起動すると実行できます。

MacならShift + Optionを押しながらファイルをドラッグ&ドロップするとファイルの絶対パスを貼り付けることができます。

最後に
今回紹介した構成を利用してAIと一緒に開発ができる環境を整えられたらと思います。
みなさんの環境に合わせてカスタマイズしてみてください。








