firebase-app-hosting-basics
OfficialAbout firebase-app-hosting-basics
firebase-app-hosting-basics is a skill for agents deploying and managing full-stack web apps with Firebase App Hosting. It covers source-based and GitHub-triggered deployment, local emulator testing, and when to choose App Hosting over Firebase Hosting.
Key features
- 01Configure App Hosting backends
- 02Deploy full-stack apps from source
- 03Set up GitHub-based automatic deployments
- 04Test with the Local Emulator Suite
Use cases
- 01Deploy a Next.js or Angular app
- 02Configure hosting for an app using SSR or ISR
- 03Set up push-triggered deployments for a repository
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ firebase/ agent-skills --skill firebase-app-hosting-basicsAfter installing, type/firebase-app-hosting-basicsin Claude Code to confirm it loaded.
Bundled files
References and scripts installed along with SKILL.md.
references/cli_commands.mdconfiguration.mdemulation.mdDetails
From the project READMEApp Hosting Basics
Description
This skill enables the agent to deploy and manage modern, full-stack web applications (Next.js, Angular, etc.) using Firebase App Hosting.
Important: In order to use App Hosting, your Firebase project must be on the Blaze pricing plan. Direct the user to https://console.firebase.google.com/project/_/overview?purchaseBillingPlan=metered to upgrade their plan.
Hosting vs App Hosting
Choose Firebase Hosting if:
- You are deploying a static site (HTML/CSS/JS).
- You are deploying a simple SPA (React, Vue, etc. without SSR).
- You want full control over the build and deploy process via CLI.
Choose Firebase App Hosting if:
- You are using a supported full-stack framework like Next.js or Angular.
- You need Server-Side Rendering (SSR) or ISR.
- You want an automated "git push to deploy" workflow with zero configuration.
Deploying to App Hosting
Deploy from Source
This is the recommended flow for most users.
-
Configure
firebase.jsonwith anapphostingblock.{ "apphosting": { "backendId": "my-app-id", "rootDir": "/", "ignore": [ "node_modules", ".git", ".next", ".vercel", "firebase-debug.log", "firebase-debug.*.log", "functions" ] } } -
Create or edit
apphosting.yaml- see Configuration for more information on how to do so. -
Create the backend if it does not exist (
apphosting:backends:list; switch--primary-region, e.g.us-east4, if a region hits its 10-backend quota):npx -y firebase-tools@latest apphosting:backends:create --backend my-app-id --primary-region us-central1 --root-dir / -
If the app needs safe access to sensitive keys, set and grant access after creating the backend:
printf '%s' '<value>' | npx -y firebase-tools@latest apphosting:secrets:set <secret-name> --data-file - --force npx -y firebase-tools@latest apphosting:secrets:grantaccess <secret-name> --backend my-app-id -
Run
npx -y firebase-tools@latest deploywhen you are ready to deploy.
Automated deployment via GitHub (CI/CD)
Alternatively, set up a backend connected to a GitHub repository for automated deployments "git push" deployments. This is only recommended for more advanced users, and is not required to use App Hosting. See CLI Commands for more information on how to set this up using CLI commands.
Emulation
See Emulation for more information on how to test your app locally using the Firebase Local Emulator Suite.