Start
Spin up a Glow instance from zero and make your first authenticated request. Pinned Glow API v1.0.52 · CLI v1.0.6 (see api-versions.json for the live pin).
1 — Install the CLI
The glow CLI is the canonical entry point for deploying and operating
an instance. Install via Homebrew (macOS / Linux):
brew install learnloopllc/glow/glow
glow --version # → glow 1.0.0Build-from-source instructions live in the
glow-academic-cli README.
2 — Scaffold + deploy an instance
# Interactive wizard — writes ~/.glow/instances/<name>/glow-deploy.yaml
glow init my-school
# First-time deploy (pulls images, brings up postgres / api / client / keycloak)
glow deploy my-school
# Verify all containers are healthy
glow status my-schoolThe wizard collects the origin URL, AI provider + key, seed template,
and optional OIDC. Re-running glow init <name> overwrites the yaml
idempotently.
Lifecycle commands you’ll use most:
| Command | Purpose |
|---|---|
glow deploy <name> | first-time bring-up |
glow redeploy <name> | roll a new version (auto-backup + blue/green swap) |
glow stop <name> / start <name> | pause/resume (data + network intact) |
glow destroy <name> | tear down containers + volumes (asks twice) |
glow status <name> | container state + per-service health |
glow logs <name> [-f] | tail docker compose logs |
glow backup <name> | manage local pg_dump snapshots |
3 — Authenticate
# Opens a browser → Keycloak login → drops a token into ~/.config/glow
glow login --instance-url https://my-school.example.comAfter login, every command uses the stored bearer token automatically. Details + service-account flow: see Authentication.
4 — Make your first call
The CLI dispatches every artifact action through a generic plural-name
pattern: glow <plural-resource> <action>. There is no top-level
/v5, /generate, /stream, or /health route — those are reached
through their owning artifact.
# List personas
glow personas search
# Get one
glow personas get --body '{"persona_id": "your-persona-uuid"}'
# Real health artifact (POST /system/health, returns rich status)
glow system health
# Who am I? (POST /<any-artifact>/context returns ComposedContextResponse)
glow profiles contextEquivalent raw HTTP (no /v5 prefix, singular paths). Export
$GLOW_INSTANCE_URL + $GLOW_TOKEN once and the examples throughout
these docs are copy-paste-ready — see Authentication:
curl -X POST $GLOW_INSTANCE_URL/persona/search \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $GLOW_TOKEN" \
-d '{}'CLI global flags
| Flag | Env | Purpose |
|---|---|---|
--instance-url <url> | GLOW_INSTANCE_URL | override the active instance URL |
--client-id <id> | GLOW_CLIENT_ID | override the OAuth client ID |
--json | — | machine-readable output |
-y, --yes | — | skip confirmation prompts for destructive actions |
(Legacy --api-url and --license-key flags have been removed — the
license key now lives in ~/.glow/instances/<name>/glow-deploy.yaml and
the instance URL replaces what --api-url used to do.)
Next
- How It Works — the simulation / persona / scenario / attempt loop
- Tutorial — build your first simulation end-to-end
- CLI Reference — every command, auto-generated
- API Reference — every endpoint, auto-generated