Firebase Emulator Suiteの起動・停止・管理ワークフロー。「エミュレーター」「Firebase」「Firestore」「Auth」「ローカル開発」などのキーワードで自動適用。
Scanned 2/12/2026
Install via CLI
openskills install majiayu000/claude-skill-registry---
name: firebase-emulator-workflow
description: Firebase Emulator Suiteの起動・停止・管理ワークフロー。「エミュレーター」「Firebase」「Firestore」「Auth」「ローカル開発」などのキーワードで自動適用。
---
# 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)
```swift
let settings = Firestore.firestore().settings
settings.host = "localhost:8090"
settings.isSSLEnabled = false
Firestore.firestore().settings = settings
```
### Go Backend
```go
os.Setenv("FIRESTORE_EMULATOR_HOST", "localhost:8090")
os.Setenv("FIREBASE_AUTH_EMULATOR_HOST", "localhost:9099")
```
## よくある問題
### ポートが既に使用中
```
Port 8090 is already in use
```
**対処**: 既存のプロセスを終了
```bash
lsof -ti :8090 | xargs kill -9
```
### firebase.json が見つからない
```
Error: No Firebase project directory found
```
**対処**: `firebase init` でプロジェクトを初期化
No comments yet. Be the first to comment!