⚠️ Proyecto retirado. CMS-Loader ya no se mantiene ni está desplegado. La última versión es la v1.2.5 (octubre de 2026). Sus dependencias no recibirán más actualizaciones de seguridad y el hardening de ejecución de CLI descrito endocs/superpowers/specs/2026-09-04-cli-exec-security-hardening-design.mdnunca se implementó. No lo despliegues tal cual; si lo reutilizas, actualiza las dependencias y aplica ese plan primero.
Herramienta web de administración para cargar usuarios y participaciones en masa a una instalación de CMS mediante archivos CSV. Invoca los CLI cmsAddUser y cmsAddParticipation del sistema de forma segura desde el navegador. Diseñada para uso interno por administradores de concursos de programación.
Backend: Express 5, TypeScript, tsx, express-session, csrf-csrf, multer
Frontend: Preact 10, @preact/signals, Vite 6, TypeScript
- Node.js 22+ y pnpm
- CMS instalado con
cmsAddUserycmsAddParticipationdisponibles en el PATH, o accesibles mediante un script de entorno (verCMS_ENV_SCRIPTen docs/setup.md)
cp .env.example .env # completar las variables requeridas
pnpm installEjecutar en dos terminales:
# Terminal 1
pnpm run dev:backend # Express en http://localhost:9995# Terminal 2
pnpm run dev:frontend # Vite en http://localhost:5173Acceder a http://localhost:5173 — la aplicación pedirá usuario y contraseña de administrador (definidos en .env).
pnpm run build # compila el SPA Preact a client/dist/pnpm start # build + tsx src/index.ts en el puerto PORT (default 9995)El proyecto utiliza Conventional Commits con semantic-release. Al hacer git push origin main, Husky ejecuta semantic-release automáticamente: actualiza package.json, genera CHANGELOG.md y crea un tag git.
| Prefijo | Efecto |
|---|---|
feat: |
Incremento menor (0.x.0) |
fix: |
Incremento de parche (0.0.x) |
feat!: / BREAKING CHANGE: |
Incremento mayor (x.0.0) |
chore:, docs:, test: |
Sin release |
La versión actual se muestra en el pie de página de la aplicación.