「Roo CODE」についての設定方法

「Roo CODE」のカスタムモード作成機能とその関連要素について、詳細に解説します。

**1. Modes (モード)**

Roo CODEの「モード」は、Rooの振る舞いや利用可能なツールを定義する、いわば「Rooのペルソナ」を設定する機能です。これにより、特定のタスクに特化したRooを作り出すことができます。

*   **「+」ボタンによる新規カスタムモード作成方法**

    VSCodeのRoo CODE拡張機能のインターフェースには、「+」ボタンがあります。これをクリックすると、新しいカスタムモードを作成するための設定画面が開きます。この画面では、後述する `Role Definition`、`API Configuration`、`Available Tools`、`Mode-specific Custom Instructions` などを設定できます。

*   **チャットでのRooへのカスタムモード作成依頼方法**

    チャットでRooに直接指示を出すことでも、カスタムモードを作成できます。例えば、「〇〇の機能を持つ△△モードを作成して」のように依頼します。この場合、Rooは指示に基づいて必要な設定を自動的に行い、新しいモードを作成します。ただし、詳細な設定は、後から手動で調整する必要がある場合があります。

**2. Code, Architect, Ask, Debug (組み込みモード)**

Roo CODEには、以下の4つの組み込みモードが用意されています。

*   **Code:** コードの作成・編集に特化したモードです。プログラミング言語やフレームワークに関する知識が豊富で、コーディングタスクを効率的に実行できます。
*   **Architect:** システム設計やアーキテクチャの検討に特化したモードです。技術的なリーダーとして、計画立案や問題解決をサポートします。
*   **Ask:** 質問応答に特化したモードです。技術的な質問に対して、詳細な解説や情報を提供します。
*   **Debug:** デバッグ作業に特化したモードです。問題の診断と解決を体系的に行うことができます。

これらのモードは、それぞれ異なる `Role Definition` と `Available Tools` を持っており、特定のタスクに最適化されています。

**3. Role Definition (役割定義)**

`Role Definition` は、Rooのペルソナを定義する最も重要な設定項目です。ここで設定した内容は、Rooの応答のスタイル、専門分野、タスク処理の方法に直接影響します。

*   **`Role Definition` の記述がRooの応答とタスク処理に与える影響**

    `Role Definition` に「あなたは経験豊富なPythonプログラマーです」と記述すれば、RooはPythonに関する質問に対してより詳細で専門的な回答をするようになります。また、「あなたは親切なアシスタントです」と記述すれば、より丁寧な言葉遣いで応答するようになります。

*   **例示されている `You are Roo, a knowledgeable technical assistant...` の定義内容の詳細な解釈**

    この定義は、Rooを「知識豊富な技術アシスタント」として位置づけています。これにより、Rooは技術的な質問に対して、正確で分かりやすい情報を提供するように振る舞います。

**4. API Configuration (API設定)**

*   **モードで使用するAPI設定の選択方法とその影響**
    (この項目は現在のコンテキストでは直接的には説明されていませんが、MCPサーバーとの連携に関連する可能性があります。MCPサーバーに関する情報があれば、より詳細な説明が可能です。)

**5. Available Tools (利用可能なツール)**

`Available Tools` は、各モードで利用できるツールを設定する項目です。

*   **`Read Files`, `Use Browser`, `Use MCP` の各ツールの機能と、組み込みモードで変更不可である理由**

    *   **`Read Files`:** ファイルの内容を読み取るツールです。
    *   **`Use Browser`:** ブラウザを操作するツールです。
    *   **`Use MCP`:** MCPサーバーと連携するツールです。

    これらのツールは、Rooの基本的な機能を構成するものであり、組み込みモードでは変更できません。これは、各モードの安定性と一貫性を保つためです。

*   **これらのツールがどのようにRooの機能を拡張するか**

    これらのツールにより、Rooはファイルシステムへのアクセス、Web情報の取得、外部システムとの連携など、さまざまなタスクを実行できます。

**6. Mode-specific Custom Instructions (モード固有のカスタム指示)**

`Mode-specific Custom Instructions` は、特定のモードに対して追加の指示を与える設定項目です。

*   **`Mode-specific Custom Instructions` の設定がモードの動作に与える影響**

    例えば、「Ask」モードで「常にMermaidダイアグラムを使って説明してください」という指示を設定すると、Rooは可能な限り図表を用いて回答を生成します。

*   **例示されている `Ask` モード用の指示 (`You can analyze code...`) の詳細な解釈と、Mermaidダイアグラムの利用指示**

    この指示は、「Ask」モードのRooに対して、コードの分析、概念の説明、外部リソースへのアクセスを許可し、Mermaidダイアグラムの使用を推奨しています。

