Amazon Web Services ブログ

Kiro のマルチルートワークスペース:1 つのプロジェクト内だけでなく、複数のプロジェクトにまたがって作業する

マルチルートワークスペースとは?

通常、Kiro ワークスペースは単一のプロジェクトフォルダに紐づいています。

📁 my-app/
├── .kiro/ ← すべての仕様、ステアリング、フックがここに存在
├── src/
└── tests/

しかし、my-app と、それが依存する共有ライブラリを同時に作業している場合はどうでしょうか?複数のマイクロサービスを管理している場合は?多数のパッケージを持つモノレポの場合は?そこでマルチルートワークスペースの出番で、今日から試すことができます!

マルチルートサポートにより、複数のフォルダを単一の Kiro IDE ウィンドウに取り込むことができます。この方法で、それぞれが独立性を保ちながら、すべてが連携して動作します。

📁 my-app/ ← ルート 1
├── .kiro/
└── src/
📁 shared-ui/ ← ルート 2
├── .kiro/
└── components/
📁 auth-service/ ← ルート 3
├── .kiro/
└── api/

この方法により、マージやシンボリックリンクを心配する必要がなく、クリーンな複数プロジェクトへの同時アクセスが得られます。

なぜこれを使うのでしょうか?

マルチルートは以下の場合に適しています:

  • 共有ライブラリへの変更が必要なアプリの機能を編集している場合
  • 複数の関連サービスを保守している場合(例:フロントエンド + バックエンド + 認証)
  • git サブモジュールやワークスペース(npm/yarn/pnpm ワークスペースなど)を使用している場合
  • 複数のプロジェクトにまたがって検索、ナビゲーション、リファクタリングを行いたい場合

チームメイトに回避策を DM で尋ねたり、複数のリポジトリなどを Kiro IDE で同時に開く方法を考えたりする代わりに、プロジェクトの全コンテキストを 1 つのワークスペースで同期させることができます。これにより、Kiro で複数のルートにまたがるタスクの作業が容易になります。

どのように設定するのでしょうか?

2 つのオプションがあり、どちらも簡単です。

  1. File → Add Folder to Workspace… → フォルダを選択
  2. フォルダを Kiro にドラッグアンドドロップ

Kiro は各フォルダをルートとして認識し、各ルートから .kiro 設定ファイルの読み込みを開始します。

Kiro が複数のルートを処理する方法

各ルートは独自の識別子を保持しますが、Kiro がすべてをまとめてくれます。

仕様:1 つのリスト、複数のソース

すべてのステアリングファイルは、Agent Steering パネルの「Workspace」の下の 1 つのリストに表示され、それぞれがどのルートから来ているかを示します。新しいステアリングファイルを作成する際、Kiro は 3 つのオプションを提供します。

  • my-app エージェントステアリング – その特定のワークスペース内でのみ適用
  • グローバルエージェントステアリング – すべてのワークスペースにまたがって適用
  • ファンデーションステアリングファイル – コアワークスペースコンテキストを確立するためのファンデーションファイルを自動作成

「Always Included」ディレクティブを持つステアリングファイルは、エージェントが作業している特定のルートフォルダに関係なく、常に読み込まれます。しかし、「Conditional Inclusion」ディレクティブを持つものは、エージェントが同じルートで定義されたファイルで作業している場合にのみ読み込まれます。

マルチルートワークスペースでは、ステアリングを整理するために通常は最初のオプションを選択します。

エージェントフック:ホームにスコープ

フックは一緒にリストされますが、それぞれがルートに紐づいています。そのため、shared-ui/.kiro/hooks/ で共有されるフックは、shared-ui 内のファイルが変更された場合にのみトリガーされ、すべてが適切に分離されます。

MCP:統合されていますが、ルールあり

各ルートからのすべての MCP サーバー定義は起動時に読み込まれます。2 つの異なるルートが同じ名前の MCP を持つ場合、ワークスペースフォルダで最後に表示されるルートのものが「勝ち」ます。そのため、競合を避けるために MCP 名に戦略的かつ慎重になる必要があります。単に github ではなく、frontend-githubbackend-github のようなプレフィックスを使用してください。その後、MCP 設定を開くと、Kiro はどのルートの設定を見たいかを選択するよう促します。

コードベース検索とコンテキスト

#codebase はすべてのルートにまたがって検索し、Kiro はワークスペース内のすべてのルートフォルダからソースコード、ドキュメント、設定ファイルを自動的にインデックス化します。#file を使用して重複がある場合(例:2 つのルートに utils/logger.ts)、Kiro は完全パスのリストを表示するため、正しいものを選択できます。さらに制御したい場合は、#file:src/index.ts:10-25 のように行範囲を使用してコンテキストを絞り込むことができます。

実世界の例:クロスプロジェクトワークフロー

このシナリオを想像してみてください。

shared-uiButton コンポーネントを更新し、その後 my-app を更新して新しい variant プロパティを使用する。

Kiro のマルチルートワークスペースでは

  1. my-appshared-ui の両方を 1 つのワークスペースで開きます
  2. Kiro に尋ねます
#spec:ui-update Button に 'outline' バリアントを追加し、その後 my-app でそれを使用するよう更新
  1. Kiro は、コードの更新、フックの実行、仕様の作業が必要な場合に、1 つの会話で両方のルートにまたがって動作します。

これはすべて 1 つのフローで発生するため、ウィンドウを切り替えたり、別々の会話を作成したりする必要がありません。

試す準備はできていますか?

Kiro の最新バージョンに更新されていることを確認し、別のプロジェクトフォルダを Kiro ウィンドウにドラッグするだけで準備完了です!Kiro の新機能を見たい場合は、General Availability Launch BlogChangelog をチェックしてください。