Developer Setup
Reef has a Docker-first core workflow and a larger full-contributor toolchain. The canonical, versioned source is the repository’s developer onboarding guide; use it for the complete prerequisites, work-area setup, troubleshooting, and optional infrastructure boundaries.
Core Local Stack
Section titled “Core Local Stack”Install Git, Make, curl, Docker with Compose v2, and the Bun version pinned by
the root package.json. Then, from a clean checkout:
cp .env.example .envmake dev-doctormake dev-upmake dev-smokeThe default local environment needs no cloud token, hosted database credential, Tailscale account, or direct login to the hosted Reef box.
Full Contributor Setup
Section titled “Full Contributor Setup”Developers changing the native services or apps also need the Node version in
.node-version with npm, Go 1.25 or newer, and Java 21. Install the repository, Arena, and docs-site
dependency roots, then check the complete toolchain:
make dev-bootstrapmake dev-doctor ARGS=--fullUse focused verification for the area you change:
make test-gomake test-simulatormake test-platform-runtimemake test-bot-sdkmake check-proto-additiveOptional Products And Infrastructure
Section titled “Optional Products And Infrastructure”Arena is an explicit overlay (make dev-up-arena); it is not required for core
Reef. Local Kubernetes, the Hetzner backbone, and disposable DigitalOcean
benchmark workers have separate runbooks and access requirements under
infra/. Hosted credentials and private Tailscale access are operator-only,
not general developer onboarding.
Read CONTRIBUTING.md before preparing a change, and use the full onboarding guide when a first-run check fails.