Writing Skills
writing-skills
效率与协作技能,来自 obra/superpowers,查看原文获取完整用途和操作说明。
firebase-hosting-basics【部署与运维】Firebase Hosting for static SPAs and web apps. Use when configuring firebase.json hosting block, deploying a static site to Firebase Hosting, creating preview channels for PR review, or setting up GitHub Actions CI/CD with Workload Identity Federation. Do NOT use for Firebase App Hosting (SSR). Triggers: firebase hosting, deploy angular spa, firebase…
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
NO FIREBASE HOSTING DEPLOY WITHOUT WORKLOAD IDENTITY FEDERATION.
CI/CD uses GitHub Actions + WIF — never long-lived service account JSON keys. The
GOOGLE_APPLICATION_CREDENTIALS environment variable must never point to a key file
in any workflow or .env file.
Before using this skill:
CLAUDE.md for the project's build tool and output path (e.g. dist/)firebase.json location (typically repo root)hosting block already exists in firebase.jsonBuild the web app before deploying:
# Adjust command to match your project's build setup
npm run build
# Confirm the output directory matches firebase.json "public" setting
Configuring firebase.json?
→ Load references/configuration.md
→ Set "public" to the project's actual build output directory
Deploying live or to a preview channel? → Load references/deploying.md → For CI/CD with GitHub Actions: Load references/ci-cd-github-actions.md
Adding env vars for project ID or WIF?
→ Must sync across all env files (.env, .env.staging, .env.production) in the SAME PR
→ Run the project's env-sync check before committing
angular-spa — Angular build setup; produces the static outputfirebase-basics — Firebase CLI auth, project setup, npx disciplinegcp-cloud-run — WIF setup patterns reused for Firebase Hosting CI/CDdeployment-engineer agent — for complex multi-environment pipeline setupFirebase Hosting has no local emulator equivalent — the project's dev server handles this:
# Serve locally (no Firebase needed) — adjust to project's dev command
npm run start
# Or test the production build locally
npx -y firebase-tools@latest emulators:start --only hosting
# Serves the build output at http://localhost:5000