Read-only terminal preflight
Know the target before you debug.
One local command checks the active Firebase project, credential state, emulator endpoints, rules hashes, and CLI reachability—before a write command gets the chance.
- Offline by default
- Never prints tokens
- Never deploys
Recorded fixture bench
See the failure before it costs you.
These are the exact root categories covered by the CLI test fixtures. The browser demo is local and makes no requests.
Use Tab to enter, then ← and → to change cases.
Five checks, one answer
A small surface for a messy environment.
The doctor uses the configuration already in your repository and documented Firebase CLI surfaces. It does not try to repair or reinterpret your setup.
- 01 / IDENTITY
Project
Resolves flags, environment variables, aliases, and the default project.
- 02 / ACCESS
Auth
Finds local credential markers, then validates only when you opt in.
- 03 / ROUTING
Emulators
Compares environment endpoints with ports declared in firebase.json.
- 04 / POLICY
Rules
Verifies configured files and fingerprints each one with SHA-256.
- 05 / REACH
CLI
Checks the Firebase binary locally and project visibility on request.
Version 0.1.0
Put the check beside the code.
Build the single binary with Rust today. Release downloads can be attached by the factory without changing the command surface.
cargo install --git https://github.com/B-Divyesh/sf-firebase-environment-doctor
Then run firebase-environment-doctor from your Firebase project. Add --json for automation or --network for explicit account validation.
0Usable environment1Blocked, or caution with--strict2Invalid invocation or unreadable input