# scoreko-electron-dev Wrapper de Electron para empaquetar una instalación de NodeCG que incluya el bundle `scoreko-dev`, inspirado en `opeik/runback-electron` pero actualizado a Electron + TypeScript moderno. ## Requisitos clave - Node `>=22` (`.nvmrc` incluido). - Electron fijado en `39.5.1`. ## Qué hace - Arranca `lib/nodecg/index.js` como proceso hijo desde Electron. - Muestra la ruta de dashboard de carga del bundle (`/bundles//dashboard/loading.html`) servida por NodeCG mientras inicia. - Carga el dashboard del bundle en `http://localhost:/bundles//`. - Empaqueta NodeCG + assets dentro de la app final con `electron-builder`. ## Estructura esperada ```text scoreko-electron-dev/ ├─ lib/ │ └─ nodecg/ │ ├─ index.js │ ├─ node_modules/ │ └─ bundles/ │ └─ scoreko-dev/ ├─ src/main/main.ts ├─ static/icons/ └─ package.json ``` ## Scripts - `npm run dev`: modo desarrollo. - `npm run build`: compila TypeScript y copia assets. - `npm run start`: build y ejecución local. - `npm run test`: build + tests unitarios (`node:test`). - `npm run doctor`: preflight de configuración y entorno (`lib/nodecg`, permisos, puerto y env vars). - `npm run lint`: reglas mínimas de calidad con ESLint. - `npm run format`: validación de formato con Prettier. - `npm run pack`: genera app sin instalador. - `npm run dist`: genera instalador. ## Variables de entorno La **fuente única de defaults** está en `.env.example`. 1. Copia `.env.example` a `.env` (o exporta variables en tu shell/CI). 2. Ajusta sólo lo necesario. 3. Ejecuta `npm run doctor` para validar configuración antes de arrancar. ## Build multi-plataforma (iconos) - `build.win.icon`: `static/icons/icon.ico` - `build.linux.icon`: `static/icons` - `build.mac.icon`: `static/icons/icon.icns` > El `.icns` se referencia en la configuración de build y debe existir localmente para empaquetar macOS. ## Troubleshooting y arquitectura - Guía de troubleshooting: `docs/troubleshooting.md` - Mapa de arquitectura: `docs/architecture.md` - Roadmap: `docs/refactor-roadmap.md`