agentleFS
olaitanojoolaitanojo/skills/skills/cloud/firebase-basics/SKILL.md

firebase-basics

Skill1 starsChanged 3 months agoApache-2.0View on GitHub

Provides foundational Firebase CLI setup, CLI installation, version checks (`firebase-tools@latest --version`), CLI login (including --no-localhost), project creation, project selection (`firebase use`), and app config file downloads (`google-services.json`, `GoogleService-Info.plist`). Use ONLY for CLI login, project creation/switching, or downloading app config files. Don't use for Firebase Hosting deploy, Firestore, Auth, App Hosting, Data Connect, Crashlytics, or Remote Config.

11 other projects use a version of this, 7 of them edited.

Adopted by

Most recently taken up by

Used with

Projects with it also use firebase-app-hosting-basics, firebase-auth-basics and 8 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • adrianhajdinSkill

    firebase-app-hosting-basics

    Deploy and manage web apps with Firebase App Hosting. Use this skill when deploying Next.js/Angular apps with backends.

    Also in 5 projects that use this

  • adrianhajdinSkill

    firebase-auth-basics

    Guide for setting up and using Firebase Authentication. Use this skill when the user's app requires user sign-in, user management, or secure data access using auth rules.

    Also in 5 projects that use this

  • firebaseSkill

    firebase-remote-config-basics

    Manages Firebase Remote Config templates, feature flags, loading strategies, and SDKs (Android, iOS). Use when downloading/deploying remoteconfig JSON templates, managing version history/feature flags, setting in-app defaults, fetchAndActivate(), real-time listeners, or SDK setup. Don't use for Firebase Hosting, Auth, Firestore, Data Connect, Crashlytics, or App Hosting.

    Also in 5 projects that use this

  • firebaseSkill

    firebase-ai-logic-basics

    Integrates Firebase AI Logic (formerly Vertex AI for Firebase) into mobile and web apps (Android, iOS, Web, and Flutter) to call Gemini models from client code. Use when provisioning or initializing Firebase AI Logic, or adding Gemini features to an app: text generation, multimodal input, chat, streaming, structured output, hybrid on-device inference, App Check protection, or switching models with Remote Config.

    Also in 4 projects that use this

  • squarerfSkill

    firebase-security-rules-auditor

    A skill to evaluate how secure Firestore security rules are. Use this when Firestore security rules are updated to ensure that the generated rules are extremely secure and robust.

    Also in 4 projects that use this

  • +2 more from adrianhajdin
  • +3 more from firebase

The file

Show its rules and text

We split this skill into the rules it gives an agent

14 rules. 5 are common, 1 is distinctive, and 8 are very specific to this project.

  • 5

    Common

    Most of the 9 edited versions we read keep these.

  • 1

    Distinctive

    This author's own choices. Worth a look.

  • 8

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Common:

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

    line 15
  2. Very specific:

    Run npx -y firebase-tools@latest --version to check if the Firebase CLI is installed.

    line 18
  3. Common:

    Verify if the Firebase MCP server is installed using your existing tools.

    line 20
  4. Common:

    CRITICAL: Before configuring any extensions or agent environments below, you MUST read references/local-env-setup.md.

    line 22
  5. Very specific:

    Authentication: Ensure you are logged in to Firebase so that commands have the correct permissions.

    line 43
  6. Common:

    If you are not logged in, follow the interactive instructions from this command to authenticate.

    line 49
  7. Very specific:

    Check the current project by running npx -y firebase-tools@latest use.

    line 62
  8. Very specific:

    If the command outputs Active Project: <project-id>, confirm with the user if this is the intended project.

    line 64
  9. Common:

    If not, or if no project is active, set the project provided by the user:

    line 66
  10. Distinctive:

    If creating a new project: Run the following command to create it:

    line 73
  11. Very specific:

    Automate Config File Retrieval: When setting up iOS or Android apps, do NOT direct users to the Firebase Console to download …

    line 119
  12. Very specific:

    NOT direct users to the Firebase Console to download google-services.json or GoogleService-Info.plist.

    line 120
  13. Very specific:

    Login Issues: If the browser fails to open during the login step, use npx -y firebase-tools@latest login --no-localhost instead.

    line 146
  14. Very specific:

    Genkit: If using Genkit, install the skills:

    line 148

“Common” is measured: kept by at least 6 in 10 of the 9 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

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:

    • Run npx -y firebase-tools@latest --version to check if the Firebase CLI is installed.
    • Verify if the Firebase MCP server is installed using your existing tools.
    • CRITICAL: Before configuring any extensions or agent environments below, you MUST read references/local-env-setup.md.
    • DO NOT SKIP this step: if 'firebase-basics' is the only Firebase skill available to you, you must follow the reference for your agent environment to set up the full suite of Firebase skills:
      • Gemini CLI: Review references/setup/gemini_cli.md
      • Antigravity: Review references/setup/antigravity.md
      • Android Studio: Review references/setup/android_studio.md
      • Claude Code: Review references/setup/claude_code.md
      • Cursor: Review references/setup/cursor.md
      • GitHub Copilot: Review references/setup/github_copilot.md
      • Other Agents: Review references/setup/other_agents.md
  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:
    • Antigravity: Follow references/refresh/antigravity.md
    • Gemini CLI: Follow references/refresh/gemini-cli.md
    • Claude Code: Follow references/refresh/claude.md
    • Cursor: Follow references/refresh/other-agents.md
    • Android Studio: Follow references/refresh/android_studio.md
    • Others: Follow references/refresh/other-agents.md
  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

  • Initialize Firebase: See references/firebase-service-init.md when you need to initialize new Firebase services using the CLI.
  • Exploring Commands: See references/firebase-cli-guide.md to discover and understand CLI functionality.
  • SDK Setup: For detailed guides on adding Firebase to your app:
    • Web: See references/web_setup.md
    • Android: See references/android_setup.md
    • iOS: See references/ios_setup.md

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

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.