ワークスペース内で Gemini in Firebase を構成する

Firebase Studio は、次の AI を活用したコード機能で開発ワークフローを容易にします。

  • 入力時のコード補完候補。

  • チャットまたはコマンドライン インターフェース(CLI)による AI アシスタンス。ワークスペース対応で、コードと完全に統合されています。コードの生成、変換、説明を行うことができます。確認と承認が完了すると、Gemini in Firebase はワークスペースを直接操作して、ファイルの更新、ターミナル コマンドの実行、コマンド出力の解釈、次のステップの決定を行うことができます。詳細については、Firebase StudioGemini とのチャットを試すをご覧ください。

  • 選択したコードの一部に対して実行できるインライン アクション。たとえば、選択したコードを読みやすくするよう Gemini に依頼できます。

  • インライン コード アシスタンス。

Gemini in Firebase の動作は、設定を調整することや、AI ルールファイルを追加することでカスタマイズできます。

Workspace で Gemini in Firebase を使用する

Firebase で Gemini を使用して、チャットパネルターミナルまたはインライン コードのアシスタンスを通じてコーディングの生産性を高めます。

  1. ワークスペースでチャットまたはインライン コード アシスタンスを使用します。

    • チャットを使用するには: 開いているワークスペースで、ワークスペースの下部にあるスパーク Gemini をクリックします。

    • Gemini CLI を使用するには: ターミナルを開いて Gemini CLI インターフェースに gemini を入力するか、非インタラクティブ モードGemini CLI を使用するコマンド gemini -p を使用します。

    • インライン コード支援を使用するには、コードの入力を開始し、Tab を押して提案を受け入れます。

  2. 次の 2 つのオプションはデフォルトで有効になっています。

    • 入力時の提案、これによってインライン コード補完が提供されます。
    • コードベースのインデックス作成、これによってカスタマイズが容易になり、より有用なレスポンスが提供されます。

    今後、ワークスペース設定のためにこれらの選択を変更するには:

    AI インデックス作成から特定のファイルやディレクトリを除外することもできます。.aiexclude ファイルを使用して Gemini からファイルを除外するをご覧ください。

Gemini in Firebase のショートカット

Gemini でチャットを速やかに開くには、Ctrl+Shift+Space(macOS では Cmd+Shift+Space)を押します。

コマンド パレットから Gemini コマンドを表示するには:

  1. Ctrl+Shift+P(MacOS の場合は Cmd+Shift+P)を押してコマンド パレットを開きます。

  2. Gemini を検索します。

    Gemini コマンドのリストが表示されます。

コード補完の設定を調整する

コードの記述を支援するために、Firebase Studio には AI コード補完が用意されています。この機能は、入力を開始するとすぐに、開いているファイル内のコードを予測して自動入力します。

コード補完はデフォルトでオンになっています

コード補完のオンとオフを切り替えるには、次のいずれかの方法でコード補完の設定を調整します。

  • settings.json ファイルを使用している場合は、"IDX.aI.enableInlineCompletion"true または false に設定します。

  • Firebase Studio ワークスペースで設定を更新するには:

    1. ワークスペースの左下にある 歯車アイコン [管理] をクリックし、[設定] を選択するか、Ctrl+, キー(Mac の場合は Cmd+,)を押します。

      注: Prototyper view, click Code switch icon Switch to Code to open Code view.App Prototyping agent を使用している場合

    2. [ワークスペース] タブを選択し、[Firebase Studio] > [AI] > [コード補完を有効にする] の設定を検索します。

    3. コード補完を無効にするには、[入力時のインライン コード補完を有効にする] オプションの選択を解除します。

コードベースのインデックス作成の設定を調整する

Gemini がコードのインデックスを作成するかどうかを制御できます。コードのインデックスを作成すると、チャットやインライン AI アシスタントを使用する際により有用な結果が得られます。

コードベースのインデックス作成はデフォルトでオンになっています

コードのインデックス作成のオンとオフを切り替えるには、次のいずれかの方法でコードベースのインデックス作成の設定を調整します。

  • settings.json ファイルを使用している場合は、"IDX.aI.enableCodebaseIndexing"true または false に設定します。

  • Firebase Studio ワークスペースで設定を更新するには:

    1. ワークスペースの左下にある 歯車アイコン [管理] をクリックし、[設定] を選択するか、Ctrl+, キー(Mac の場合は Cmd+,)を押します。

      注: Prototyper view, click Code switch icon Switch to Code to open Code view.App Prototyping agent を使用している場合

    2. [ワークスペース] タブを選択し、[Firebase Studio] > [AI] > [インライン補完を有効にする] の設定を検索します。

    3. [Firebase Studio] > [AI: Enable Codebase Indexing] を選択します。

    4. コードのインデクス作成を無効にするには、[AI: Enable Codebase Indexing] の選択を解除します。ワークスペースごとにコードのインデックス作成の設定を更新する必要があります。

