firebaselisted
Install: claude install-skill fmind/dot
# Firebase Standard
Firebase is the default backend and hosting for TypeScript web apps: Auth, Firestore, Cloud Functions, Hosting for static bundles, App Hosting for SSR. The `firebase` CLI comes from mise; the upstream skills carry the product detail, so this skill fixes the workflow, the local loop, and the deploy authority.
## 1. Setup
1. **Authenticate once**: `firebase login` (or `firebase login --no-localhost` on a headless machine); `firebase projects:create <project-id>` or `firebase use <project-id>` in the repo.
1. **Initialize features**: `firebase init <feature>` for `firestore`, `hosting`, `functions`, or `apphosting`; answers land in `firebase.json`, `.firebaserc`, `firestore.rules`, and `firestore.indexes.json`, all committed.
1. **Angular integration**: `ng add @angular/fire` in the app per [angular](../angular/SKILL.md); keep the Firebase config in `src/environments/` and never commit service-account keys.
## 2. Local Loop
```bash
firebase emulators:start # Auth, Firestore, Functions, Hosting on localhost with the Emulator UI
firebase emulators:exec "mise run test" # run the suite against emulators, then stop them
```
- Point the app at the emulators in development (`connectAuthEmulator`, `connectFirestoreEmulator`) behind an environment flag, never in production builds.
- Rules are tested with `@firebase/rules-unit-testing` against the emulator; run them from `mise run test` so hooks and CI cover them.
## 3. Deploy
```bash