Reference

CLI reference

Complete command reference for `@ellivateai/cli`. All commands accept `[name]` as an app identifier (slug or name). Bare `ellivate` is shorthand for `ellivate publish`.

Install

npm install -g @ellivateai/cli
# Node 20+ required

Verify:

ellivate --version

Commands

ellivate publish [path]

Publish your app. Updates in place if you've published from the same directory before; otherwise creates a new app.

Flags:

  • -n, --name <name> — override the auto-detected app name.
  • --new — force create a new app even if a previous publish exists in this directory.
  • --no-open — don't open the browser when publishing completes.

Examples:

ellivate publish
ellivate publish ./my-app
ellivate publish --name "Reading Tracker"
ellivate publish --new          # start over as a new app
ellivate                         # shorthand for 'ellivate publish'

ellivate dev

Run your app locally against the real Ellivate cloud — but with a sandboxed dev-only appId so writes never touch your live app's data. Detects the framework, spawns its dev server, sets the viewer cookie automatically, and opens your browser. Framework-native hot reload does the rest.

ellivate dev               # boot dev server + open browser
ellivate dev --port 4000   # override the framework's default port
ellivate dev --no-open     # skip the browser launch
ellivate dev --print       # legacy: print env vars + cookie steps

State persists at .ellivate/dev.json in the project folder (auto-gitignored). Phase 1 supports Next.js and static HTML; Flask, FastAPI, and Streamlit fall back to--print mode.

ellivate login

Authenticate the CLI. Opens your browser to app.ellivate.ai, lands a short-lived token in your shell, and saves it to ~/.ellivate/credentials.

ellivate login

ellivate logout

Remove stored credentials.

ellivate status / ellivate list

See all your published apps, their status, and URLs.

ellivate status

# my-grocery       LIVE     you.ellivate.ai/grocery
# reading-tracker  LIVE     you.ellivate.ai/reading

ellivate open [name]

Open an app in your browser. With no argument, uses the current project's app.

ellivate open
ellivate open my-grocery

ellivate share [name]

Show the vanity URL for an app and a QR code for easy phone hand-off.

ellivate share
ellivate share reading-tracker

ellivate env [name]

View or set environment variables.

Flags:

  • -l, --list — list detected env vars (default when no flag is passed).
  • -s, --set <KEY=value...> — set one or more environment variables.
ellivate env                           # list
ellivate env --set OPENAI_API_KEY=sk-...
ellivate env --set STRIPE_KEY=... TZ=UTC

ellivate logs [name]

View app details, current status, and any issues flagged by the publish pipeline or runtime.

ellivate logs
ellivate logs my-grocery

ellivate doctor [name]

Diagnose deployment issues. Runs a battery of checks (classifier output, SDK injection, handoff route, host binding, env vars) and reports specific failures.

ellivate doctor

ellivate stop [name]

Stop a running app. The app stays in your dashboard but serves no traffic until you republish.

ellivate restart [name]

Republish and restart. Convenient when you've rotated an env var or just want a fresh container.

Environment variables

The CLI respects these env vars at runtime:

  • ELLIVATE_API_URL — override the API base URL (default https://api.ellivate.ai). Used for local development against a custom API instance.
  • ELLIVATE_TOKEN — if set, overrides the credentials file. Useful for CI.

Credentials

The CLI stores your token at ~/.ellivate/credentials as JSON. Contains the API base URL, the token, and your user info. Delete the file to force a re-login.

Updating the CLI

npm install -g @ellivateai/cli@latest

The CLI is versioned; breaking changes are rare. Check ellivate --version against the latest on npm.

What's next