Ahora con creación de páginas por IA vía el servidor MCP

Variables de entorno

Tres valores obligatorios, unos cuantos opcionales y las variables que son tuyas y no del CMS.

Una app de cmssy lee dos clases de valor: lo que da el workspace y lo que decide tu propia app. Toda esta página va de mantenerlos separados.

Obligatorias

Cópialas de Settings → Headless en el panel, o deja que npx @cmssy/cli link las escriba en .env.local.

VariableQué es
CMSSY_ORG_SLUGEl slug de tu organización. Va en la ruta de entrega: por eso un slug de workspace solo tiene que ser único dentro de su organización.
CMSSY_WORKSPACE_SLUGEl workspace cuyo contenido renderiza esta app.
CMSSY_DRAFT_SECRETProtege la vista previa de borrador y el modo edición. Se genera por workspace: no es una cadena que te inventes.

Pásalas a defineCmssyConfig en crudo. Un fallback ?? "" convierte una variable ausente en una vacía, y el error aflora después, en otro sitio.

Opcionales, y cuándo hacen falta

VariableCuándo
CMSSY_API_TOKENUn token cs_. Necesario para la capa de dev draft ?cmssyDev=1 y lo lee cmssy link. Solo desarrollo: dejarlo puesto no cambia lo que ven los visitantes.
CMSSY_API_URLSobrescribe el endpoint de entrega. Por defecto https://api.cmssy.io; ponlo solo si te auto-alojas o usas un backend de staging.
CMSSY_EDITOR_ORIGINEl origen del panel autorizado a enmarcar tu sitio. Por defecto la nube de cmssy; ponlo solo si alojas el panel, porque gobierna el puente postMessage y la CSP frame-ancestors.

Tuyas, no del CMS

Estas no son opciones de cmssy. cmssy guarda contenido canónico, nunca tu dominio, tus IDs de analítica ni los secretos de tus rutas.

VariableQué es
CMSSY_REVALIDATE_SECRETProtege tu propia ruta /api/revalidate. Tú inventas el valor y le das el mismo al webhook content.changed: ver webhooks.
NEXT_PUBLIC_SITE_URLTu origen público. De ahí salen las URL canónicas, las alternativas hreflang y el sitemap.
NEXT_PUBLIC_GA_ID, NEXT_PUBLIC_GTM_IDAnalítica y tag manager. Condiciona su render a que existan, para que los despliegues de preview y las ejecuciones locales no entren en tus números: ver scripts.

Solo servidor significa solo servidor

Todas las variables CMSSY_* de arriba son de servidor. Next solo envía NEXT_PUBLIC_* al navegador, así que un componente cliente que lea la configuración no recibe un valor equivocado: no recibe ninguno.

Ese es el fallo con el que se topa la gente: defineCmssyConfig se queja de variables ausentes cuando están bien puestas. La causa es un import, no el entorno: un componente "use client" sacó un valor de un módulo que lee la configuración. Los tipos no importan, se borran. Los valores arrastran process.env al bundle.

Mantén los secretos fuera del control de versiones y define las mismas variables en tu hosting para producción.

Siguientes pasos