Docs / asobi CLI

asobi CLI

A single static binary (asobi) that scaffolds a game, runs a local backend, and deploys Lua bundles to managed environments. Running your own server? You only need asobi dev and asobi config.

Install

# Linux / macOS
curl -fsSL https://raw.githubusercontent.com/widgrensit/asobi-cli/main/install.sh | sh

# Windows (PowerShell)
irm https://raw.githubusercontent.com/widgrensit/asobi-cli/main/install.ps1 | iex

# or: winget install widgrensit.asobi

The installer drops the binary in ~/.local/bin (or %LOCALAPPDATA%\asobi\bin). asobi upgrade self-updates to the latest release.

From zero to deployed

asobi init mygame          # scaffold lua/match.lua + README
cd mygame
asobi dev                  # local Docker backend on http://localhost:8084 (no account)
# edit lua/*.lua - the container hot-reloads, no restart

asobi login                # browser device-code auth to console.asobi.dev
asobi use <game>           # pick the active game (list them: asobi games)
asobi create prod          # create an environment (default size xs)
asobi deploy prod lua      # zip + deploy the lua/ dir to env "prod"
asobi health               # verify the engine

init --template takes a genre starter (arena, chat, turn-based, world) or a full demo (defold, godot, unity, backend).

Commands

  • init [dir] [--template <name>] - scaffold a starter.
  • dev [--port N] [--dir <lua>] - local Docker backend, hot-reload.
  • login / logout / whoami - device-code auth to the dashboard.
  • games / use <slug> - list and select the active game.
  • create <name> [--size xs|s|m|l] / deploy <name> [dir] - create and deploy environments.
  • start / stop / resize --size <s> / delete - manage an environment.
  • envs / env list [--json] - human table / scriptable list. health [env] - engine check.
  • config set|show - self-host: config set url <engine> and config set api_key ak_....

Auth &amp; config

Two paths. Managed: asobi login runs an ECDH-encrypted browser device-code flow against console.asobi.dev and stores tokens in ~/.asobi/credentials.json (mode 0600). Self-host: skip login and set an ak_ engine key with asobi config set (stored in ~/.asobi/config.json). ASOBI_ACCESS_TOKEN overrides the stored token for CI.

What's next