The golo cli
Every command of golo, the cli that ships in locosdk and acts on the app repo it runs in.
golo is the bin of locosdk. It acts on the app it runs in: the nearest folder at or above the current one that holds data/app.db, schema.ts or loco.config.ts. Run it as bunx golo <command>, or golo <command> when the app's node_modules/.bin is on your PATH. Every refusal exits 1 with the reason. golo <command> --help prints the flags of one command.
Gate#
| command | what |
|---|---|
golo gate | typecheck, tests and lint of the app, in parallel. Short output, exit 1 on red. Fails too when src/ or schema.ts changed since the last tag while ## Unreleased is empty |
Shots#
| command | what |
|---|---|
golo shot [route] [--size phone|desktop|WxH] [--at <rev>] [--video <s>] [--wait <selector>|idle|<ms>] [--out <file>] | a png, webp or clip of a route of the app, as it runs or at a past commit. The route has no leading slash. Prints the file, its size, the time and one page: line per page error |
Details: Review cards and shots.
Review#
Acting verbs take --as <name> (or the LOCO_AGENT variable), and --note, --commit <sha> where they record a step.
| command | what |
|---|---|
golo review add --title … --what … (--image f | --video f | --before a --after b) | a card the client answers. Also --view <label> <file>, --screen <route>, --viewport WxH, --state, --record <collection>/<id>, --topic, --commit, --supersedes <id>, --keeps, --answers <id>, --new --why, --draft |
golo review add-view <id> <label> <files…> | another angle of an open card: an image, a pair, or --video |
golo review ready <id> [--image f] | a draft becomes a card the client answers |
golo review withdraw <id> --note | take an unanswered card back |
golo review reopen <id> | an answered card waits for a new answer |
golo review done <id> "<what changed>" | an approved with fix card, made with no new card |
golo review inbox [--mine] [--card <id>] [--all] | unseen verdicts and words of the client, and every open item the client raised |
golo review watch [--mine] [--card <id>] | one line per verdict or word as it lands, all unseen ones at start. Never exits |
golo review show <id> | one item and its whole thread |
golo review seen <ids…> | mark items handled, signed with your name |
golo review reply <id> <text> [--image f] | a message on the thread |
golo review board [--topic t] [--all] | every open raised item by state, stale claims marked |
golo review topics | the app's topics and the pages a worker reads first |
golo review dispatcher [--take] | take the dispatcher role, one session at a time; --take after 30 minutes idle |
golo review dispatch <id> <topic> | send a new item to a topic |
golo review reassign <id> [topic] | take a claim back, or change the topic |
golo review drop <id> --note | close a raised item, with the reason |
golo review next [topic] | claim the oldest open item of a topic and show it |
golo review claim <id> | hold an item before any edit |
golo review release <id> | give a claim back |
golo review ask <id> "<question>" | ask the client on the item; their reply answers it |
golo review blocked <id> --note | back to the client, with what is needed |
golo review fixed <id> --note [--commit <sha>] | closed as done; the note is what the client reads |
golo review wontfix <id> --note | closed as not done |
Releases#
| command | what |
|---|---|
golo changelog [--since v<n>] [--json] | print CHANGELOG.md: Unreleased, then the releases, newest first |
golo release | cut ## Unreleased into the next version, commit release v<n>, tag v<n>. Refuses an empty Unreleased, a dirty tree, and an app with deploy: false |
Backups#
| command | what |
|---|---|
golo backup create [name] | a backup of the app's data into its backups store, the app running or not |
golo backup list [--json] | the backups in the store the app last started with: key, size, modified |
golo backup restore <key> | the data becomes that backup. Refuses while the app runs |
The cli runs no app code: no backup hook fires from it.
Schema and superusers#
| command | what |
|---|---|
golo schema import <data.db | collections.json> [--out schema.ts] [--strict] | a PocketBase app's schema as a schema.ts. --strict exits 1 on any unsupported item. See Coming from PocketBase |
golo superuser upsert <email> | create the app's superuser or set its password, read from stdin, in data/app.db of an app that booted once |