[
  {
    "name": "ai-chat",
    "title": "AI Chat",
    "category": "ai",
    "version": "0.2.0",
    "frameworks": [
      "react",
      "svelte",
      "vue",
      "angular",
      "vanilla",
      "blade"
    ],
    "ui": {
      "react": {
        "presentations": []
      },
      "svelte": {
        "presentations": []
      },
      "vue": {
        "presentations": []
      },
      "angular": {
        "presentations": []
      },
      "vanilla": {
        "presentations": []
      }
    },
    "description": "Núcleo headless de chat con IA (streaming compatible con OpenAI, fallback entre modelos, estimación de tokens, function calling con confirmación humana, historial local/backend) con adaptadores para React, Svelte, Vue, Angular y sin framework, más snippets de Blade. BYOK — la clave de API siempre viene de la configuración server-side de tu app, nunca va hardcodeada."
  },
  {
    "name": "auth-kit",
    "title": "Auth Kit",
    "category": "auth",
    "version": "0.1.0",
    "frameworks": [
      "react",
      "svelte",
      "vue",
      "angular",
      "vanilla"
    ],
    "ui": {
      "react": {
        "presentations": [
          "headless",
          "tailwind",
          "shadcn",
          "vanilla"
        ],
        "missing": [
          "change-password-form",
          "forgot-password-form",
          "login-form",
          "register-form",
          "reset-password-form",
          "turnstile-widget",
          "verify-email-form"
        ]
      },
      "svelte": {
        "presentations": [
          "headless",
          "tailwind",
          "shadcn",
          "vanilla"
        ],
        "missing": [
          "change-password-form",
          "forgot-password-form",
          "icons",
          "login-form",
          "register-form",
          "reset-password-form",
          "turnstile-widget",
          "verify-email-form"
        ]
      },
      "vue": {
        "presentations": [
          "headless",
          "tailwind",
          "shadcn",
          "vanilla"
        ],
        "missing": [
          "change-password-form",
          "forgot-password-form",
          "icons",
          "login-form",
          "register-form",
          "reset-password-form",
          "turnstile-widget",
          "verify-email-form"
        ]
      },
      "angular": {
        "presentations": [
          "headless",
          "tailwind",
          "shadcn",
          "vanilla"
        ],
        "missing": [
          "ChangePasswordForm",
          "ForgotPasswordForm",
          "LoginForm",
          "RegisterForm",
          "ResetPasswordForm",
          "TurnstileWidget",
          "VerifyEmailForm",
          "icons"
        ]
      },
      "vanilla": {
        "presentations": [
          "headless",
          "tailwind",
          "shadcn",
          "vanilla"
        ],
        "missing": [
          "TurnstileWidget",
          "change-password-form",
          "forgot-password-form",
          "login-form",
          "register-form",
          "reset-password-form",
          "turnstile-widget",
          "verify-email-form"
        ]
      }
    },
    "description": "Componente de autenticación todo en uno (login, registro, cambio de contraseña, olvido/restablecimiento de contraseña, verificación de email + reenvío) con un widget opcional de Cloudflare Turnstile y campos opcionales declarativos (nombre/apellidos, teléfono, consentimiento legal, tipo de perfil). Núcleo headless + hooks que conectas a tu propio backend — este componente no incluye credenciales ni servidor de autenticación. Adaptadores para React, Svelte, Vue, Angular y vanilla, cada uno con presentaciones headless/tailwind/shadcn/vanilla."
  },
  {
    "name": "auto-seo",
    "title": "Auto SEO (JSON-LD)",
    "category": "seo",
    "version": "0.1.1",
    "frameworks": [
      "agnostic"
    ],
    "description": "Núcleo headless e independiente del framework para generar datos estructurados Schema.org como JSON-LD (Article, Product, Organization, BreadcrumbList, WebSite, LocalBusiness, FAQPage). Sin clases, sin dependencia de ningún framework. El alcance (MVP, v1) es solo JSON-LD — OpenGraph y las vistas previas de tarjetas sociales quedan fuera de alcance."
  },
  {
    "name": "media-picker",
    "title": "Universal Media Picker",
    "category": "media",
    "version": "0.6.0",
    "frameworks": [
      "react",
      "svelte",
      "vue",
      "angular",
      "blade",
      "vanilla"
    ],
    "ui": {
      "react": {
        "presentations": [
          "headless",
          "tailwind",
          "shadcn",
          "vanilla"
        ],
        "missing": [
          "MediaLibraryModal"
        ]
      },
      "svelte": {
        "presentations": [
          "headless",
          "tailwind",
          "shadcn",
          "vanilla"
        ]
      },
      "vue": {
        "presentations": []
      },
      "angular": {
        "presentations": []
      },
      "vanilla": {
        "presentations": []
      }
    },
    "description": "Selector de medios headless (fuentes local/URL/biblioteca, recorte + compresión con canvas, proveedores S3-compatible, Cloudinary y Azure Blob) con adaptadores para React, Svelte, Vue y Angular, además de snippets Blade. Las credenciales viven siempre en tu propio backend de firmado, nunca en este componente."
  },
  {
    "name": "modals",
    "title": "Modals — Unified Overlay System",
    "category": "ui",
    "version": "0.2.0",
    "frameworks": [
      "react",
      "svelte"
    ],
    "ui": {
      "react": {
        "presentations": [
          "headless"
        ]
      },
      "svelte": {
        "presentations": [
          "headless",
          "tailwind",
          "shadcn",
          "vanilla"
        ]
      }
    },
    "description": "Sistema de superposiciones headless (modal, pantalla completa, banner superior/inferior, panel lateral, toast) con elegibilidad (segmentación, ventana de fechas, prioridad), limitación de frecuencia en cliente, programación de disparadores y un patrón de proveedor (sin base de datos ni backend integrados). Adaptadores para React y Svelte, mobile-first y accesible."
  }
]