Start packs — consumo y release
Cada release de datos es un paquete @zeus/startpack-<game> + acta + tarball. Dos canales: GitHub Release (tag + acta + tarball — operativo) y registry npm @zeus (por nombre — estado en Futuros).
La carga (loadStartPack) vive en @zeus/startpack-kit; cada @zeus/startpack-* es un thin wrapper (game + enrich). Sin copias del loader por juego.
Juegos soportados
| game | paquete | comando Notario |
|---|---|---|
delta | @zeus/startpack-delta | npm run release:startpack -- --game delta |
pozo | @zeus/startpack-pozo | npm run release:startpack -- --game pozo |
sketch | @zeus/startpack-sketch | npm run release:startpack -- --game sketch |
solve-coagula | @zeus/startpack-solve-coagula | npm run release:startpack -- --game solve-coagula |
plaza | @zeus/startpack-plaza | npm run release:startpack -- --game plaza |
ciudad | @zeus/startpack-ciudad · juego @zeus/ciudad · default de puerta tag/ref startpack-ciudad-v0.1.0 | npm run release:startpack -- --game ciudad |
Pipeline parametrizado (misma forma; no hay camino especial hardcodeado por juego).
Contenido de un start pack
manifest.json # schema zeus.startpack/v0
index.mjs # thin wrapper → @zeus/startpack-kit loadStartPack
seeds/ # gamemap + presets (delta) / scene (sketch) / story-board (solve, plaza)
volumes/ # VOLUMES sintéticos de arranque (fixtures)
acta/ACTA.md # sin acta no hay releaseKit compartido: packages/startpack-kit (@zeus/startpack-kit).
Instalar
Registry npm (@zeus)
Canal previsto para instalar por nombre (npm install @zeus/startpack-<game>). Estado del publish npm: ver Futuros. Mientras esté pendiente, usá el tarball del Release (abajo).
Tarball / GitHub Release
# tras Notario local o descarga del Release (versión = la del tag vivo):
npm install ./zeus-startpack-delta-<version>.tgz
# o URL del asset en GitHub ReleasesQué hay publicado ahora: Releases → GitHub Releases.
Arrancar una ronda desde el pack
export ZEUS_STARTPACK_ROOT=$(node -e "console.log(require('path').dirname(require.resolve('@zeus/startpack-delta/package.json')))")
# o unpack del tarball y apuntar ZEUS_STARTPACK_ROOT ahí
npm run demo:arg # autoridad delta aplica pack.env (VOLUMES + seed)
# ZEUS_STARTPACK_REQUIRED=1 fuerza fallo si no hay packHelpers:
scripts/resolve-startpack.mjs— resuelve pack instalado oZEUS_STARTPACK_ROOTscripts/notario-release.mjs— valida, escribe acta,npm pack, opcional--publish-github/--publish-npm
Pipeline Notario (GitHub Release)
npm run release:startpack -- --game delta --publish-githubCrea tag startpack-delta-v<version> con assets: tarball + acta.
El espejo GitHub Release cubre el consumo público. El publish al registry npm es un paso aparte del pipeline (credencial ops); no forma parte de la doctrina de este documento. Estado del publish: Futuros.
Default de puerta (entrante externo)
La puerta de externos (peercard → arranque) usa como base default el tag/ref startpack-ciudad-v0.1.0 (paquete @zeus/startpack-ciudad). Visible en federación ciudad (enterWithPuerta) y en operator-ui (window.__ZEUS__.puerta / POST /api/puerta/enter).
Tests
npm run test:startpack
npm run e2e:startpack