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. For the accepted default stack, profiles, stop, and reset behavior, use the local configuration guide. For measured throughput configurations, use the run selector; the ordinary local stack is a development and smoke setup, not a 10k benchmark profile.
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-smokemake dev-downThe 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.26.9 or newer patched release, 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.