AI ルールファイルを使用して Gemini の手順をカスタマイズする

コンテキストとシステム プロンプト情報を追加するには、AI ルールファイルを作成します。

  • Gemini CLI のみGEMINI.md を使用します。
  • Firebase チャットの Gemini は .idx/airules.md を優先しますが、.idx/airules.md が存在しない場合は GEMINI.md を使用します。

Gemini in Firebase は、ルールをシステム インストラクションとコンテキストとして使用し、ユースケースに合わせてレスポンスをカスタマイズします。

AI ルールファイルを使用して、カスタム プロンプト、ベスト プラクティス、プロジェクトに関する重要なコンテキストを Gemini と共有し、次のような目標を達成します。

  • Gemini のペルソナに影響を与え、その専門性を特化させます。
  • コーディング スタイル、規則、技術的な設定など、プロジェクト全体の標準を適用します。
  • プロジェクトに関する重要なコンテキストを提供することで、コードやチャットで明示的に共有する必要がある情報の量を減らします。

AI ルールファイルを作成してテストする

AI ルールファイルを作成してテストするには:

  1. Firebase Studio ワークスペースの ~/GEMINI.mdGemini CLI の場合)または .idx/airules.md(Gemini in Firebase チャットの場合)に新しいファイルを作成します。次のオプションのいずれかを使用できます。

    • エクスプローラCtrl+Shift+E)で、親ディレクトリを右クリックして [新しいファイル] を選択します。ファイルに名前を付けて、Enter キーを押します。
    • ターミナルから、任意のテキスト エディタを使用して GEMINI.md または .idx/airules.md を開きます。
  2. ファイルにコンテンツを追加します。Gemini が使用するペルソナ(「あなたは Next.js についてすべてを把握しているエキスパート デベロッパーであり、役立つアシスタントです」など)、コーディングと会話の標準に関する情報、およびプロジェクトに関するコンテキストを追加できます。AI ルールファイルの例については、次のをご覧ください。

  3. ファイルを保存し、Gemini CLI または Gemini in Firebase を開きます。

  4. AI ルールの使用を開始するには、次のいずれかを行います。

    • ページを更新してワークスペースを再ビルドします。再ビルドすると、Gemini は Chat 内のルールファイルを使用します。AI ルールファイルに加えた変更は、すぐに反映されます。
    • ワークスペースを再ビルドしたくない場合は、Geminiload GEMINI.md または load airules.md するように依頼できます。現在のセッション中にファイルに変更を加えた場合は、ルールファイルを再度読み込むために Gemini へ再度プロンプトを入力する必要がある場合があります。
  5. コードに関する質問をします。Gemini は、ルールファイルにコンテキストとして含まれている情報を使用して応答します。

次に、Next.js で開発されたカジュアル ゲームで使用できるルールファイルの基本的な例を示します。

# Persona

You are an expert developer proficient in both front- and back-end development
with a deep understanding of Node.js, Next.js, React, and Tailwind CSS. You
create clear, concise, documented, and readable TypeScript code.

You are very experienced with Google Cloud and Firebase services and how
you might integrate them effectively.

# Coding-specific guidelines

- Prefer TypeScript and its conventions.
- Ensure code is accessible (for example, alt tags in HTML).
- You are an excellent troubleshooter. When analyzing errors, consider them
  thoroughly and in context of the code they affect.
- Do not add boilerplate or placeholder code. If valid code requires more
  information from the user, ask for it before proceeding.
- After adding dependencies, run `npm i` to install them.
- Enforce browser compatibility. Do not use frameworks/code that are not
  supported by the following browsers: Chrome, Safari, Firefox.
