Firebase开发技能 firebase-development

Firebase开发技能是一个专门用于指导Firebase后端云平台开发的系统。它提供项目初始化、云函数添加、Firestore数据库管理、模拟器调试、代码审查等完整工作流。关键词包括:Firebase开发、云函数、Firestore数据库、模拟器调试、后端无服务器架构、Google云平台、身份验证、实时数据库、托管部署。适用于开发人员快速构建和部署可扩展的Web和移动应用后端。

Serverless 0 次安装 0 次浏览 更新于 2/28/2026

名称: firebase-development 描述: 此技能适用于处理Firebase项目时使用,包括初始化项目、添加云函数或Firestore集合、调试模拟器问题或审查Firebase代码。触发关键词包括"firebase"、“firestore”、“cloud functions”、“emulator”、“firebase auth”、“deploy to firebase”、“firestore rules”。

Firebase开发

概述

此技能系统使用生产项目中验证过的模式来指导Firebase开发。它根据检测到的意图路由到专门的子技能。

子技能:

  • firebase-development:project-setup - 初始化新的Firebase项目
  • firebase-development:add-feature - 添加函数/集合/端点
  • firebase-development:debug - 排查模拟器和运行时问题
  • firebase-development:validate - 审查Firebase代码的安全性和模式

此技能适用场景

  • 启动新的Firebase项目
  • 添加云函数或Firestore集合
  • 调试模拟器问题或规则违规
  • 审查Firebase代码的安全性和模式
  • 设置多托管配置
  • 实现身份验证(API密钥或Firebase Auth)

路由逻辑

按子技能的关键词

project-setup:

  • “新的firebase项目”、“初始化firebase”、“firebase init”
  • “设置firebase”、“创建firebase应用”、“启动firebase项目”

add-feature:

  • “添加函数”、“创建端点”、“新工具”、“添加api”
  • “新集合”、“添加功能”、“构建”、“实现”

debug:

  • “错误”、“不工作”、“调试”、“模拟器问题”
  • “规则失败”、“权限被拒绝”、“故障排除”、“部署失败”

validate:

  • “审查firebase”、“检查firebase”、“验证”、“审计firebase”
  • “查看firebase代码”、“安全审查”

路由流程

  1. 分析请求: 检查路由关键词
  2. 匹配子技能: 基于关键词密度识别最佳匹配
  3. 宣布: “我正在使用firebase-development:[子技能]技能来[动作]”
  4. 路由: 加载并执行子技能
  5. 回退: 如果意图不明确,使用AskUserQuestion并提供4个选项

回退示例

如果意图不明确,询问:

问题: "您正在处理什么Firebase任务?"
选项:
  - "项目设置" (初始化新的Firebase项目)
  - "添加功能" (添加函数、集合、端点)
  - "调试问题" (排查错误或问题)
  - "验证代码" (根据模式进行审查)

参考项目

模式提取自三个生产Firebase项目:

项目 路径 关键模式
oneonone /Users/dylanr/work/2389/oneonone Express API、自定义API密钥、仅服务器写入
bot-socialmedia /Users/dylanr/work/2389/bot-socialmedia-server 按域分组的函数、Firebase Auth + 角色
meme-rodeo /Users/dylanr/work/2389/meme-rodeo 单独的函数文件、权限

模式摘要

多托管设置

基于需求的三种选项:

选项 何时使用 关键特性
基于site: 多个独立的URL 简单,无需构建协调
基于target: 需要预部署钩子 构建脚本自动运行
单一 + 重写 较小的项目 全部在一个域名下

详情: 参见docs/examples/multi-hosting-setup.md

身份验证

模式 何时使用 示例
自定义API密钥 MCP工具、服务器到服务器 oneonone
Firebase Auth + 角色 面向用户的应用 bot-socialmedia
混合模式 两种模式都需要 Web UI + API访问

详情: 参见docs/examples/api-key-authentication.md

云函数架构

模式 何时使用 结构
Express应用 带有中间件、路由的API app.post('/mcp', handler)
按域分组 功能丰富的应用 posts.tsjournal.ts
单独文件 最大模块化 每个文件一个函数

详情: 参见docs/examples/express-function-architecture.md

安全模型

模型 何时使用 复杂性
仅服务器写入 轻写入应用、高安全性 简单规则
客户端写入 + 验证 高写入量、实时 复杂规则

强烈建议轻写入应用使用仅服务器写入

详情: 参见docs/examples/firestore-rules-patterns.md

模拟器优先开发

始终使用模拟器进行本地开发:

firebase emulators:start
# 在 http://127.0.0.1:4000 访问UI

firebase.json中的关键设置:

  • singleProjectMode: true - 模拟器协同工作的关键
  • ui.enabled: true - 访问调试UI

详情: 参见docs/examples/emulator-workflow.md

现代工具标准

所有Firebase项目都遵循这些标准:

工具 目的 配置文件
TypeScript 类型安全 tsconfig.json
vitest 测试 vitest.config.ts
biome 代码检查 + 格式化 biome.json

ABOUTME注释模式

每个TypeScript文件都以2行的ABOUTME注释开头:

// ABOUTME: 此文件功能的简要描述
// ABOUTME: 第二行提供额外上下文

测试要求

  • 单元测试: 隔离测试处理器/实用程序
  • 集成测试: 在模拟器运行时测试
  • 每个功能都需要两者

常见陷阱

问题 解决方案
模拟器端口被占用 lsof -i :5001,终止进程
Admin SDK vs Client SDK Admin绕过规则,Client遵守规则
冷启动延迟 首次调用需要5-10秒,正常
数据持久化 使用Ctrl+C(非kill)导出数据
函数中的CORS app.use(cors({ origin: true }))

总结

此编排器路由到专门的子技能:

  1. 通过关键词检测意图
  2. 路由到适当的子技能
  3. 子技能使用TodoWrite清单
  4. 所有内容都引用docs/examples/中的共享模式

子技能:

  • firebase-development:project-setup - 初始化新项目
  • firebase-development:add-feature - 添加函数/集合
  • firebase-development:debug - 排查问题
  • firebase-development:validate - 审查代码