Claude-skill-registry firebase-emulator-workflow

Firebase Emulator Suiteの起動・停止・管理ワークフロー。「エミュレーター」「Firebase」「Firestore」「Auth」「ローカル開発」などのキーワードで自動適用。

install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/firebase-emulator-workflow" ~/.claude/skills/majiayu000-claude-skill-registry-firebase-emulator-workflow && rm -rf "$T"
manifest: skills/data/firebase-emulator-workflow/SKILL.md
source content

Firebase Emulator Workflow

Firebase Emulator Suite のローカル開発環境管理ワークフロー。

コマンド一覧

コマンド用途
/firebase-emulator:emulator-start
エミュレーター起動(バックグラウンド)
/firebase-emulator:emulator-stop
エミュレーター停止
/firebase-emulator:emulator-status
状態確認

推奨ワークフロー

開発開始 → emulator-start(バックグラウンド起動)
    ↓
iOS/Backend 開発
    ↓
開発終了 → emulator-stop(リソース解放)

環境変数

変数説明デフォルト
FIREBASE_PROJECT_ID
プロジェクトID自動検出
EMULATOR_PORT_FIRESTORE
Firestore ポート8090
EMULATOR_PORT_AUTH
Auth ポート9099
EMULATOR_PORT_STORAGE
Storage ポート9199
EMULATOR_PORT_UI
UI ポート4000

ディレクトリ検出

以下の順序で Firebase 設定を検出:

  1. 環境変数
    FIREBASE_DIR
  2. カレントディレクトリの
    firebase.json
  3. firebase/
    サブディレクトリ

Emulator UI

起動後、ブラウザで確認:

http://localhost:4000

アプリからの接続

iOS (Swift)

let settings = Firestore.firestore().settings
settings.host = "localhost:8090"
settings.isSSLEnabled = false
Firestore.firestore().settings = settings

Go Backend

os.Setenv("FIRESTORE_EMULATOR_HOST", "localhost:8090")
os.Setenv("FIREBASE_AUTH_EMULATOR_HOST", "localhost:9099")

よくある問題

ポートが既に使用中

Port 8090 is already in use

対処: 既存のプロセスを終了

lsof -ti :8090 | xargs kill -9

firebase.json が見つからない

Error: No Firebase project directory found

対処:

firebase init
でプロジェクトを初期化