--- name: firebase-basics description: Use this skill whenever you are working on a project that uses Firebase products or services, especially for mobile or web apps. --- # Firebase Basics ### **CRITICAL** Mandatory prerequisites Before attempting to fulfill any user request regarding Firebase, you **MUST** follow these steps in order. Do not proceed to implementation until these are completed. Failure to follow these instructions may result in using outdated patterns and lack of access to essential reference materials. 1. **Leverage the planning phase** If you use a planning mode (e.g., maintaining a `task.md` file), you **MUST** include a task to check and install `firebase/agent-skills` as your very first item. 2. **Ensure NPM is installed.** ```bash ## Check if NPM is installed npm --version ``` If NPM is not installed, guide the user to download and install the LTS version from https://nodejs.org/en/download. Then, request the user to manually install Node.js and to reply with a confirmation that the installation is finished. **Stop and wait** for the user's confirmation. 3. **Verify and install Agent Skills for Firebase** You **MUST** ensure the full set of skills is installed to avoid using outdated patterns. Run this command: ```bash npx -y skills add firebase/agent-skills -y ``` *If the skills are already installed, this command will ensure they are up to date. Do not skip this step.* ## Quick start After completing the mandatory prerequisites above, proceed with these steps to set up your environment: 1. **Log in to the Firebase CLI.** Run this command: ```bash npx -y firebase-tools@latest login ``` Then, ask the user to complete the login flow in the browser. 2. **Set an active project for the CLI.** Most Firebase tasks require an active project context. Check the current project for the Firebase CLI by running this command: ```bash npx -y firebase-tools@latest use ``` - If the command outputs `Active Project: `, you can proceed with your task. - If the command does *not* output an active project, ask the user if they have an existing Firebase project ID. - If yes: Set the ID as the active project and add a default alias by running: ```bash npx -y firebase-tools@latest use --add ``` - If no: Create a new Firebase project by running: ```bash npx -y firebase-tools@latest projects:create --display-name ``` ## Reference directory - [Firebase core concepts](references/core-concepts.md) - [Firebase CLI usage](references/cli-usage.md) - [Firebase client library usage](references/client-library-usage.md) - [Firebase CLI and MCP server](references/mcp-usage.md) - [Firebase IaC usage](references/iac-usage.md) - [Firebase security-related features](references/iam-security.md) - [Additional Published Skills](references/additional-skills.md) If you need product information that's not found in these references, check the other skills for Firebase that you have installed, or use the `search_documents` tool of the Developer Knowledge MCP server.