CommunityProgramación y desarrollogithub.com

waynesutton/convex-schema-validator

Define y valida esquemas de base de datos con tipado adecuado, configuración de índices, campos opcionales, uniones y estrategias de migración para cambios de esquema.

¿Qué es convex-schema-validator?

Este skill proporciona una guía completa para definir y validar esquemas de base de datos en Convex, con énfasis en tipado estricto, configuración eficiente de índices, manejo de campos opcionales y uniones (unions), así como estrategias de migración para cambios de esquema. Es útil para desarrolladores que trabajan con Convex y necesitan asegurar la integridad y escalabilidad de sus datos, soportando plataformas como Convex y TypeScript. El skill explica cómo estructurar esquemas tipados, configurar índices compuestos y de búsqueda de texto, gestionar campos opcionales y enumeraciones tipo unión, y planificar migraciones que minimicen el tiempo de inactividad y pérdida de datos, basándose en la documentación oficial de SKILL.md.

Compatible con~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/waynesutton/convexskills/tree/main/skills/convex-schema-validator

Installed? Explore more Programación y desarrollo skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

¿Qué hace convex-schema-validator?

Define y valida esquemas de base de datos con tipado adecuado, configuración de índices, campos opcionales, uniones y estrategias de migración para cambios de esquema.

Resumen

Este skill te ayuda a:

  • Definir esquemas de base de datos tipados en Convex.
  • Configurar índices para optimizar consultas.
  • Manejar campos opcionales y enumeraciones tipo unión.
  • Planificar y ejecutar migraciones de esquema de forma segura.

Requisitos previos

  • Conocimiento básico de Convex y TypeScript.
  • Proyecto Convex configurado.

Uso

Definición de esquemas

Utiliza el validador de esquemas de Convex para definir tablas con tipado estricto:

import { defineSchema, defineTable } from "convex/server";
import { v } from "convex/values";

export default defineSchema({
  tasks: defineTable({
    text: v.string(),
    completed: v.boolean(),
    priority: v.union(v.literal("low"), v.literal("medium"), v.literal("high")),
    dueDate: v.optional(v.number()),
  })
    .index("by_priority", ["priority"])
    .index("by_completed_priority", ["completed", "priority"]),
});

Configuración de índices

Los índices mejoran el rendimiento de las consultas. Puedes definir índices compuestos y de búsqueda de texto:

.index("by_text", ["text"])
.searchIndex("search_text", {
  searchField: "text",
  filterFields: ["completed"],
})

Campos opcionales

Usa v.optional() para campos que no son obligatorios:

dueDate: v.optional(v.number()),

Uniones

Define tipos unión para campos con valores limitados:

priority: v.union(v.literal("low"), v.literal("medium"), v.literal("high")),

Migraciones

Para cambios de esquema, sigue estas estrategias:

  1. Agregar campos opcionales: Seguro de hacer en cualquier momento.
  2. Eliminar campos: Requiere migración de datos para eliminar el campo de documentos existentes.
  3. Actualizar índices: Elimina el índice antiguo antes de crear el nuevo.
  4. Cambiar tipos de campos: Puede requerir migración de datos.

Plataformas compatibles

  • Convex
  • TypeScript

Ejemplos completos

Mira la carpeta examples/ para ver implementaciones completas.

Contribuciones

¡Las contribuciones son bienvenidas! Por favor, abre un issue o pull request en el repositorio.

Individual skills in this repo

This repo contains 13 individual skills — each has its own dedicated page.

waynesutton/avoid-feature-creep

Prevent feature creep when building software, apps, and AI-powered products. Use this skill when planning features, reviewing scope, building MVPs, managing backlogs, or when a user says "just one more feature." Helps developers and AI agents stay focused, ship faster, and avoid bloated products.

waynesutton/convex

Umbrella skill for all Convex development patterns. Routes to specific skills like convex-functions, convex-realtime, convex-agents, etc.

waynesutton/convex-agents

Building AI agents with the Convex Agent component including thread management, tool integration, streaming responses, RAG patterns, and workflow orchestration

waynesutton/convex-best-practices

Guidelines for building production-ready Convex apps covering function organization, query patterns, validation, TypeScript usage, error handling, and the Zen of Convex design philosophy

waynesutton/convex-component-authoring

How to create, structure, and publish self-contained Convex components with proper isolation, exports, and dependency management

waynesutton/convex-cron-jobs

Scheduled function patterns for background tasks including interval scheduling, cron expressions, job monitoring, retry strategies, and best practices for long-running tasks

waynesutton/convex-file-storage

Complete file handling including upload flows, serving files via URL, storing generated files from actions, deletion, and accessing file metadata from system tables

waynesutton/convex-functions

Writing queries, mutations, actions, and HTTP actions with proper argument validation, error handling, internal functions, and runtime considerations

waynesutton/convex-http-actions

External API integration and webhook handling including HTTP endpoint routing, request/response handling, authentication, CORS configuration, and webhook signature validation

waynesutton/convex-migrations

Schema migration strategies for evolving applications including adding new fields, backfilling data, removing deprecated fields, index migrations, and zero-downtime migration patterns

waynesutton/convex-realtime

Patterns for building reactive apps including subscription management, optimistic updates, cache behavior, and paginated queries with cursor-based loading

waynesutton/convex-security-audit

Deep security review patterns for authorization logic, data access boundaries, action isolation, rate limiting, and protecting sensitive operations

waynesutton/convex-security-check

Quick security audit checklist covering authentication, function exposure, argument validation, row-level access control, and environment variable handling

Skills relacionados