Local Setup
Stand up a local development instance with no provider keys: one setup recipe, a Vertex stub for inference, and the dev stack.
On this page
TL;DR: just setup-local, then just start. No provider keys and no cloud
login. Inference goes to a local Vertex stub, so nothing here has run on a
real model.
Set up
just setup-local # http 8080, postgres 5432
just setup-local 8090 5460 # pick free ports when other clones run here
The recipe builds a debug binary, starts a per-clone Postgres (pgvector),
writes the local profile under .systemprompt/profiles/local/, runs
migrations, bootstraps an admin user, applies config and publishes assets. A
re-run is safe. Core's admin setup still needs a key flag, so the recipe
passes a placeholder that is never used.
The Vertex stub
The only provider is vertex. Locally, the token host and model host are a
Python stub on 127.0.0.1 (deploy/dev/vertex-stub/). It speaks the same
wire shapes, so the gateway, governance and audit paths run in full, but the
answers are canned. scripts/dev-stub.sh wires the profile to it.
Run
just server-status # is a server already running, is its binary stale
just start # refreshes the stub overlay, starts the stub and the server
just dev-sync-apply # applies the workflows and groups planes (needed for workflow definitions)
just dev-login <user> # single-use /admin login link (development profile only)
just stop
just dev-stack controls the compose stack in deploy/dev/compose.yaml
(stub and ClickHouse by default). The local profile also turns the brain on.
Runbooks
docs/runbooks/local-setup.md: prerequisites, file locations, start/stop.docs/runbooks/dev-stack.md: the stub, the overlay and the compose stack.