firebase-basics

作成者: firebase

Firebase CLIの基本:プロジェクト設定、認証、サービス初期化。Firebase CLIログインによる認証、一意のIDを使用したプロジェクト作成、インタラクティブなプロンプトによるサービス初期化をカバー。設定ファイル生成を含むFirestore、Functions、HostingなどのコアFirebaseサービスのセットアップをガイド。利用可能なコマンドと詳細な使用パターンを発見するための自己文書化CLIヘルプシステムを含む。事前に...の完了が必要。

npx skills add https://github.com/firebase/skills --skill firebase-basics

Prerequisites

Complete these setup steps before proceeding:

  1. Local Environment Setup: Verify the environment is properly set up so we can use Firebase tools:

  2. Authentication: Ensure you are logged in to Firebase so that commands have the correct permissions. Run npx -y firebase-tools@latest login. For environments without a browser (e.g., remote shells), use npx -y firebase-tools@latest login --no-localhost.

    • The command should output the current user.
    • If you are not logged in, follow the interactive instructions from this command to authenticate.
  3. Active Project: Most Firebase tasks require an active project context.

    [!IMPORTANT] For Agents: Before proceeding with project configuration, you MUST pause and ask the developer if they prefer to:

    1. Provide an existing Firebase Project ID, or
    2. Create a new Firebase project.
    • If using an existing Project ID:

      1. Check the current project by running npx -y firebase-tools@latest use.
      2. If the command outputs Active Project: <project-id>, confirm with the user if this is the intended project.
      3. If not, or if no project is active, set the project provided by the user:
        npx -y firebase-tools@latest use <PROJECT_ID>
        
    • If creating a new project: Run the following command to create it:

      npx -y firebase-tools@latest projects:create <project-id> --display-name "<display-name>"
      

      Note: The <project-id> must be 6-30 characters, lowercase, and can contain digits and hyphens. It must be globally unique.

Firebase Usage Principles

Adhere to these principles:

  1. Use npx for CLI commands: To ensure you always use the latest version of the Firebase CLI, always prepend commands with npx -y firebase-tools@latest instead of just firebase. For example, use npx -y firebase-tools@latest --version. NEVER suggest the naked firebase command as an alternative.
  2. Prioritize official knowledge: For any Firebase-related knowledge, consult the developerknowledge_search_documents MCP tool before falling back to Google Search or your internal knowledge base. Including "Firebase" in your search query significantly improves relevance.
  3. Follow Agent Skills for implementation guidance: Skills provide opinionated workflows (CUJs), security rules, and best practices. Always consult them to understand how to implement Firebase features correctly instead of relying on general knowledge.
  4. Use Firebase MCP Server tools instead of direct API calls: Whenever you need to interact with remote Firebase APIs (such as fetching Crashlytics logs or executing Data Connect queries), use the tools provided by the Firebase MCP Server instead of attempting manual API calls.
  5. Keep Plugin / Agent Skills updated: Since Firebase best practices evolve quickly, regularly check for and install updates to their Firebase plugin or Agent Skills. Similarly, if you encounter issues with outdated tools or commands, follow the steps below based on your agent environment:
  6. Automate Config File Retrieval: When setting up iOS or Android apps, do NOT direct users to the Firebase Console to download google-services.json or GoogleService-Info.plist. Instead, use the Firebase CLI to fetch the config programmatically:
    • For Android: npx -y firebase-tools@latest apps:sdkconfig ANDROID <APP_ID> --project <PROJECT_ID>
    • For iOS: npx -y firebase-tools@latest apps:sdkconfig IOS <APP_ID> --project <PROJECT_ID> Save the output to the appropriate location (e.g., app/google-services.json for Android, or a path to be linked by xcode-project-setup for iOS).

References

Common Issues

  • Login Issues: If the browser fails to open during the login step, use npx -y firebase-tools@latest login --no-localhost instead.
  • Genkit: If using Genkit, install the skills:
    npx skills add genkit-ai/skills
    

firebaseのその他のスキル

firebase-remote-config-basics
firebase
Firebase Remote Configの包括的なガイド。テンプレート管理とSDKの使用方法を含みます。ユーザーがRemote Configのセットアップ、機能フラグの管理、またはアプリの動作を動的に更新する際に、このスキルを使用してください。
officialdevelopmentapi
developing-genkit-dart
firebase
Dart向け統合AI SDK。コード生成、構造化出力、ツール、フロー、エージェントを実現。単一インターフェースで生成、ツール定義、フローオーケストレーション、埋め込み、ストリーミングのコアAPIを提供。LLMプロバイダー(Google Gemini、Anthropic Claude、OpenAI GPT)、Firebase AI、Model Context Protocol、Chromeブラウザ統合、Shelf経由のHTTPサーバーホスティング向け8以上のプラグインを含む。フロー実行、トレース、モデル実験などのためのローカル開発UIを備えた組み込みCLI。
official
developing-genkit-go
firebase
GoでGenkitを使用してAIを活用したアプリケーションを開発します。ユーザーがGenkitを使ってGoでAI機能、エージェント、フロー、ツールを構築するよう依頼した場合や、作業中に使用します。
official
developing-genkit-js
firebase
Genkitのフロー、ツール、マルチモデルサポートを使用して、AIを活用したNode.js/TypeScriptアプリケーションを構築します。Genkitはプロバイダーに依存せず、プラグインを介してGoogle AI、OpenAI、Anthropic、Ollama、その他のLLMプロバイダーをサポートします。Zodを使用して型安全なスキーマでフローを定義し、生成リクエストを実行し、TypeScriptでマルチステップのAIワークフローを構成します。Genkit CLI v1.29.0以上が必要です。最近の主要なAPI変更により、現在のパターンについては、以前の知識ではなく、genkit docs:readおよびcommon-errors.mdを参照する必要があります...
official
developing-genkit-python
firebase
PythonでGenkitを使用したAI搭載アプリケーションを開発します。ユーザーがGenkit、AIエージェント、フロー、またはPythonのツールについて質問した場合、またはGenkitに遭遇した場合に使用します…
official
firebase-ai-logic
firebase
クライアントサイドのGemini統合で、マルチモーダル推論、ストリーミング、デバイス上のハイブリッド実行を備えたウェブアプリ向け。テキストのみおよびマルチモーダル入力(画像、音声、動画、PDF)をサポート。20MBを超えるファイルはCloud Storage経由でルーティング。自動履歴付きチャットセッション、リアルタイム表示のためのストリーミング応答、構造化JSON出力の強制を含む。ChromeのGemini Nanoを介したデバイス上のハイブリッド推論を提供し、クラウド実行への自動フォールバックを備える。本番環境ではApp Checkが必要。
official
firebase-ai-logic-basics
firebase
Firebase AI Logic(Gemini API)をウェブアプリケーションに統合するための公式スキル。セットアップ、マルチモーダル推論、構造化出力、セキュリティをカバーします。
official
firebase-app-hosting-basics
firebase
Firebase App Hostingを使用して、Next.js、Angular、その他サポートされているフレームワークを用いたフルスタックWebアプリをデプロイおよび管理します。FirebaseプロジェクトがBlaze料金プランである必要があり、サーバーサイドレンダリング(SSR)およびインクリメンタル静的再生成(ISR)ワークフローをサポートします。バックエンド設定用のオプションのapphosting.yamlを伴うfirebase.json設定を介してデプロイするか、GitHub統合を通じて自動化された「git push to deploy」を有効にします。機密キーへの安全なアクセスのためのCLIコマンドによるシークレット管理を含みます。
official