Skip to content

Local Development

Use mise as the single entrypoint for local development.

Setup

mise install
mise run setup

mise run setup prepares local files under dev/, creates development tokens, creates age key files, and initializes the controller repository when needed. Existing local files are not overwritten.

App stack

Start the controller, agent, and web UI:

mise run dev

Follow logs or stop the stack:

mise run dev:logs
mise run dev:down

Docs

Docs are not started with the app stack by default.

mise run dev:docs # docs only, on :5174
mise run dev:all  # app + docs

Checks

Run the standard local check suite before committing:

mise run check

Run slower backend checks when needed:

mise run check:full

Protobuf generation

After changing proto/**, regenerate checked-in protobuf output and API docs:

mise run gen

Commit the generated files under gen/go/, web/src/lib/gen/, and site/content/docs/developer-guide/api/.

E2E

Run all local e2e tests against the real controller and agent fixture stack:

mise run e2e
Last updated on • Renovate Bot