From 34e067da058e824a9a36c721074e3a9a3ca252ee Mon Sep 17 00:00:00 2001 From: AustinBenoit Date: Wed, 29 Jul 2026 15:59:35 -0400 Subject: [PATCH 1/9] docs: rebrand Vertex AI to Agent Platform Gemini API and update embedding model --- skills/firebase-ai-logic-basics/SKILL.md | 83 ++++++++----------- .../references/flutter_setup.md | 6 +- .../reference/search.md | 22 ++--- 3 files changed, 50 insertions(+), 61 deletions(-) diff --git a/skills/firebase-ai-logic-basics/SKILL.md b/skills/firebase-ai-logic-basics/SKILL.md index 1d192d3d..bdcbadd3 100644 --- a/skills/firebase-ai-logic-basics/SKILL.md +++ b/skills/firebase-ai-logic-basics/SKILL.md @@ -16,25 +16,25 @@ of Google's AI integration platform for mobile and web developers. It supports the two Gemini API providers: -- **Gemini Developer API**: It has a free tier ideal for prototyping, and - pay-as-you-go for production -- **Vertex AI Gemini API**: Ideal for scale with enterprise-grade production - readiness, requires Blaze plan +- **Gemini Developer API**: It has a free tier ideal for prototyping, and + pay-as-you-go for production +- **Agent Platform Gemini API** (formerly branded Vertex AI): Ideal for scale + with enterprise-grade production readiness, requires Blaze plan -Use the Gemini Developer API as a default, and only Vertex AI Gemini API if the -application requires it. +Use the Gemini Developer API as a default, and only Agent Platform Gemini API +(formerly branded Vertex AI) if the application requires it. ## Setup & Initialization ### Prerequisites -- Before starting, ensure you have **Node.js 16+** and npm installed. Install - them if they aren’t already available. -- Identify the platform the user is interested in building on prior to - starting: Android, iOS, Flutter or Web. -- If their platform is unsupported, Direct the user to Firebase Docs to learn - how to set up AI Logic for their application (share this link with the user - https://firebase.google.com/docs/ai-logic/get-started) +- Before starting, ensure you have **Node.js 16+** and npm installed. Install + them if they aren’t already available. +- Identify the platform the user is interested in building on prior to starting: + Android, iOS, Flutter or Web. +- If their platform is unsupported, Direct the user to Firebase Docs to learn + how to set up AI Logic for their application (share this link with the user + https://firebase.google.com/docs/ai-logic/get-started) ### Installation @@ -95,7 +95,7 @@ faster display of results. > [Firebase AI Logic Models documentation](https://firebase.google.com/docs/ai-logic/models.md.txt) > for the currently supported image generation (Nano Banana) model names. -- Requires an upgraded Blaze pay-as-you-go billing plan. +- Requires an upgraded Blaze pay-as-you-go billing plan. ### Search Grounding with the built in googleSearch tool @@ -138,27 +138,26 @@ Tokens** during development and testing to bypass standard attestation. ##### Local Development (Auto-Generated) -1. Configure your code's App Check provider to use the debug factory: - * **Web**: Set `self.FIREBASE_APPCHECK_DEBUG_TOKEN = true;` before - initializing App Check. - * **Android**: Install `DebugAppCheckProviderFactory.getInstance()`. - * **iOS**: Set provider factory to `AppCheckDebugProviderFactory()`. -2. Run your app in the emulator/localhost. -3. Look at your runtime debugger console / Logcat logs for the generated UUID: - * *Example:* `AppCheck debug token: - "123a4567-b89c-12d3-e456-789012345678"` -4. Register this token in the Firebase Console under **Security > App Check > - Apps > Manage debug tokens**. +1. Configure your code's App Check provider to use the debug factory: + - **Web**: Set `self.FIREBASE_APPCHECK_DEBUG_TOKEN = true;` before + initializing App Check. + - **Android**: Install `DebugAppCheckProviderFactory.getInstance()`. + - **iOS**: Set provider factory to `AppCheckDebugProviderFactory()`. +1. Run your app in the emulator/localhost. +1. Look at your runtime debugger console / Logcat logs for the generated UUID: + - *Example:* `AppCheck debug token: "123a4567-b89c-12d3-e456-789012345678"` +1. Register this token in the Firebase Console under **Security > App Check > + Apps > Manage debug tokens**. ##### CI/CD Pipelines (Pre-Provisioned) -1. Generate and register a new debug token in the Firebase Console under - **Security > App Check > Apps > Manage debug tokens**. -2. Add this token string as an encrypted secret in your CI system (e.g. - `APP_CHECK_DEBUG_TOKEN`). -3. Configure your build to pass this secret as an environment variable to the - SDK during test execution (e.g. `self.FIREBASE_APPCHECK_DEBUG_TOKEN = - process.env.APP_CHECK_DEBUG_TOKEN`). +1. Generate and register a new debug token in the Firebase Console under + **Security > App Check > Apps > Manage debug tokens**. +1. Add this token string as an encrypted secret in your CI system (e.g. + `APP_CHECK_DEBUG_TOKEN`). +1. Configure your build to pass this secret as an environment variable to the + SDK during test execution (e.g. + `self.FIREBASE_APPCHECK_DEBUG_TOKEN = process.env.APP_CHECK_DEBUG_TOKEN`). ### Remote Config @@ -175,21 +174,11 @@ without deploying new client code. See ## Initialization Code References -| Language, | Gemini API | Context URL | -: Framework, : provider : : -: Platform : : : -| :---------- | :--------- | :---------------------------------------------- | -| Web Modular | Gemini | firebase://docs/ai-logic/get-started | -: API : Developer : : -: : API : : -: : (Developer : : -: : API) : : -| iOS (Swift) | Gemini | [ios_setup.md](references/ios_setup.md) | -: : Developer : : -: : API : : -| Flutter | Gemini | [flutter_setup.md](references/flutter_setup.md) | -: (Dart) : Developer : : -: : API : : +| Language, Framework, Platform | Gemini API provider | Context URL | +| :---------------------------- | :------------------- | :---------------------------------------------- | +| Web Modular API | Gemini Developer API | firebase://docs/ai-logic/get-started | +| iOS (Swift) | Gemini Developer API | [ios_setup.md](references/ios_setup.md) | +| Flutter (Dart) | Gemini Developer API | [flutter_setup.md](references/flutter_setup.md) | > [!WARNING] **CRITICAL: Use current model names:** Always check the > [Firebase AI Logic Models documentation](https://firebase.google.com/docs/ai-logic/models.md.txt) diff --git a/skills/firebase-ai-logic-basics/references/flutter_setup.md b/skills/firebase-ai-logic-basics/references/flutter_setup.md index 59675140..ef1edb36 100644 --- a/skills/firebase-ai-logic-basics/references/flutter_setup.md +++ b/skills/firebase-ai-logic-basics/references/flutter_setup.md @@ -62,9 +62,9 @@ Use `FirebaseAI.googleAI` for the **Gemini Developer API**. > [!IMPORTANT] **Choose the Right API Provider:** Always use > `FirebaseAI.googleAI` (Gemini Developer API) as the default for prototyping -> and standard use. Avoid using the Vertex AI Gemini API unless your application -> specifically requires enterprise-grade scalability and is configured for the -> Blaze plan. +> and standard use. Avoid using the Agent Platform Gemini API (formerly branded +> Vertex AI) unless your application specifically requires enterprise-grade +> scalability and is configured for the Blaze plan. ### Text Generation diff --git a/skills/firebase-data-connect-basics/reference/search.md b/skills/firebase-data-connect-basics/reference/search.md index 582d895f..47751930 100644 --- a/skills/firebase-data-connect-basics/reference/search.md +++ b/skills/firebase-data-connect-basics/reference/search.md @@ -5,7 +5,7 @@ SQL Connect. SQL Connect supports three types of search: 1. **Vector Similarity Search (Semantic)**: Best for finding conceptually/semantically similar rows (e.g., recommendations, "more like - this"). Requires Vertex AI. + this"). Requires Gemini Enterprise Agent Platform. 1. **Full-Text Search (Lexical)**: Best for keyword and phrase search across single or multiple columns. Supports lexical stemming. 1. **String Pattern Filters (Exact/Regex)**: Best for simple prefix, exact @@ -21,7 +21,7 @@ task: | Feature / Capability | Vector Similarity Search | Full-Text Search | String Pattern Filters | | :------------------- | :-------------------------------------------------- | :--------------------------------------------- | :----------------------------------------------------- | | **Use Case** | Semantic search, recommendations, RAG pipelines. | Keyword search, parsing large text fields. | Exact matches, regular expressions, simple wildcards. | -| **Engine Support** | Vertex AI Embeddings + `pgvector` extension. | Native PostgreSQL full-text engine. | Native PostgreSQL indexing (`LIKE`, `ILIKE`). | +| **Engine Support** | Agent Platform Embeddings + `pgvector` extension. | Native PostgreSQL full-text engine. | Native PostgreSQL indexing (`LIKE`, `ILIKE`). | | **Matching Style** | Semantic/concept proximity. | Lexical stemming (tenses, root words). | Exact character sequence. | | **Column Support** | Single column per query. | Multiple columns combined. | Multiple columns via standard logical filters (`_or`). | | **Overhead** | High (API execution costs & vector column storage). | Medium (generates indices & tsvector columns). | Low (uses standard index / minimal storage). | @@ -39,15 +39,15 @@ semantic meaning of text. `@col(size: X)` directive — SQL Connect requires an explicit size for Vector fields to allocate storage. - **Match Model Specifications**: Ensure the column size matches the output - dimension of your chosen embedding model (e.g., **768** for Google Vertex AI's - `textembedding-gecko` models) to prevent runtime type mismatches. + dimension of your chosen embedding model (e.g., **768** for Google's + `text-embedding-005` model) to prevent runtime type mismatches. ```graphql type Movie @table { id: UUID! @default(expr: "uuidV4()") title: String! description: String - # Vector field for description embeddings (Vertex AI gecko size is 768) + # Vector field for description embeddings (text-embedding-005 size is 768) descriptionEmbedding: Vector! @col(size: 768) } ``` @@ -70,7 +70,7 @@ mutation CreateMovieWithEmbedding($title: String!, $description: String!) @auth( title: $title, description: $description, descriptionEmbedding_embed: { - model: "textembedding-gecko@003", + model: "text-embedding-005", text: $description } }) @@ -87,7 +87,7 @@ mutation UpdateMovieDescription($id: UUID!, $description: String!) @auth(level: data: { description: $description, descriptionEmbedding_embed: { - model: "textembedding-gecko@003", + model: "text-embedding-005", text: $description } } @@ -103,13 +103,13 @@ SQL Connect automatically generates a similarity query function for every #### A. Auto-Embedding Search Use `compare_embed` to automatically convert the search query string into an -embedding on the fly using Vertex AI. +embedding on the fly using Agent Platform. ```graphql # connector/queries.gql query SearchMoviesByDescription($query: String!) @auth(level: PUBLIC) { movies_descriptionEmbedding_similarity( - compare_embed: { model: "textembedding-gecko@003", text: $query }, + compare_embed: { model: "text-embedding-005", text: $query }, limit: 5 ) { id @@ -122,7 +122,7 @@ query SearchMoviesByDescription($query: String!) @auth(level: PUBLIC) { #### B. Custom Vector Search Use `compare` to pass raw pre-computed float arrays (cast as a `Vector!`) -directly to the search without calling Vertex AI. +directly to the search without calling Agent Platform. ```graphql # connector/queries.gql @@ -151,7 +151,7 @@ query SearchMoviesByCustomVector($vector: Vector!, $limit: Int!) @auth(level: PU # connector/queries.gql query SearchMoviesCosineSimilarity($query: String!) @auth(level: PUBLIC) { movies_descriptionEmbedding_similarity( - compare_embed: { model: "textembedding-gecko@003", text: $query }, + compare_embed: { model: "text-embedding-005", text: $query }, method: COSINE, within: 0.5, # Maximum distance threshold limit: 5 From 71edd04f45973894f4167f80088b9060f3385e46 Mon Sep 17 00:00:00 2001 From: AustinBenoit Date: Wed, 29 Jul 2026 16:01:04 -0400 Subject: [PATCH 2/9] style: format remaining 3 skill files to pass CI format check --- skills/firebase-app-hosting-basics/SKILL.md | 5 ++++- skills/firebase-basics/SKILL.md | 15 ++++++++++++--- skills/firebase-remote-config-basics/SKILL.md | 12 +++++++++--- 3 files changed, 25 insertions(+), 7 deletions(-) diff --git a/skills/firebase-app-hosting-basics/SKILL.md b/skills/firebase-app-hosting-basics/SKILL.md index 377f3b82..fd32652f 100644 --- a/skills/firebase-app-hosting-basics/SKILL.md +++ b/skills/firebase-app-hosting-basics/SKILL.md @@ -37,7 +37,7 @@ to upgrade their plan. This is the recommended flow for most users. 1. Configure `firebase.json` with an `apphosting` block. - + ```json { "apphosting": { @@ -53,12 +53,15 @@ This is the recommended flow for most users. } } ``` + 1. Create or edit `apphosting.yaml`- see [Configuration](references/configuration.md) for more information on how to do so. + 1. If the app needs safe access to sensitive keys, use `npx -y firebase-tools@latest apphosting:secrets` commands to set and grant access to secrets. + 1. Run `npx -y firebase-tools@latest deploy` when you are ready to deploy. ### Automated deployment via GitHub (CI/CD) diff --git a/skills/firebase-basics/SKILL.md b/skills/firebase-basics/SKILL.md index 6ea918c9..eee1cbce 100644 --- a/skills/firebase-basics/SKILL.md +++ b/skills/firebase-basics/SKILL.md @@ -1,7 +1,13 @@ --- name: firebase-basics description: >- - Provides foundational Firebase CLI setup, CLI installation, version checks (`firebase-tools@latest --version`), CLI login (including --no-localhost), project creation, project selection (`firebase use`), and app config file downloads (`google-services.json`, `GoogleService-Info.plist`). Use ONLY for CLI login, project creation/switching, or downloading app config files. Don't use for Firebase Hosting deploy, Firestore, Auth, App Hosting, Data Connect, Crashlytics, or Remote Config. + Provides foundational Firebase CLI setup, CLI installation, version checks + (`firebase-tools@latest --version`), CLI login (including --no-localhost), + project creation, project selection (`firebase use`), and app config file + downloads (`google-services.json`, `GoogleService-Info.plist`). Use ONLY for + CLI login, project creation/switching, or downloading app config files. Don't + use for Firebase Hosting deploy, Firestore, Auth, App Hosting, Data Connect, + Crashlytics, or Remote Config. --- # Prerequisites @@ -55,11 +61,13 @@ Complete these setup steps before proceeding: - **If using an existing Project ID:** 1. Check the current project by running `npx -y firebase-tools@latest use`. + 1. If the command outputs `Active Project: `, confirm with the user if this is the intended project. + 1. If not, or if no project is active, set the project provided by the user: - + ```bash npx -y firebase-tools@latest use ``` @@ -139,8 +147,9 @@ Adhere to these principles: - **Login Issues:** If the browser fails to open during the login step, use `npx -y firebase-tools@latest login --no-localhost` instead. + - **Genkit:** If using Genkit, install the skills: - + ```bash npx skills add genkit-ai/skills ``` diff --git a/skills/firebase-remote-config-basics/SKILL.md b/skills/firebase-remote-config-basics/SKILL.md index 6c416df5..835c1dc9 100644 --- a/skills/firebase-remote-config-basics/SKILL.md +++ b/skills/firebase-remote-config-basics/SKILL.md @@ -1,8 +1,14 @@ --- name: firebase-remote-config-basics description: >- - Manages Firebase Remote Config templates, feature flags, loading strategies, and SDKs (Android, iOS). Use when downloading/deploying remoteconfig JSON templates, managing version history/feature flags, setting in-app defaults, fetchAndActivate(), real-time listeners, or SDK setup. Don't use for Firebase Hosting, Auth, Firestore, Data Connect, Crashlytics, or App Hosting. -compatibility: This skill is best used with the Firebase CLI, but does not require it. Firebase CLI can be accessed through `npx -y firebase-tools@latest`. + Manages Firebase Remote Config templates, feature flags, loading strategies, + and SDKs (Android, iOS). Use when downloading/deploying remoteconfig JSON + templates, managing version history/feature flags, setting in-app defaults, + fetchAndActivate(), real-time listeners, or SDK setup. Don't use for Firebase + Hosting, Auth, Firestore, Data Connect, Crashlytics, or App Hosting. +compatibility: >- + This skill is best used with the Firebase CLI, but does not require it. + Firebase CLI can be accessed through `npx -y firebase-tools@latest`. --- # Remote Config @@ -103,7 +109,7 @@ history through the terminal: ``` - Deploy: Execute the partial deployment command - + ```bash npx -y firebase-tools@latest deploy --only remoteconfig ``` From 109a2590d1ee87a5debb96689d6c49d7c45b712a Mon Sep 17 00:00:00 2001 From: AustinBenoit Date: Wed, 29 Jul 2026 18:41:36 -0400 Subject: [PATCH 3/9] docs(ai-logic): remove SQL Connect changes to separate PR #160 --- .../reference/search.md | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/skills/firebase-data-connect-basics/reference/search.md b/skills/firebase-data-connect-basics/reference/search.md index 47751930..582d895f 100644 --- a/skills/firebase-data-connect-basics/reference/search.md +++ b/skills/firebase-data-connect-basics/reference/search.md @@ -5,7 +5,7 @@ SQL Connect. SQL Connect supports three types of search: 1. **Vector Similarity Search (Semantic)**: Best for finding conceptually/semantically similar rows (e.g., recommendations, "more like - this"). Requires Gemini Enterprise Agent Platform. + this"). Requires Vertex AI. 1. **Full-Text Search (Lexical)**: Best for keyword and phrase search across single or multiple columns. Supports lexical stemming. 1. **String Pattern Filters (Exact/Regex)**: Best for simple prefix, exact @@ -21,7 +21,7 @@ task: | Feature / Capability | Vector Similarity Search | Full-Text Search | String Pattern Filters | | :------------------- | :-------------------------------------------------- | :--------------------------------------------- | :----------------------------------------------------- | | **Use Case** | Semantic search, recommendations, RAG pipelines. | Keyword search, parsing large text fields. | Exact matches, regular expressions, simple wildcards. | -| **Engine Support** | Agent Platform Embeddings + `pgvector` extension. | Native PostgreSQL full-text engine. | Native PostgreSQL indexing (`LIKE`, `ILIKE`). | +| **Engine Support** | Vertex AI Embeddings + `pgvector` extension. | Native PostgreSQL full-text engine. | Native PostgreSQL indexing (`LIKE`, `ILIKE`). | | **Matching Style** | Semantic/concept proximity. | Lexical stemming (tenses, root words). | Exact character sequence. | | **Column Support** | Single column per query. | Multiple columns combined. | Multiple columns via standard logical filters (`_or`). | | **Overhead** | High (API execution costs & vector column storage). | Medium (generates indices & tsvector columns). | Low (uses standard index / minimal storage). | @@ -39,15 +39,15 @@ semantic meaning of text. `@col(size: X)` directive — SQL Connect requires an explicit size for Vector fields to allocate storage. - **Match Model Specifications**: Ensure the column size matches the output - dimension of your chosen embedding model (e.g., **768** for Google's - `text-embedding-005` model) to prevent runtime type mismatches. + dimension of your chosen embedding model (e.g., **768** for Google Vertex AI's + `textembedding-gecko` models) to prevent runtime type mismatches. ```graphql type Movie @table { id: UUID! @default(expr: "uuidV4()") title: String! description: String - # Vector field for description embeddings (text-embedding-005 size is 768) + # Vector field for description embeddings (Vertex AI gecko size is 768) descriptionEmbedding: Vector! @col(size: 768) } ``` @@ -70,7 +70,7 @@ mutation CreateMovieWithEmbedding($title: String!, $description: String!) @auth( title: $title, description: $description, descriptionEmbedding_embed: { - model: "text-embedding-005", + model: "textembedding-gecko@003", text: $description } }) @@ -87,7 +87,7 @@ mutation UpdateMovieDescription($id: UUID!, $description: String!) @auth(level: data: { description: $description, descriptionEmbedding_embed: { - model: "text-embedding-005", + model: "textembedding-gecko@003", text: $description } } @@ -103,13 +103,13 @@ SQL Connect automatically generates a similarity query function for every #### A. Auto-Embedding Search Use `compare_embed` to automatically convert the search query string into an -embedding on the fly using Agent Platform. +embedding on the fly using Vertex AI. ```graphql # connector/queries.gql query SearchMoviesByDescription($query: String!) @auth(level: PUBLIC) { movies_descriptionEmbedding_similarity( - compare_embed: { model: "text-embedding-005", text: $query }, + compare_embed: { model: "textembedding-gecko@003", text: $query }, limit: 5 ) { id @@ -122,7 +122,7 @@ query SearchMoviesByDescription($query: String!) @auth(level: PUBLIC) { #### B. Custom Vector Search Use `compare` to pass raw pre-computed float arrays (cast as a `Vector!`) -directly to the search without calling Agent Platform. +directly to the search without calling Vertex AI. ```graphql # connector/queries.gql @@ -151,7 +151,7 @@ query SearchMoviesByCustomVector($vector: Vector!, $limit: Int!) @auth(level: PU # connector/queries.gql query SearchMoviesCosineSimilarity($query: String!) @auth(level: PUBLIC) { movies_descriptionEmbedding_similarity( - compare_embed: { model: "text-embedding-005", text: $query }, + compare_embed: { model: "textembedding-gecko@003", text: $query }, method: COSINE, within: 0.5, # Maximum distance threshold limit: 5 From f6598e22fd75b9bdf0a032e1bc70d6d5d2d237df Mon Sep 17 00:00:00 2001 From: Austin Benoit Date: Wed, 29 Jul 2026 18:55:34 -0400 Subject: [PATCH 4/9] Update skills/firebase-ai-logic-basics/references/flutter_setup.md Co-authored-by: rachelsaunders <52258509+rachelsaunders@users.noreply.github.com> --- skills/firebase-ai-logic-basics/references/flutter_setup.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/skills/firebase-ai-logic-basics/references/flutter_setup.md b/skills/firebase-ai-logic-basics/references/flutter_setup.md index ef1edb36..2c087d6f 100644 --- a/skills/firebase-ai-logic-basics/references/flutter_setup.md +++ b/skills/firebase-ai-logic-basics/references/flutter_setup.md @@ -63,7 +63,7 @@ Use `FirebaseAI.googleAI` for the **Gemini Developer API**. > [!IMPORTANT] **Choose the Right API Provider:** Always use > `FirebaseAI.googleAI` (Gemini Developer API) as the default for prototyping > and standard use. Avoid using the Agent Platform Gemini API (formerly branded -> Vertex AI) unless your application specifically requires enterprise-grade +> Vertex AI) unless the app and business use case specifically requires enterprise-grade > scalability and is configured for the Blaze plan. ### Text Generation From 029a7d7ab54ab915b6c66704f816bc12d2fc2097 Mon Sep 17 00:00:00 2001 From: Austin Benoit Date: Wed, 29 Jul 2026 18:55:40 -0400 Subject: [PATCH 5/9] Update skills/firebase-ai-logic-basics/references/flutter_setup.md Co-authored-by: rachelsaunders <52258509+rachelsaunders@users.noreply.github.com> --- skills/firebase-ai-logic-basics/references/flutter_setup.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/skills/firebase-ai-logic-basics/references/flutter_setup.md b/skills/firebase-ai-logic-basics/references/flutter_setup.md index 2c087d6f..9d5849dd 100644 --- a/skills/firebase-ai-logic-basics/references/flutter_setup.md +++ b/skills/firebase-ai-logic-basics/references/flutter_setup.md @@ -64,7 +64,7 @@ Use `FirebaseAI.googleAI` for the **Gemini Developer API**. > `FirebaseAI.googleAI` (Gemini Developer API) as the default for prototyping > and standard use. Avoid using the Agent Platform Gemini API (formerly branded > Vertex AI) unless the app and business use case specifically requires enterprise-grade -> scalability and is configured for the Blaze plan. +> scalability or data residency requirements. Note that the Agent Platform Gemini API *requires* the Firebase project to be on the pay-as-you-go Blaze pricing plan. ### Text Generation From 9e2e1438d3ec7f3a79a2b6dd892902b65435601d Mon Sep 17 00:00:00 2001 From: AustinBenoit Date: Thu, 30 Jul 2026 09:46:11 -0400 Subject: [PATCH 6/9] style: fix line wrap in flutter_setup.md blockquote for mdformat --- skills/firebase-ai-logic-basics/references/flutter_setup.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/skills/firebase-ai-logic-basics/references/flutter_setup.md b/skills/firebase-ai-logic-basics/references/flutter_setup.md index 9d5849dd..4099cd78 100644 --- a/skills/firebase-ai-logic-basics/references/flutter_setup.md +++ b/skills/firebase-ai-logic-basics/references/flutter_setup.md @@ -63,8 +63,10 @@ Use `FirebaseAI.googleAI` for the **Gemini Developer API**. > [!IMPORTANT] **Choose the Right API Provider:** Always use > `FirebaseAI.googleAI` (Gemini Developer API) as the default for prototyping > and standard use. Avoid using the Agent Platform Gemini API (formerly branded -> Vertex AI) unless the app and business use case specifically requires enterprise-grade -> scalability or data residency requirements. Note that the Agent Platform Gemini API *requires* the Firebase project to be on the pay-as-you-go Blaze pricing plan. +> Vertex AI) unless the app and business use case specifically requires +> enterprise-grade scalability or data residency requirements. Note that the +> Agent Platform Gemini API *requires* the Firebase project to be on the +> pay-as-you-go Blaze pricing plan. ### Text Generation From 4a951bbabd341ff169d8dfba015fcd3d0f988b20 Mon Sep 17 00:00:00 2001 From: Austin Benoit Date: Thu, 30 Jul 2026 10:44:59 -0400 Subject: [PATCH 7/9] Update skills/firebase-ai-logic-basics/references/flutter_setup.md Co-authored-by: rachelsaunders <52258509+rachelsaunders@users.noreply.github.com> --- .../firebase-ai-logic-basics/references/flutter_setup.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/skills/firebase-ai-logic-basics/references/flutter_setup.md b/skills/firebase-ai-logic-basics/references/flutter_setup.md index 4099cd78..64dd5391 100644 --- a/skills/firebase-ai-logic-basics/references/flutter_setup.md +++ b/skills/firebase-ai-logic-basics/references/flutter_setup.md @@ -63,10 +63,11 @@ Use `FirebaseAI.googleAI` for the **Gemini Developer API**. > [!IMPORTANT] **Choose the Right API Provider:** Always use > `FirebaseAI.googleAI` (Gemini Developer API) as the default for prototyping > and standard use. Avoid using the Agent Platform Gemini API (formerly branded -> Vertex AI) unless the app and business use case specifically requires +> Vertex AI) unless the app and business use case specifically require > enterprise-grade scalability or data residency requirements. Note that the -> Agent Platform Gemini API *requires* the Firebase project to be on the -> pay-as-you-go Blaze pricing plan. +> Gemini Developer API *usually does not* require the Firebase project to be on +> the pay-as-you-go Blaze pricing plan; however, the Agent Platform Gemini API +> does require the Blaze plan. ### Text Generation From 07b337dae4568392e203fee49455f7717bd92537 Mon Sep 17 00:00:00 2001 From: AustinBenoit Date: Thu, 30 Jul 2026 10:48:42 -0400 Subject: [PATCH 8/9] style: revert formatting on files untouched by this PR --- skills/firebase-app-hosting-basics/SKILL.md | 5 +---- skills/firebase-basics/SKILL.md | 15 +++------------ skills/firebase-remote-config-basics/SKILL.md | 12 +++--------- 3 files changed, 7 insertions(+), 25 deletions(-) diff --git a/skills/firebase-app-hosting-basics/SKILL.md b/skills/firebase-app-hosting-basics/SKILL.md index fd32652f..377f3b82 100644 --- a/skills/firebase-app-hosting-basics/SKILL.md +++ b/skills/firebase-app-hosting-basics/SKILL.md @@ -37,7 +37,7 @@ to upgrade their plan. This is the recommended flow for most users. 1. Configure `firebase.json` with an `apphosting` block. - + ```json { "apphosting": { @@ -53,15 +53,12 @@ This is the recommended flow for most users. } } ``` - 1. Create or edit `apphosting.yaml`- see [Configuration](references/configuration.md) for more information on how to do so. - 1. If the app needs safe access to sensitive keys, use `npx -y firebase-tools@latest apphosting:secrets` commands to set and grant access to secrets. - 1. Run `npx -y firebase-tools@latest deploy` when you are ready to deploy. ### Automated deployment via GitHub (CI/CD) diff --git a/skills/firebase-basics/SKILL.md b/skills/firebase-basics/SKILL.md index eee1cbce..6ea918c9 100644 --- a/skills/firebase-basics/SKILL.md +++ b/skills/firebase-basics/SKILL.md @@ -1,13 +1,7 @@ --- name: firebase-basics description: >- - Provides foundational Firebase CLI setup, CLI installation, version checks - (`firebase-tools@latest --version`), CLI login (including --no-localhost), - project creation, project selection (`firebase use`), and app config file - downloads (`google-services.json`, `GoogleService-Info.plist`). Use ONLY for - CLI login, project creation/switching, or downloading app config files. Don't - use for Firebase Hosting deploy, Firestore, Auth, App Hosting, Data Connect, - Crashlytics, or Remote Config. + Provides foundational Firebase CLI setup, CLI installation, version checks (`firebase-tools@latest --version`), CLI login (including --no-localhost), project creation, project selection (`firebase use`), and app config file downloads (`google-services.json`, `GoogleService-Info.plist`). Use ONLY for CLI login, project creation/switching, or downloading app config files. Don't use for Firebase Hosting deploy, Firestore, Auth, App Hosting, Data Connect, Crashlytics, or Remote Config. --- # Prerequisites @@ -61,13 +55,11 @@ Complete these setup steps before proceeding: - **If using an existing Project ID:** 1. Check the current project by running `npx -y firebase-tools@latest use`. - 1. If the command outputs `Active Project: `, confirm with the user if this is the intended project. - 1. If not, or if no project is active, set the project provided by the user: - + ```bash npx -y firebase-tools@latest use ``` @@ -147,9 +139,8 @@ Adhere to these principles: - **Login Issues:** If the browser fails to open during the login step, use `npx -y firebase-tools@latest login --no-localhost` instead. - - **Genkit:** If using Genkit, install the skills: - + ```bash npx skills add genkit-ai/skills ``` diff --git a/skills/firebase-remote-config-basics/SKILL.md b/skills/firebase-remote-config-basics/SKILL.md index 835c1dc9..6c416df5 100644 --- a/skills/firebase-remote-config-basics/SKILL.md +++ b/skills/firebase-remote-config-basics/SKILL.md @@ -1,14 +1,8 @@ --- name: firebase-remote-config-basics description: >- - Manages Firebase Remote Config templates, feature flags, loading strategies, - and SDKs (Android, iOS). Use when downloading/deploying remoteconfig JSON - templates, managing version history/feature flags, setting in-app defaults, - fetchAndActivate(), real-time listeners, or SDK setup. Don't use for Firebase - Hosting, Auth, Firestore, Data Connect, Crashlytics, or App Hosting. -compatibility: >- - This skill is best used with the Firebase CLI, but does not require it. - Firebase CLI can be accessed through `npx -y firebase-tools@latest`. + Manages Firebase Remote Config templates, feature flags, loading strategies, and SDKs (Android, iOS). Use when downloading/deploying remoteconfig JSON templates, managing version history/feature flags, setting in-app defaults, fetchAndActivate(), real-time listeners, or SDK setup. Don't use for Firebase Hosting, Auth, Firestore, Data Connect, Crashlytics, or App Hosting. +compatibility: This skill is best used with the Firebase CLI, but does not require it. Firebase CLI can be accessed through `npx -y firebase-tools@latest`. --- # Remote Config @@ -109,7 +103,7 @@ history through the terminal: ``` - Deploy: Execute the partial deployment command - + ```bash npx -y firebase-tools@latest deploy --only remoteconfig ``` From 912138f019602dffd8847f66890c977c6c39a662 Mon Sep 17 00:00:00 2001 From: AustinBenoit Date: Thu, 30 Jul 2026 10:52:38 -0400 Subject: [PATCH 9/9] style: revert mdformat formatting on untouched sections of SKILL.md --- skills/firebase-ai-logic-basics/SKILL.md | 79 ++++++++++++++---------- 1 file changed, 45 insertions(+), 34 deletions(-) diff --git a/skills/firebase-ai-logic-basics/SKILL.md b/skills/firebase-ai-logic-basics/SKILL.md index bdcbadd3..bf24db6d 100644 --- a/skills/firebase-ai-logic-basics/SKILL.md +++ b/skills/firebase-ai-logic-basics/SKILL.md @@ -16,10 +16,10 @@ of Google's AI integration platform for mobile and web developers. It supports the two Gemini API providers: -- **Gemini Developer API**: It has a free tier ideal for prototyping, and - pay-as-you-go for production -- **Agent Platform Gemini API** (formerly branded Vertex AI): Ideal for scale - with enterprise-grade production readiness, requires Blaze plan +- **Gemini Developer API**: It has a free tier ideal for prototyping, and + pay-as-you-go for production +- **Agent Platform Gemini API** (formerly branded Vertex AI): Ideal for scale + with enterprise-grade production readiness, requires Blaze plan Use the Gemini Developer API as a default, and only Agent Platform Gemini API (formerly branded Vertex AI) if the application requires it. @@ -28,13 +28,13 @@ Use the Gemini Developer API as a default, and only Agent Platform Gemini API ### Prerequisites -- Before starting, ensure you have **Node.js 16+** and npm installed. Install - them if they aren’t already available. -- Identify the platform the user is interested in building on prior to starting: - Android, iOS, Flutter or Web. -- If their platform is unsupported, Direct the user to Firebase Docs to learn - how to set up AI Logic for their application (share this link with the user - https://firebase.google.com/docs/ai-logic/get-started) +- Before starting, ensure you have **Node.js 16+** and npm installed. Install + them if they aren’t already available. +- Identify the platform the user is interested in building on prior to + starting: Android, iOS, Flutter or Web. +- If their platform is unsupported, Direct the user to Firebase Docs to learn + how to set up AI Logic for their application (share this link with the user + https://firebase.google.com/docs/ai-logic/get-started) ### Installation @@ -95,7 +95,7 @@ faster display of results. > [Firebase AI Logic Models documentation](https://firebase.google.com/docs/ai-logic/models.md.txt) > for the currently supported image generation (Nano Banana) model names. -- Requires an upgraded Blaze pay-as-you-go billing plan. +- Requires an upgraded Blaze pay-as-you-go billing plan. ### Search Grounding with the built in googleSearch tool @@ -138,26 +138,27 @@ Tokens** during development and testing to bypass standard attestation. ##### Local Development (Auto-Generated) -1. Configure your code's App Check provider to use the debug factory: - - **Web**: Set `self.FIREBASE_APPCHECK_DEBUG_TOKEN = true;` before - initializing App Check. - - **Android**: Install `DebugAppCheckProviderFactory.getInstance()`. - - **iOS**: Set provider factory to `AppCheckDebugProviderFactory()`. -1. Run your app in the emulator/localhost. -1. Look at your runtime debugger console / Logcat logs for the generated UUID: - - *Example:* `AppCheck debug token: "123a4567-b89c-12d3-e456-789012345678"` -1. Register this token in the Firebase Console under **Security > App Check > - Apps > Manage debug tokens**. +1. Configure your code's App Check provider to use the debug factory: + * **Web**: Set `self.FIREBASE_APPCHECK_DEBUG_TOKEN = true;` before + initializing App Check. + * **Android**: Install `DebugAppCheckProviderFactory.getInstance()`. + * **iOS**: Set provider factory to `AppCheckDebugProviderFactory()`. +2. Run your app in the emulator/localhost. +3. Look at your runtime debugger console / Logcat logs for the generated UUID: + * *Example:* `AppCheck debug token: + "123a4567-b89c-12d3-e456-789012345678"` +4. Register this token in the Firebase Console under **Security > App Check > + Apps > Manage debug tokens**. ##### CI/CD Pipelines (Pre-Provisioned) -1. Generate and register a new debug token in the Firebase Console under - **Security > App Check > Apps > Manage debug tokens**. -1. Add this token string as an encrypted secret in your CI system (e.g. - `APP_CHECK_DEBUG_TOKEN`). -1. Configure your build to pass this secret as an environment variable to the - SDK during test execution (e.g. - `self.FIREBASE_APPCHECK_DEBUG_TOKEN = process.env.APP_CHECK_DEBUG_TOKEN`). +1. Generate and register a new debug token in the Firebase Console under + **Security > App Check > Apps > Manage debug tokens**. +2. Add this token string as an encrypted secret in your CI system (e.g. + `APP_CHECK_DEBUG_TOKEN`). +3. Configure your build to pass this secret as an environment variable to the + SDK during test execution (e.g. `self.FIREBASE_APPCHECK_DEBUG_TOKEN = + process.env.APP_CHECK_DEBUG_TOKEN`). ### Remote Config @@ -174,11 +175,21 @@ without deploying new client code. See ## Initialization Code References -| Language, Framework, Platform | Gemini API provider | Context URL | -| :---------------------------- | :------------------- | :---------------------------------------------- | -| Web Modular API | Gemini Developer API | firebase://docs/ai-logic/get-started | -| iOS (Swift) | Gemini Developer API | [ios_setup.md](references/ios_setup.md) | -| Flutter (Dart) | Gemini Developer API | [flutter_setup.md](references/flutter_setup.md) | +| Language, | Gemini API | Context URL | +: Framework, : provider : : +: Platform : : : +| :---------- | :--------- | :---------------------------------------------- | +| Web Modular | Gemini | firebase://docs/ai-logic/get-started | +: API : Developer : : +: : API : : +: : (Developer : : +: : API) : : +| iOS (Swift) | Gemini | [ios_setup.md](references/ios_setup.md) | +: : Developer : : +: : API : : +| Flutter | Gemini | [flutter_setup.md](references/flutter_setup.md) | +: (Dart) : Developer : : +: : API : : > [!WARNING] **CRITICAL: Use current model names:** Always check the > [Firebase AI Logic Models documentation](https://firebase.google.com/docs/ai-logic/models.md.txt)