Empieza aquí

Personaliza tu producto

Define la identidad, los idiomas, el estilo visual, el tema, los datos legales y los sistemas opcionales antes de crear funciones propias.

Al terminar esta página, el starter tendrá el nombre, las rutas, los idiomas y el aspecto de tu producto, y cada sistema opcional tendrá una decisión explícita: conservar, adaptar o eliminar. Hazlo antes de cambiar pantallas concretas; la identidad y los límites del producto afectan a las URL, el correo, los textos legales, la analítica, la facturación y la consola de administración.

Qué incluye y qué debes decidir

ÁreaComportamiento incluidoTu decisión
Identidadsaas.config.json registra nombre, slug, soporte y URL de docsEjecuta el customizer y revisa el diff
SoporteEl email de soporte es un valor de producto trazadoDefine un correo real antes del lanzamiento; lo exige la validación de producción
IdiomasEstán disponibles inglés, chino, español, francés y japonés; los prefijos son as-neededElige idioma predeterminado, conjunto habilitado y detección del navegador
Lenguaje visualstudio es el preset de compilación compartido por web y adminConsérvalo o elige en código glass, soft, editorial o brutalist
Modo de colorLa app de clientes usa system por defecto mediante una variableElige system, light o dark; admin aún no tiene selector de modo
Páginas legalesUn borrador visible refleja los flujos de datos predeterminadosCompleta identidad y políticas y obtén revisión jurídica
Sistemas opcionalesHay código o adaptadores para cobros, almacenamiento, correo, Slack, analítica, referidos, tareas y reservasConserva y configura cada uno, o elimina a la vez UI, validación, rutas y documentación

Punto de partida recomendado

Usa un nombre real, conserva el modo system y el preset studio hasta estabilizar la arquitectura de información, y habilita solo los idiomas que tu equipo pueda mantener. Mantén desactivados analítica, publicidad, referidos y funciones de demostración hasta tener un motivo, textos para usuarios y un proceso operativo.

Las alternativas son válidas, pero añaden trabajo. Más idiomas amplían el público y la obligación de traducir. Un preset más marcado diferencia el producto, pero exige revisar modos claro/oscuro y admin. Activar una integración ahorra desarrollo, pero añade credenciales, fallos, divulgaciones de privacidad y soporte.

Configura identidad e idiomas

Ejecuta primero el customizer trazable:

pnpm customize

pnpm customize -- --name "Acme Cloud" --slug acme-cloud --preset glass --locales es,en --default-locale es --support-email support@example.com --docs-url https://docs.example.com --yes

El comando valida y escribe atómicamente saas.config.json, y solo sincroniza valores públicos en perfiles ignorados existentes; nunca toca secretos. --dry-run imprime el candidato y --no-env evita sincronizar. El gate de producción rechaza overrides que contradigan la identidad trazada.

Elige un preset visual

Elige el preset con el customizer o edita la configuración trazada:

{ "appearance": { "preset": "glass" } }

src/config/style.ts deriva el valor tipado desde saas.config.json. Web y admin comparten el preset; es una decisión de build, no un selector por usuario.

Configura la identidad legal en la sección legal de saas.config.json: entidad y domicilio, contactos de privacidad y asuntos legales, ley aplicable y fecha de vigencia. src/config/legal.ts lee esos valores; edítalo para el texto de políticas específico del producto y LegalData.subProcessors. Mientras falten campos obligatorios, LegalConfig.isConfigured permanece en false y las páginas muestran el aviso de borrador. Revisa la identidad y las políticas antes del lanzamiento.

El texto incluido es una estructura de trabajo, no asesoramiento jurídico ni una política terminada. Elimina proveedores que no uses, añade los que reciban datos personales, alinea la retención con el borrado de cuentas y solicita revisión profesional.

Define el límite del producto

Registra una de estas decisiones para cada sistema opcional:

  1. Conservar: configura credenciales, textos, monitorización, manejo de fallos y responsable.
  2. Adaptar: cambia la política o el proveedor tras la frontera de servicio existente y actualiza pruebas y guías.
  3. Eliminar: quita rutas, UI, validación de producción, trabajos y documentación en el mismo cambio. Una credencial vacía no es una decisión de producto.

Para lo que conserves, continúa con Planes y derechos, Facturación con Stripe, Carga de archivos y Despliegue y seguridad.

Verifica antes de crear funciones

pnpm config:check
pnpm config:check:prod
pnpm lint
pnpm test:run
pnpm build:web
pnpm build:admin

Comprueba que el idioma predeterminado no tenga prefijo, que cada idioma adicional resuelva, que el selector no ofrezca idiomas deshabilitados, que los enlaces de documentación y soporte cumplan lo prometido, que ambas apps compartan preset y que la web sea legible en claro y oscuro. Abre privacidad y términos: no publiques mientras siga el aviso de borrador o queden marcadores de política.

Lo que no está terminado por ti

pnpm customize ya ofrece el flujo de marca y configuración versionado. La selección de preset en ejecución, el modo oscuro de admin, el correo de soporte por entorno, la revisión legal y la elección de sistemas opcionales siguen siendo trabajo del equipo. El soporte se configura en product.supportEmail de saas.config.json.

Si activas medición o publicidad, toma esa decisión junto con Analítica y consentimiento, no como un valor de entorno aislado.

Instantánea del código fuente

Verificado con el commit e632762 del starter: