Skip to content

Local Development

Build and exercise the runtime binary from a product-hub checkout. For hub clone / bootstrap / proposals, start at Day-one Development.

Customer install of a released binary: docs → Installation.


Build the binary

From a full ER or product-hub checkout:

cd ER/engineering-runtime-product/engineering-runtime
# or: cd engineering-runtime-product/engineering-runtime
go build -o runtime .
./runtime version
./runtime bootstrap
./runtime config validate

Requirements: Go 1.23+. Workspace ./scripts/verify.sh checks this.

Binary-only contributor notes also live in that repo’s LOCAL_SETUP.md and docs/05-development/local-setup.md.


Throwaway Runtime Home (safe experiments)

Isolate Home so you never touch your real ~/.engineering-runtime while testing a freshly built binary or an upgrade:

export ENGINEERING_RUNTIME_HOME="$PWD/runtime-home"
export RUNTIME_CONFIG_FILE="$ENGINEERING_RUNTIME_HOME/config.yaml"
export RUNTIME_POLICY_FILE="$ENGINEERING_RUNTIME_HOME/policy-config.yaml"
# export RUNTIME_GITHUB_TOKEN=ghp_…   # if exercising GitHub provider

rm -rf "$ENGINEERING_RUNTIME_HOME"
./runtime bootstrap
./runtime config validate

Wipe and re-bootstrap after swapping binary builds. Customer-facing upgrade notes: docs → Upgrading.


Claude Code / Cursor reading order

Before large edits:

  1. engineering-runtime-workspace/CLAUDE.md — ER map
  2. Owning hub CLAUDE.md — product or Control Plane
  3. Target child CLAUDE.md

Open the ER/ folder (or workspace + the hub you will edit) so relative sibling paths resolve.


Same-effort reminder

If you change what the binary supports, update supportive siblings in the same effort (docs, capabilities, samples, series, this developer site when process changes). See Day-one Development §7.