Configuración y variables
Fuentes: .env.example, vite.config.ts, server/mcp/{config,runtime}.ts, server/billing/secrets.ts, src/main.tsx, src/lib/{firebase,firebaseTestConfig}.ts, scripts/grant-admin-role.mjs y runners en tests/browser. Inventario: 21 nombres configurables o proporcionados por herramientas; MODE es además una propiedad integrada de Vite.
| Nombre | Fuente | Ámbito y confidencialidad |
|---|---|---|
GEMINI_API_KEY |
.env.example |
Secreto de servidor anunciado para AI Studio; no se encontró consumidor directo en el código actual. |
APP_URL |
.env.example |
URL no secreta anunciada para AI Studio; no se encontró consumidor directo actual. |
VITE_EDITOR_HOSTS |
src/main.tsx |
Público, incorporado al cliente en build; lista de hosts del editor separada por comas. |
MCP_ISSUER_URL |
server/mcp/config.ts |
Origen público HTTPS; build y servidor. |
MCP_APP_ORIGIN |
server/mcp/config.ts |
Origen público HTTPS de la aplicación; build y servidor. |
MCP_ALLOWED_ORIGINS |
server/mcp/config.ts |
Orígenes HTTPS adicionales separados por comas; build y servidor; no secreto. |
MCP_FIREBASE_PROJECT_ID |
server/mcp/config.ts |
Identificador no secreto del proyecto; build y servidor. |
FIREBASE_ADMIN_CREDENTIALS |
server/mcp/runtime.ts, script de roles |
JSON secreto Admin, solo servidor u operación administrativa; alternativa a ADC. |
BILLING_ENCRYPTION_KEY |
server/billing/secrets.ts |
Secreto exclusivo del servidor: 32 bytes codificados en base64 para cifrado de credenciales comerciales. |
NODE_ENV |
server/mcp/config.ts |
Modo de proceso no secreto; test forma parte del aislamiento de emuladores. |
FIRESTORE_EMULATOR_HOST |
server/mcp/config.ts, pruebas |
Host local no secreto; CLI lo entrega a los tests. Fuera del modo demo local es rechazado. |
FIREBASE_AUTH_EMULATOR_HOST |
server/mcp/config.ts, pruebas |
Host local no secreto; misma restricción que Firestore. |
VITE_MCP_TEST_FIREBASE_PROJECT_ID |
src/lib/firebase.ts |
Público, solo pruebas: proyecto demo explícito. |
VITE_FIRESTORE_EMULATOR_HOST |
src/lib/firebase.ts |
Público, solo pruebas: loopback con puerto explícito. |
VITE_FIREBASE_AUTH_EMULATOR_HOST |
src/lib/firebase.ts |
Público, solo pruebas: loopback con puerto explícito. |
VERCEL |
server/mcp/runtime.ts |
Variable de sistema del alojamiento; activa confianza en el ingreso Vercel cuando vale 1. No simularla en servidores expuestos directamente. |
DISABLE_HMR |
vite.config.ts |
Desarrollo, no secreto; true desactiva HMR y vigilancia. |
PLAYWRIGHT_CHROMIUM_EXECUTABLE |
runners de navegador | Ruta local opcional, no secreta; alternativa al Chromium instalado por Playwright. |
CHROMIUM_PATH |
runners de funnels/columns | Ruta local opcional, no secreta; usada por esos runners, no por todos. |
WOOKCOM_BROWSER_FORCE_DEPS |
tests/browser/ui/check-wookcom.cjs |
Pruebas, no secreto; activa --force al iniciar Vite. |
WOOKCOM_BROWSER_LOG |
tests/browser/ui/check-wookcom.cjs |
Pruebas, no secreto; ruta de diagnóstico local. |
import.meta.env.MODE lo determina Vite; el modo mcp-test es obligatorio para el cliente de emuladores. No es un secreto ni una variable que haya que copiar a .env.local. ADC es el mecanismo de credenciales por defecto del SDK Admin, no un nombre de variable propio de este repositorio; su configuración depende del entorno.
Vite carga configuración local mediante loadEnv y combina después process.env, que tiene precedencia. Los valores VITE_* son públicos: nunca introducir claves Admin, tokens o la clave de facturación con ese prefijo. Los JSON firebase-applet-config.json y apps/admin/firebase-config.json contienen configuración de cliente, no credenciales de cuenta de servicio; CI exige que sean idénticos.
Los orígenes MCP no admiten rutas, consultas, fragmentos ni credenciales. HTTP solo se admite para pruebas con NODE_ENV=test, proyecto demo-nexusbuilder y loopback. El runtime sin configuración devuelve 503. Activación MCP explica la sincronización entre metadatos del build y runtime.
Carencias documentadas: .env.example no enumera la clave de facturación ni todas las variables de pruebas; no hay gestor de secretos ni validador global de entorno configurado en este árbol. Esta documentación registra el estado, sin modificar configuración.
