Ship
Login, connect, ship.
The CLI is how humans and agents authenticate a creator and publish a finished build.
npm install --global lokiplay
# or
npx lokiplay@0.3.8 <command>
lokiplay <login|init|connect|validate|ship|deploy|status> [directory] [--project <uuid>]
login
Starts a device-code flow. Prints a URL and a short code. You approve the terminal in the browser. The CLI stores a session under ~/.config/lokiplay/session.json (mode 600).
This release requires the API origin:
LOKI_API_URL=https://api.lokiplay.cc npx lokiplay@0.3.8 login
Never ask anyone to paste the access token.
init [directory]
Writes game.json (if missing) and AGENTS.md.
connect --project <uuid>
Confirms the logged-in creator can access that project. Writes .loki/project.json and AGENTS.md.
validate [directory]
Validates a build output directory: manifest, entrypoint, sandbox rules, no backend, no Nakama, no Socket.IO.
ship [directory] [--project <uuid>]
The command agents and humans should use: authenticate, connect if needed, build, copy game.json, validate, upload, wait for review, activate, verify the playable URL.
deploy [directory]
Uploads a zip of the given directory without the build / review / activate loop. Prefer ship.
status
Prints the linked project JSON, including the active deployment.
Environment
| Variable | Use |
|---|---|
LOKI_API_URL | Required for login. Production value is https://api.lokiplay.cc. |
LOKI_PROJECT_ID | Override the linked project |
LOKI_SHIP_TIMEOUT_MS | Review wait timeout (default 10 minutes, min 1000) |
LOKI_DEPLOY_CREDENTIAL_ID / LOKI_DEPLOY_SECRET | deploy only; ship mints its own |
Do not point a shipped game at localhost.