*   **`.clinerules-ask` ファイルからのカスタム指示の読み込み方法とその利点**
    (この項目は現在のコンテキストでは直接的には説明されていません。`.clinerules-ask`ファイルに関する詳細情報があれば、より詳細な説明が可能です。)

**7. Preview System Prompt (システムプロンプトのプレビュー)**

*   **この機能の有効化/無効化がシステムプロンプトのトークン数に与える影響**

    この機能を有効にすると、システムプロンプト全体が表示されるため、トークン数が増加します。無効にすると、システムプロンプトの一部が隠されるため、トークン数を節約できます。

*   **無効化した場合のカスタムモード作成方法 (「+」ボタンとJSON編集)**

    無効化した場合でも、「+」ボタンから新しいカスタムモードを作成したり、JSONファイルを直接編集したりすることで、カスタムモードを作成できます。

**8. Advanced: Override System Prompt (システムプロンプトの上書き)**

*   **この機能の具体的な利用シナリオと注意点**

    この機能は、Rooの基本的な振る舞いを完全にカスタマイズしたい場合に利用します。ただし、システムプロンプト全体を上書きするため、Rooの動作が不安定になる可能性があります。注意して使用する必要があります。

**9. Custom Instructions for All Modes (全モード共通のカスタム指示)**

`Custom Instructions for All Modes` は、すべてのモードに共通の指示を与える設定項目です。

*   **`Custom Instructions for All Modes` の設定が全モードの基本動作に与える影響**

    ここで設定した指示は、すべてのモードの基本的な振る舞いに影響します。例えば、「常に敬語で話してください」という指示を設定すると、すべてのモードでRooは敬語を使うようになります。

*   **例示されている日本語応答指示 (`# システムコマンド - 日本語で応答すること。`) の詳細な解釈**

    この指示は、Rooに対して常に日本語で応答することを強制します。

*   **`.clinerules` ファイルからのカスタム指示の読み込み方法とその利点**
    (この項目は現在のコンテキストでは直接的には説明されていません。`.clinerules`ファイルに関する詳細情報があれば、より詳細な説明が可能です。)

**10. Support Prompts (サポートプロンプト)**

`Support Prompts` は、ユーザーの入力を支援するための機能です。

*   **`Enhance Prompt`, `Explain Code`, `Fix Issues`, `Improve Code`, `Add to Context`, `Add Terminal Content to Context`, `Fix Terminal Command`, `Explain Terminal Command` の各機能の詳細な説明と使用例**

    *   **`Enhance Prompt`:** ユーザーの入力をより詳細で明確なプロンプトに拡張します。
    *   **`Explain Code`:** コードの説明を生成します。
    *   **`Fix Issues`:** コードの問題点を修正します。
    *   **`Improve Code`:** コードを改善します。
    *   **`Add to Context`:** 選択したテキストをコンテキストに追加します。
    *   **`Add Terminal Content to Context`:** ターミナルの出力をコンテキストに追加します。
    *   **`Fix Terminal Command`:** ターミナルコマンドを修正します。
    *   **`Explain Terminal Command`:** ターミナルコマンドの説明を生成します。

*   **プロンプトエンハンスメント機能 (✨アイコン) の具体的な使い方と、Rooの応答がどのように改善されるか**

    VSCodeのインターフェースにある✨アイコンをクリックすると、`Enhance Prompt` 機能が有効になります。これにより、ユーザーの入力がより詳細で明確なプロンプトに変換され、Rooの応答の質が向上します。

*   **API Configurationで、プロンプトエンハンスメントで常に使用するAPI構成を選択する方法、または現在選択されているものを使用する方法**
     (この項目は現在のコンテキストでは直接的には説明されていませんが、MCPサーバーとの連携に関連する可能性があります。MCPサーバーに関する情報があれば、より詳細な説明が可能です。)

**11. 総合的な設定の最適化**

上記の各設定項目を組み合わせることで、特定のユースケースに最適なRoo CODEのカスタムモードを作成できます。

*   **上記の各設定項目を組み合わせて、特定のユースケースに最適なRoo CODEのカスタムモードを作成する方法と、その際の考慮事項**

    例えば、JavaScriptの初心者向けの教育用モードを作成する場合、以下のように設定します。

    *   **`Role Definition`:** 「あなたはJavaScriptの初心者向け教育アシスタントです。優しく丁寧に、分かりやすい言葉で説明してください。」
    *   **`Available Tools`:** `Read Files` (コードの読み取りを許可)
    *   **`Mode-specific Custom Instructions`:** 「常に例え話を使って説明してください。必要に応じてMermaidダイアグラムを使用してください。」

*   **複数の設定項目が相互にどのように影響し合うかの具体例**

    `Role Definition` で「あなたは厳しいプロのコードレビューアです」と設定し、`Mode-specific Custom Instructions` で「常に問題点を指摘してください」と設定すると、Rooは非常に厳格なコードレビューを行うようになります。