# Arquitectura del proceso principal ## Flujo de arranque 1. `src/main/main.ts` carga `appConfig` desde `config/runtime-config.ts`. 2. Crea ventanas (`windows/window-factory.ts`). 3. Arranca NodeCG con `nodecg/process-manager.ts`. 4. Espera readiness HTTP y muestra loading -> dashboard principal. 5. En cierre, ejecuta un único flujo de stop graceful para evitar procesos huérfanos. ## Módulos principales - `config/runtime-config.ts`: lectura/validación de env vars. - `nodecg/process-manager.ts`: start, readiness y stop de NodeCG, validaciones de instalación/permisos/puerto. - `windows/window-factory.ts`: creación de ventanas y política de navegación. - `windows/navigation-security.ts`: allowlist de navegación interna y esquemas externos seguros. - `errors/error-presenter.ts`: presentación de errores fatales. - `errors/logger.ts`: logging estructurado (`info/warn/error/debug`). ## Principios - Refactors mecánicos primero. - Hardening incremental con fallback conservador. - Validación automática por `typecheck`, `build`, `test`, `doctor`, `lint`.