ASD

Firebase Data Connect

Construye y despliega backends de Firebase SQL Connect (antes Data Connect) con PostgreSQL de forma segura, incluyendo esquemas, queries/mutations autorizadas, tiempo real y SDKs type-safe.

Oficial
Estrellas
406

en todo el repo

Actividad
62

0–100, la ruta de este skill

Actualizado
hace 7 días

último commit aquí

Commits
3

últimos 90 días

Contexto
2.4k tok

94 tok en reposo

Paquete
17 archivos

119 KB

Instalar

Funciona con cualquier agente que lea SKILL.md

npx -y skills add firebase/agent-skills --skill firebase-data-connect-basics --agent claude-code

Se instala solo en este repositorio.

Qué hace

  • Define esquemas GraphQL con tablas y relaciones para PostgreSQL vía @table/@col
  • Escribe queries y mutations autorizadas con @auth, @check y @redact
  • Configura actualizaciones en tiempo real con @refresh y suscripciones
  • Genera SDKs type-safe para web, Android, iOS, Flutter y Admin Node.js
  • Valida y despliega el backend con firebase-tools (compile, sdk:generate, deploy)

Úsalo cuando

  • Diseñar esquemas con tablas y relaciones
  • Escribir queries y mutations autorizadas
  • Configurar actualizaciones de datos en tiempo real
  • Generar SDKs type-safe o cuando el usuario menciona SQL Connect o Data Connect

