Línea de comandos (CLI)

gamealia es el mismo motor que el servidor MCP, para la terminal y para scripts. Necesita Node.js 22 o más nuevo.

Instalación

La CLI es un solo archivo, gamealia.mjs, más la carpeta assets/ que sirve para el autotest local y la vista previa (los mismos archivos que los del servidor MCP):

mkdir -p ~/.config/gamealia/assets/sdk && cd ~/.config/gamealia
for f in gamealia.mjs assets/harness.html assets/preview.html assets/sdk/v1.js assets/sdk/crazygames.js assets/sdk/poki.js; do
  curl -fsSL "https://gamealia.app/downloads/$f" -o "$f" || break
done
chmod +x gamealia.mjs && alias gamealia="$HOME/.config/gamealia/gamealia.mjs"

test, preview y cover además necesitan playwright-core y un Chromium headless: mirá Navegador local.

gamealia --help muestra el resumen y gamealia --version la versión. Códigos de salida: 0 ok, 1 error (o un test o una subida que falló), 2 uso incorrecto.

Cuenta

ComandoQué hace
gamealia login [--no-open] [--account <id>]Inicia sesión con tu navegador (código de dispositivo) y guarda una clave de API en ~/.config/gamealia/credentials.json (modo 600). La clave queda atada a una cuenta de desarrollador: --account la elige; si no, tu cuenta por defecto. Abre la página solo si está en el mismo host que la API
gamealia logoutOlvida las claves guardadas (de todas las cuentas)
gamealia whoami [--json]El usuario con el que iniciaste sesión, la cuenta actual y tu rol en ella, y de dónde sale la clave
gamealia accounts [--json]Tus cuentas de desarrollador: id, nombre, tipo (individual o empresa) y tu rol, con * en la actual, y las invitaciones pendientes
gamealia accounts switch <id|nombre> [--no-open]Pasa a otra cuenta: con su clave guardada, o con un login en el navegador atado a ella si no hay ninguna
gamealia accounts accept <id-invitación>Acepta una invitación pendiente de las que lista gamealia accounts

Todos los demás comandos actúan sobre la cuenta actual, con tu rol en ella. Si el rol no permite algo, el error dice qué roles pueden hacerlo: pedíselo a un owner o admin de la cuenta. Mirá Cuentas y equipos.

Proyecto

ComandoQué hace
gamealia new <dir> [--template vanilla|phaser|pixi|multiplayer] [--title T]Crea un juego nuevo ya integrado con el SDK
gamealia analyze [dir] [--json]Motor, comando de build, carpeta de salida, SDKs encontrados, claves de localStorage, tamaño, problemas de políticas (archivo:línea) y los permisos a declarar
gamealia init [dir] [--write]Integra el SDK. Sin --write solo muestra el diff. Lista TODOs para las llamadas de juego y de anuncios que ubicás vos. En Unity instala Packages/com.gamealia.sdk/ y la plantilla WebGL; en Godot, addons/gamealia/; los scripts de CrazyGames y Poki se cambian por los shims
gamealia test [dir] [--no-build] [--json]Compila (si el proyecto tiene build) y corre el autotest en tu máquina. Sale con código 1 si falla un chequeo obligatorio
gamealia preview [dir] [--no-build] [--open] [--title T]Sirve el juego dentro de una copia local de la página del portal (anuncios simulados) hasta Ctrl+C
gamealia cover <captura.png> --title T [--out dir]Genera cover (1200x630) y thumb (512x512) a partir de una captura

Publicación

Primero tiene que existir la ficha del juego: creala en el portal de desarrolladores o con la herramienta del MCP gamealia_create_game. Después la CLI trabaja con su slug.

ComandoQué hace
gamealia publish [dir] --game <slug> [--notes N] [--submit] [--wait] [--no-build]Compila, comprime, sube, espera el autotest del servidor y muestra el resultado. --submit además la envía a revisión si pasa; --wait espera a una versión anterior que todavía se está probando en vez de fallar
gamealia submit <slug> [--notes N]Envía a revisión la última versión que pasó el autotest
gamealia abort <slug>Cancela subidas interrumpidas que bloquean una versión nueva
gamealia permissions <slug> --microphone --camera --why "..."Declara los permisos del dispositivo con la justificación que lee el revisor (10-1000 caracteres). --none los quita
gamealia status <slug> [--json]Estado de la ficha, versión publicada, últimas versiones, resultado del autotest, motivos de rechazo y permisos
gamealia status <slug> --texts [--json]Los textos de la ficha por idioma y su estado (developer, machine, missing), con los límites: mirá Traducir la ficha

Un envío se rechaza si la ficha pide un permiso que todavía no está publicado y no tiene justificación; el error dice qué comando gamealia permissions correr.

Agentes de IA

ComandoQué hace
gamealia agents install [agentes] [--project | --global] [--dry-run]Registra el servidor MCP e instala los skills o reglas. Sin agentes: los detectados (--all para todos)
gamealia agents uninstall [agentes]Quita lo que agregó install (por defecto: en todos los agentes)
gamealia agents list [--json]Agentes soportados; * marca los detectados

Agentes: --claude-code, --claude-desktop, --codex, --gemini, --cursor, --vscode, --windsurf, --cline, --zed, --opencode, --agents-md. Otras opciones: --dir D (la carpeta del proyecto para --project), --from F (copia el servidor desde F en vez de descargarlo), --server-path F (registra F sin copiar nada), --no-server (no copia ni descarga el servidor), --json.

Variables de entorno

VariableUso
GAMEALIA_API_KEYUna clave de API (portal de desarrolladores → IA y claves de API) en lugar de login; ideal para CI. Está atada a la cuenta para la que se creó, así que accounts switch no funciona mientras esté definida
GAMEALIA_API_URLURL base de la API (por defecto https://gamealia.app/api/v1)
GAMEALIA_CHROMIUMBinario de Chromium headless para test, preview y cover

En CI

export GAMEALIA_API_KEY=...        # portal de desarrolladores → IA y claves de API
gamealia test . && gamealia publish . --game mi-juego --notes "$GIT_COMMIT_MESSAGE"

Enviar a revisión sigue siendo una decisión de una persona: corré gamealia submit (o --submit) cuando realmente quieras.