DocsReference

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#

commandwhat
golo gatetypecheck, 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#

commandwhat
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.

commandwhat
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> --notetake 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 topicsthe 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> --noteclose 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> --noteback 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> --noteclosed as not done

Releases#

commandwhat
golo changelog [--since v<n>] [--json]print CHANGELOG.md: Unreleased, then the releases, newest first
golo releasecut ## 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#

commandwhat
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#

commandwhat
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

This page as markdown