No lo uses cuando

    Qué lo activa

    Di cualquiera de estas frases y el agente debería cargar este skill.

    • Crea un esquema de películas con tablas y relaciones en SQL Connect
    • Añade una mutation de upsert para el perfil de usuario
    • Configura suscripciones en tiempo real con @refresh
    • Genera el SDK de TypeScript para mi conector de Data Connect

    SKILL.md

    En inglés

    Firebase SQL Connect

    Firebase SQL Connect is a relational database service using Cloud SQL for PostgreSQL with GraphQL schema, auto-generated queries/mutations, and type-safe SDKs.

    [!NOTE] Product Rename: Firebase Data Connect was renamed to Firebase SQL Connect. All instructions, references, and examples in this skill repository referring to "Data Connect" or "Firebase Data Connect" apply to "SQL Connect" and "Firebase SQL Connect" as well.

    Project Structure

    dataconnect/
    ├── dataconnect.yaml      # Service configuration
    ├── seed_data.gql         # LOCAL ONLY — prototype/test data
    ├── schema/
    │   └── schema.gql        # Data model (types with @table)
    └── connector/
        ├── connector.yaml    # Connector config + SDK generation
        ├── queries.gql       # Queries
        └── mutations.gql     # Mutations
    

    Key Tools for Validation

    Rely on these two mechanisms to ensure project correctness:

    1. Review GraphQL Schema: Both user-defined and generated extensions (in .dataconnect/schema/main/).
    2. Validate Operations: Run npx -y firebase-tools@latest dataconnect:compile against the schema.

    Operation Strategies: GraphQL vs. Native SQL

    Always default to Native GraphQL. Native SQL lacks type safety and bypasses schema-enforced structures. Only use Native SQL when the user explicitly requests it or when the task requires advanced database features.

    Strategy When to use Implementation
    Native GraphQL (Default) Almost all use cases. Standard CRUD, basic filtering/sorting, simple relational joins. Requires full type safety. Auto-generated fields (movie_insert, movies). Strong typing and schema enforcement.
    Native SQL (Advanced) PostgreSQL extensions (e.g., PostGIS), window functions (RANK()), complex aggregations, or highly tuned sub-queries. Raw SQL string literals via _select, _execute, etc. Requires strict positional parameters ($1). No type safety.

    Development Workflow

    Follow this strict workflow to build your application. You must read the linked reference files for each step to understand the syntax and available features.

    1. Define Data Model (schema/schema.gql)

    Define your GraphQL types, tables, and relationships (which map to a Postgres schema).

    Read reference/schema.md for:

    • @table, @col, @default
    • Relationships (@ref, one-to-many, many-to-many)
    • Data types (UUID, Vector, JSON, etc.)

    2. Define Authorized Operations (connector/queries.gql, connector/mutations.gql)

    Write the queries and mutations your client will use, including authorization logic. SQL Connect is secure by default.

    Read reference/operations.md for:

    • Queries: Filtering (where), Ordering (orderBy), Pagination (limit/offset).
    • Mutations: Create (_insert), Update (_update), Delete (_delete).
    • Upserts: Use _upsert to "insert or update" records (CRITICAL for user profiles).
    • Transactions: Use @transaction for multi-step atomic operations. Use _expr: "response.<prevStep>" to pass data between steps.

    Read reference/security.md for authorization:

    • @auth(level: ...) for PUBLIC, USER, or NO_ACCESS.
    • @check and @redact for row-level security and validation.

    Read reference/realtime.md for real-time subscriptions:

    • @refresh directive for time-based polling and event-driven updates.
    • CEL conditions to scope refresh triggers precisely.

    Read reference/native_sql.md for Native SQL operations:

    • Embedding raw SQL with _select, _selectFirst, _execute
    • Strict rules for positional parameters ($1, $2), quoting, and CTEs
    • Advanced PostgreSQL features (PostGIS, Window Functions)

    3. Use type-safe SDK in your apps

    Generate type-safe code for your client platform.

    Configure SDK generation in connector.yaml:

    connectorId: my-connector
    generate:
      javascriptSdk:
        outputDir: "../web-app/src/lib/dataconnect"
        package: "@movie-app/dataconnect"
      kotlinSdk:
        outputDir: "../android-app/app/src/main/kotlin/com/example/dataconnect"
        package: "com.example.dataconnect"
      swiftSdk:
        outputDir: "../ios-app/DataConnect"
    

    Generate SDKs:

    npx -y firebase-tools@latest dataconnect:sdk:generate
    

    For platform-specific instructions on how to use the generated SDKs, read:


    Feature Capability Map

    If you need to implement a specific feature, consult the mapped reference file:

    Feature Reference File Key Concepts
    Data Modeling reference/schema.md @table, @unique, @index, Relations
    Vector Search reference/search.md Vector, @col(dataType: "vector"), embeddings
    Full-Text Search reference/search.md @searchable, movies_search
    Upserting Data reference/operations.md _upsert mutations
    Complex Filters reference/operations.md _or, _and, _not, eq, contains
    Transactions reference/operations.md @transaction, response binding
    Environment Config reference/config.md dataconnect.yaml, connector.yaml
    Realtime Subscriptions reference/realtime.md @refresh, subscribe(), auto-refresh
    Cloud Functions Integration reference/cloud_functions.md onMutationExecuted, triggering events
    Data Seeding & Migrations reference/data_seeding.md seed_data.gql, _insertMany, Admin SDK bulk
    Starter Templates templates.md CRUD, user-owned resources, many-to-many, SDK init

    Deployment & CLI

    Read reference/config.md for deep dive on configuration.

    Follow these patterns based on your current task:

    How to initialize SQL Connect in a Firebase project

    1. Understand the app idea. Ask clarification questions if unclear.
    2. Run npx -y firebase-tools@latest init dataconnect.
    3. Validate that the app template and generated SDK are setup.

    How to build apps using SQL Connect locally

    1. Start the emulator: npx -y firebase-tools@latest emulators:start --only dataconnect.
    2. Write schema and operations.
    3. Seed local test data into seed_data.gql. Read reference/data_seeding.md.
    4. Run npx -y firebase-tools@latest dataconnect:compile or npx -y firebase-tools@latest dataconnect:sdk:generate to validate them.
    5. Use the operations in your app and build it.

    How to deploy SQL Connect to Cloud SQL

    1. Run npx -y firebase-tools@latest deploy --only dataconnect.

    Examples

    For complete, working code examples of schemas and operations, see examples.md.

    For ready-to-use starter templates (CRUD, user-owned resources, many-to-many, YAML configs, SDK init), see templates.md.

    Reproducido de firebase/agent-skills bajo licencia Apache-2.0. Leer esta página en markdown.

    Archivos

    17 archivos en el paquete. Solo se lee SKILL.md al activarse — las referencias se cargan si el skill decide que las necesita.

    Antes de instalar

    Requiere firebase-tools (via npx) y un proyecto Firebase con Cloud SQL para PostgreSQL.

    Necesita en el PATH:npx

    Detalles

    Creador
    firebase
    Categoría
    Bases de datos
    Licencia
    Apache-2.0
    Recursos incluidos
    Incluye scripts o referencias
    Código fuente
    Ver SKILL.md

    Etiquetas

    Más de firebase/agent-skills

    Este repo incluye 12 skills. Si instalas uno, normalmente ya tienes los demás.

    Skill oficial para integrar Firebase AI Logic (Gemini API) en apps. Cubre configuración, inferencia multimodal, salida estructurada y seguridad.

    Costo de contexto al activarse
    2.3k tok
    Tamaño del paquete
    5 archivos
    Última actualización
    hace 7 días
    Oficialdesarrollo apis

    Guía para configurar y usar Firebase Authentication. Úsala cuando la app necesite inicio de sesión de usuarios, gestión de usuarios o acceso seguro a datos mediante reglas de auth.

    Costo de contexto al activarse
    1k tok
    Tamaño del paquete
    6 archivos
    Última actualización
    hace 7 días
    Oficialseguridad

    Configura la base de Firebase: instala/verifica la CLI, gestiona login (incl. --no-localhost), crea o selecciona proyectos y descarga los archivos de configuración de la app.

    Costo de contexto al activarse
    1.8k tok
    Tamaño del paquete
    20 archivos
    Última actualización
    hace 7 días
    Oficialdevops infraestructura

    Configura, gestiona, consulta y ajusta bases de datos Cloud Firestore (edición Standard/Enterprise): modelado de datos, reglas de seguridad, índices e integraciones SDK (Web, Python, iOS, Android, Flutter).

    Costo de contexto al activarse
    991 tok
    Tamaño del paquete
    17 archivos
    Última actualización
    hace 7 días
    Oficialbases de datos

    Convierte una Firebase Extension instalada (o su código fuente) en un codebase de Cloud Functions independiente o en un paquete npm publicable, con upgrade de triggers V1 a V2, lifecycle hooks y seguridad declarativa.

    Costo de contexto al activarse
    1.1k tok
    Tamaño del paquete
    4 archivos
    Última actualización
    hace 7 días
    Oficialdevops infraestructura

    Audita reglas de seguridad de Firebase (Firestore, Cloud Storage): vulnerabilidades, escalada de privilegios, bypasses de roles, inconsistencias create/update y falta de comprobaciones hasOnly() de ownership.

    Costo de contexto al activarse
    962 tok
    Tamaño del paquete
    1 archivo
    Última actualización
    hace 7 días
    Oficialseguridad

    Skills relacionados

    Controla un emulador o dispositivo Android desde Orca con el CLI `orca`: AVDs, taps, swipes, tecleo, botones físicos, rotación, apps, permisos, árbol de accesibilidad y logcat.

    Costo de contexto al activarse
    882 tok
    Tamaño del paquete
    1 archivo
    Última actualización
    hace 22 días
    Oficialherramientas desarrollo

    Controla un emulador/simulador móvil (iOS) desde Orca con la CLI `orca`: taps, gestos, tipeo, botones, cámara, permisos y árbol de accesibilidad, viendo la vista en vivo en Orca.

    Costo de contexto al activarse
    931 tok
    Tamaño del paquete
    1 archivo
    Última actualización
    hace 22 días
    Oficialherramientas desarrollo

    Usa la orquestación de Orca para coordinación multi-agente estructurada: mensajes en hilo, ask/reply bloqueante, dispatch de tareas, waits de worker_done/escalación, DAGs, gates de decisión y loops de coordinador.

    Costo de contexto al activarse
    1.1k tok
    Tamaño del paquete
    1 archivo
    Última actualización
    hace 22 días
    Oficialautomatizacion