ng add @angular/fire@next
- **Dependency injection** - Provide and Inject Firebase services in your components.
- **Zone.js wrappers** - Stable zones allow proper functionality of service workers, forms, SSR, and pre-rendering.
diff --git a/docs/ai.md b/docs/ai.md
index 105cf7a6c..c381c08a9 100644
--- a/docs/ai.md
+++ b/docs/ai.md
@@ -8,14 +8,11 @@ Firebase AI Logic gives you access to the latest generative AI models from Googl
[Learn more](https://firebase.google.com/docs/ai-logic)
-> Firebase AI Logic was previously called **Vertex AI in Firebase**. If you are upgrading from AngularFire 20, the module moved from `@angular/fire/vertexai` to `@angular/fire/ai` and most symbols were renamed (`provideVertexAI` to `provideAI`, `VertexAI` to `AI`). One is not a rename: plain `getAI()` uses the Gemini Developer API backend, so the old `getVertexAI()` maps to `getAI(app, { backend: new AgentPlatformBackend() })`. Running `ng update @angular/fire` rewrites all of this for you and keeps your app on the same backend, though a call that passed no `location` moves from `us-central1` to `global`. See the [AngularFire 20 to 21 upgrade guide](./version-21-upgrade.md).
+> Firebase AI Logic was previously called **Vertex AI in Firebase**. If you are upgrading from AngularFire 20, the module moved from `@angular/fire/vertexai` to `@angular/fire/ai` and most symbols were renamed (`provideVertexAI` to `provideAI`, `VertexAI` to `AI`). One is not a rename: plain `getAI()` uses the Gemini Developer API backend, so the old `getVertexAI()` maps to `getAI(app, { backend: new AgentPlatformBackend() })`. Running the `ng update` command in the [AngularFire 20 to 21 upgrade guide](./version-21-upgrade.md) rewrites all of this for you and keeps your app on the same backend, though a call that passed no `location` moves from `us-central1` to `global`.
## Dependency Injection
-As a prerequisite, ensure that `AngularFire` has been added to your project via
-```bash
-ng add @angular/fire
-```
+As a prerequisite, ensure that `AngularFire` has been added to your project as described in the [Quickstart](./install-and-setup.md).
Provide an AI instance in the application's `app.config.ts`:
diff --git a/docs/analytics.md b/docs/analytics.md
index e064730b9..d1da2d5a5 100644
--- a/docs/analytics.md
+++ b/docs/analytics.md
@@ -12,10 +12,7 @@ Google Analytics is an app measurement solution, available at no charge, that pr
## Dependency Injection
-As a prerequisite, ensure that `AngularFire` has been added to your project via
-```bash
-ng add @angular/fire
-```
+As a prerequisite, ensure that `AngularFire` has been added to your project as described in the [Quickstart](./install-and-setup.md).
Provide an Analytics instance in the application's `app.config.ts`:
diff --git a/docs/app-check.md b/docs/app-check.md
index 557bf578a..0490b718b 100644
--- a/docs/app-check.md
+++ b/docs/app-check.md
@@ -12,10 +12,7 @@ App Check helps protect your API resources from abuse by preventing unauthorized
## Dependency Injection
-As a prerequisite, ensure that `AngularFire` has been added to your project via
-```bash
-ng add @angular/fire
-```
+As a prerequisite, ensure that `AngularFire` has been added to your project as described in the [Quickstart](./install-and-setup.md).
Provide an App Check instance in the application's `app.config.ts`:
diff --git a/docs/auth.md b/docs/auth.md
index 163f87115..0faef0072 100644
--- a/docs/auth.md
+++ b/docs/auth.md
@@ -15,10 +15,7 @@ Firebase Authentication integrates tightly with other Firebase services, and it
## Dependency Injection
-As a prerequisite, ensure that `AngularFire` has been added to your project via
-```bash
-ng add @angular/fire
-```
+As a prerequisite, ensure that `AngularFire` has been added to your project as described in the [Quickstart](./install-and-setup.md).
Provide an Auth instance in the application's `app.config.ts`:
diff --git a/docs/data-connect.md b/docs/data-connect.md
index 88f2e1205..062324057 100644
--- a/docs/data-connect.md
+++ b/docs/data-connect.md
@@ -10,10 +10,7 @@ Firebase Data Connect (now known as "Firebase SQL Connect" in the Firebase docum
## Dependency Injection
-As a prerequisite, ensure that `AngularFire` has been added to your project via
-```bash
-ng add @angular/fire
-```
+As a prerequisite, ensure that `AngularFire` has been added to your project as described in the [Quickstart](./install-and-setup.md).
Provide a Data Connect instance in the application's `app.config.ts`. `getDataConnect` takes a connector config that identifies your service, connector, and location; this is generated for you when you set up Data Connect and is also exported from your generated SDK:
diff --git a/docs/database.md b/docs/database.md
index 84e196a87..1eac2244b 100644
--- a/docs/database.md
+++ b/docs/database.md
@@ -12,10 +12,7 @@ The Firebase Realtime Database is a cloud-hosted database. Data is stored as JSO
## Dependency Injection
-As a prerequisite, ensure that `AngularFire` has been added to your project via
-```bash
-ng add @angular/fire
-```
+As a prerequisite, ensure that `AngularFire` has been added to your project as described in the [Quickstart](./install-and-setup.md).
Provide a Database instance in the application's `app.config.ts`:
diff --git a/docs/firestore.md b/docs/firestore.md
index 917e50ffc..6932d99fd 100644
--- a/docs/firestore.md
+++ b/docs/firestore.md
@@ -14,10 +14,7 @@ Cloud Firestore is the API that gives your application access to your database i
## Dependency Injection
-As a prerequisite, ensure that `AngularFire` has been added to your project via
-```bash
-ng add @angular/fire
-```
+As a prerequisite, ensure that `AngularFire` has been added to your project as described in the [Quickstart](./install-and-setup.md).
Provide a Firestore instance in the application's `app.config.ts`:
```ts
diff --git a/docs/functions.md b/docs/functions.md
index f64f52e53..bd818bcb8 100644
--- a/docs/functions.md
+++ b/docs/functions.md
@@ -12,10 +12,7 @@ The Cloud Functions for Firebase client SDKs let you call functions directly fro
## Dependency Injection
-As a prerequisite, ensure that `AngularFire` has been added to your project via
-```bash
-ng add @angular/fire
-```
+As a prerequisite, ensure that `AngularFire` has been added to your project as described in the [Quickstart](./install-and-setup.md).
Provide a Cloud Functions instance in the application's `app.config.ts`:
diff --git a/docs/install-and-setup.md b/docs/install-and-setup.md
index a9aea8265..00faaad16 100644
--- a/docs/install-and-setup.md
+++ b/docs/install-and-setup.md
@@ -2,39 +2,43 @@
## Before you begin
-- **Firebase CLI.** Setup uses the Firebase CLI (`firebase-tools`), version 14 or newer. `ng add` installs it if it is missing and prompts you to sign in, so you do not have to install it yourself first. It does not upgrade a copy you already have, so an older one stops setup with `firebase-tools version 14.0.0+ is required, please upgrade and run again`. To handle it ahead of time, or to clear that error, run `npm install -g firebase-tools` then `firebase login`.
-- **On the newest Angular major, use `@next`.** If `ng add @angular/fire` reports an Angular peer-dependency conflict, your Angular version is newer than AngularFire's default (`latest`) release. Install the version-matched pre-release instead: `ng add @angular/fire@next`.
+- **Firebase CLI**
+ - Setup uses the Firebase CLI (`firebase-tools`). Install version 14 first, with `npm install -g firebase-tools@14`, then `firebase login`.
+ - With no CLI on the machine, `ng add` installs the newest version for you, and on version 15 setup stops right after the features question with `Cannot read properties of undefined (reading 'email')` (#3768).
+ - A copy older than 14 stops setup with `firebase-tools version 14.0.0+ is required, please upgrade and run again`, and `ng add` does not upgrade a copy you already have.
- **Harmless CLI noise.** The Firebase CLI may print a `punycode` deprecation warning or ask about enabling extra features (for example Gemini) during setup. These come from the CLI, not from AngularFire, and are safe to ignore.
### 1. Create a new project
```bash
# Using yarn create
-yarn create @angular