- When creating user documentation (README files, user guides), adhere to the
  Google developer documentation style guide
  (https://developers.google.com/style).

# Overall guidelines

- Assume that the user is a junior developer.
- Always think through problems step-by-step.

# Project context

- This product is a web-based strategy game with a marine life theme.
- Intended audience: casual game players between the ages of 17 and 100.

.aiexclude ファイルを使用して Gemini からファイルを除外する

プロジェクトに .aiexclude ファイルを含めることで、コードベース内のどのファイルを Gemini で表示されないままにするかを制御できます。これにより、Gemini と共有するプロジェクト コンテキストをきめ細かく制御できます。

.gitignore ファイルと同様に、.aiexclude ファイルは、チャット エクスペリエンスやエディタで動作する AI 機能など、Gemini と共有すべきでないファイルを追跡します。.aiexclude ファイルは、そのファイルを含むディレクトリにあるまたはその下にあるファイルを操作します。

コードベース インデックスが有効になっている場合、.aiexclude に該当するファイルは Gemini によるインデックス化はされません。また、.aiexclude は、次の方法で、対象ファイルのインライン アシスタンスに影響を与えます。

  • チャット サポート: Gemini は、.aiexclude の対象となるファイルに関する質問に回答することや、提案することはできません。
  • コード補完: 対象のファイルを編集しているときに、コード補完候補は使用できません。
  • インライン アシスタンス: 新しいコードを生成できますが、対象のファイルを編集するときに既存のコードは変更できません。

Android Studio などの他の開発環境でも .aiexclude ファイルが使用されることがあります。

.aiexclude ファイルを作成する方法

.aiexclude ファイルは .gitignore ファイルと同じ構文に従いますが、次の点が異なります。

  • 空の .aiexclude ファイルは、そのディレクトリとすべてのサブディレクトリ内のすべてのファイルをブロックします。これは、**/* を含むファイルと同じです。
  • .aiexclude ファイルは、否定(パターンの前に ! を付ける)をサポートしていません。

ここでは .aiexclude ファイルの構成例を示します。

  • .aiexclude ファイルが含まれているディレクトリまたはその下にある apikeys.txt という名前のすべてのファイルをブロックします。

    apikeys.txt
    
  • .aiexclude ファイルが含まれているディレクトリまたはその下にある .key ファイル拡張子を持つすべてのファイルをブロックします。

    *.key
    
  • .aiexclude と同じディレクトリにある apikeys.txt ファイルのみをブロックしまが、サブディレクトリはブロックしません。

    /apikeys.txt
    
  • ディレクトリ my/sensitive/dir とすべてのサブディレクトリ内のすべてのファイルをブロックします。パスは、.aiexclude ファイルを含むディレクトリの相対パスにする必要があります。

    my/sensitive/dir/
    

お客様所有の鍵を使用する: チャットで他の Gemini モデルを使用する

Gemini in Firebase のチャット で使用する Gemini モデルを構成できます。組み込みモデル、チャット ウィンドウで構成されたモデル(Gemini 2.5 モデルを含む)、アクセス権を持つ任意の Gemini モデルから選択できます。

使用可能なすべてのモデルのリストについては、Gemini モデルをご覧ください。

キーを構成して別の Gemini モデルを選択するには:

  1. 開いているワークスペースで、ワークスペースの下部にあるスパークル アイコン Gemini(または [Gemini] タブ)をクリックします。

  2. Gemini in Firebase のチャット ウィンドウで、モデル名プルダウンをクリックし、[Gemini API キー] リンクをクリックします。[ユーザー設定] が表示されます。

  3. [IDX > AI: Gemini Api Key] フィールドに、Gemini API キーを入力します。

チャットで事前構成された Gemini モデルのいずれかを選択できるようになりました。

プルダウンにない Gemini モデルを構成するには:

  1. Gemini モデルのリストから、チャットで使用する Gemini モデルを確認します。たとえば、最新の安定版の Gemini 2.0 Flash‑Lite モデルを使用するには、gemini-2.0-flash-lite と入力します。

  2. Gemini in Firebase のチャット ウィンドウでモデル選択ツールをクリックし、[カスタムモデル ID] を選択します。[ユーザー設定] が開きます。

  3. 選択したモデル名を [IDX > AI: Gemini Model] フィールドにコピーします。

  4. チャット ウィンドウを閉じてから、ワークスペースの下部にあるスパークル アイコン Gemini をクリックしてチャット ウィンドウを再び開き、モデルリストを更新します。

Gemini CLI をカスタマイズする

  • 設定: .gemini/settings.json ファイルを作成して、テーマの変更、使用統計情報の収集の有効化または無効化、Gemini CLI がアクセスできるツールの調整、チェックポイント機能の構成などを行います。
  • 設定: 設定の調整方法については、Gemini CLI のドキュメントをご覧ください。
  • 環境変数: Gemini CLI は、.env ファイルから環境変数を自動的に読み込みます。ここに GEMINI_API_KEY(必須)を保存します。また、必要に応じて、使用する Gemini モデル、Google Cloud プロジェクト ID などを指定することもできます。
  • 手順: 指示に従うときに Gemini CLI が使用するコンテキストを調整するには、GEMINI.md ファイルを作成します。これにより、プロジェクト固有の指示、コーディング スタイルガイド、関連する背景情報を Gemini に提供できるため、ニーズに合わせてより正確な回答を得ることができます。このファイルを作成すると、.idx/airules.md ファイルも作成しない限り、Firebase の Gemini に同じ手順が提供されます(その場合、Gemini CLIGEMINI.md を使用し、Firebase の Gemini は airules.md を使用します)。

設定、環境変数、手順の調整方法については、Gemini CLI のドキュメントをご覧ください。

次のステップ