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
| Comando | Qué 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 logout | Olvida 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
| Comando | Qué 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.
| Comando | Qué 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
| Comando | Qué 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
| Variable | Uso |
|---|---|
GAMEALIA_API_KEY | Una 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_URL | URL base de la API (por defecto https://gamealia.app/api/v1) |
GAMEALIA_CHROMIUM | Binario 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.