# Introducción

> Qué es astro-ignite, por qué existe y qué obtienes de fábrica.

**astro-ignite** es un CLI estilo shadcn para crear sitios Astro listos para producción hechos para agentes de IA. Obtienes un sitio completo con SEO, i18n, rendimiento, plantillas legales y email ya cableados.

## Por qué molestarse

La mayoría de los starters de Astro se quedan en uno de dos extremos: un `hola mundo` mínimo que tienes que ensamblar tú, o un framework opinado que esconde las decisiones tras abstracciones. astro-ignite elige otro punto — valores opinados que el desarrollador posee por completo.

Obtienes:

- **Lighthouse 100 en móvil** desde el primer momento, verificado por CI
- **i18n nativo** con un único camino de código para sitios mono y multilingües
- **JSON-LD de Schema.org tipado** generado con `schema-dts`
- **Un formulario de contacto funcional** con Astro Actions, Zod y Resend o SMTP
- **Banner de cookies + plantillas legales** que no fingen ser asesoría legal
- **Geist Sans + Mono autoalojados** sin CLS al cambiar
- **Componentes Astro puros** — sin runtime de React/Vue/Svelte cargando la página

<Callout variant="note" title="Pre-1.0">
  La API y la forma de la plantilla pueden cambiar entre versiones menores. Consulta el ROADMAP para
  saber qué es estable y qué no lo es.
</Callout>

## Arquitectura

- **CLI estilo shadcn, no un framework.** `create-astro-ignite` es un scaffolder de un solo uso. Una vez instalado, desaparece de tu `node_modules` — sin imports, sin plugin, sin auto-update, sin telemetría.
- **Tres responsabilidades, tres paquetes.** El CLI vive en `packages/create-astro-ignite/`. Los proyectos Astro reales viven en `packages/templates/<kind>/` (`starter`, `docs`, …). Un registro de componentes estilo shadcn vive en `packages/registry/`. El CLI ensambla una plantilla; los átomos del registro vienen pre-instalados.
- **Las apps son salidas canónicas del scaffolding.** `apps/site` y `apps/docs` son espejos generados desde las plantillas, no fuentes.

## Stack técnico

- **Astro 6** con i18n nativo, content collections y Astro Actions (adaptador `@astrojs/node@^10`)
- **Tailwind v4** con utilidades que resuelven los design tokens `--color-*`; `<style>` con scope solo donde Tailwind no llega (keyframes, selectores de view-transition); `inlineStylesheets: 'always'` incrusta la hoja de estilos completa en el HTML en el primer paint — sin paso aparte de CSS crítico
- **Variables CSS como design tokens**; modo oscuro tri-estado mediante un cambio de clase
- **Astro + JS vanilla en todos los componentes** — sin React/Vue/Svelte/Radix en ninguna parte. Primitivas HTML nativas primero (`<details>`, `<dialog>`, popover API); custom elements solo cuando lo nativo no alcanza
- **`schema-dts`** para JSON-LD tipado compuesto vía `@graph`
- **Astro Actions + Zod** + Resend o SMTP para el formulario de contacto
- **Plausible**, gated por env y consentimiento; **Geist Sans + Mono autoalojados**
- **pnpm@9.15.0** workspaces, **tsup** para el CLI, **vitest**, **changesets**, **Lighthouse CI** (móvil + escritorio, gate duro)

## Lo que NO es

astro-ignite no es un framework. El paquete `astro-ignite` en npm es un CLI para crear y mantener tu proyecto — nunca acaba siendo una dependencia en runtime del sitio generado. Tras el scaffolding eres dueño de cada línea y puedes editar lo que quieras. El "eject" es gratis porque no hay nada de lo que escapar.

Tampoco es un CMS, un sistema de autenticación, ni un starter de e-commerce. Es un bootstrap de sitio.

## A dónde ir ahora

Para un recorrido por lo que obtienes de fábrica, dirígete a **Características**. Si quieres ver código, salta directo a **Inicio rápido**.
