Projects and templates
Projects are local registrations of physical Firebase projects and the identity used to access them. Forgetting one removes local fbrcm state; it does not delete or change the Firebase project.
Discover and inspect projects
fbrcm projects list --update
fbrcm project show stagingprojects list reads the local registry and optionally synchronizes accessible projects. project show displays one resolved project and its local metadata.
Use fbrcm doctor when discovery fails. It checks credentials, connectivity, API access, permissions, and local storage in one report.
Use repository aliases
fbrcm projects aliases set staging acme-staging-42
fbrcm projects aliases set prod acme-production-42
fbrcm projects aliases listImport aliases from a Firebase CLI project file:
fbrcm projects aliases import --from .firebaserc --dry-run
fbrcm projects aliases import --from .firebasercNative aliases are stored in the nearest .fbrcm.toml; Firebase aliases remain in .firebaserc. Conflicting definitions are rejected.
Choose client or server templates
Inspect available template types and the current primary:
fbrcm project templates show stagingSet the primary template used by unqualified project selectors:
fbrcm project templates set staging --primary serverAn explicit target always wins over the saved preference:
fbrcm get --project 'client@=staging'
fbrcm get --project 'server@=staging'Compare environments
fbrcm projects diff staging prodThe comparison includes parameter values, groups, descriptions, conditions, and condition ordering. Use filters to narrow a large diff to the configuration you are reviewing.
Promote selected configuration
Preview a promotion before writing:
fbrcm projects promote client@staging client@prod --all --dry-runPromotion is selective: it transfers chosen parameters, groups, and conditions from the source candidate to the target candidate. The source is never modified. Use --draft to stage the target-side result for a later review.
Explicitly qualify targets when promoting between client and server templates:
fbrcm projects promote client@staging server@prod --all --dry-runImport a template
fbrcm project import staging --from remote-config.json --dry-runImport supports merge and replacement workflows, parameter or group selection, filters, condition cleanup, and conflict choices. The final candidate always goes through the normal diff and validation path.
Use stdin when another command produces the template:
generate-config | fbrcm project import staging --from - --dry-runExport and application defaults
fbrcm project export staging --to remote-config.json
fbrcm project defaults staging --format plist --to RemoteConfigDefaults.plistExport writes the effective Remote Config template. Defaults asks Firebase for the selected platform format. Existing destinations require an explicit human confirmation; JSON mode reports that interaction requirement instead of prompting.
Open and forget
fbrcm project open staging
fbrcm projects forget --filter '=staging'project open launches the Remote Config page in Firebase Console. JSON mode returns the URL without opening a browser. projects forget removes registrations, caches, snapshots, and drafts for the selected local projects without touching Firebase.