Skip to content

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.

Install Git, Make, curl, Docker with Compose v2, and the Bun version pinned by the root package.json. Then, from a clean checkout:

Terminal window
cp .env.example .env
make dev-doctor
make dev-up
make dev-smoke

The default local environment needs no cloud token, hosted database credential, Tailscale account, or direct login to the hosted Reef box.

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:

Terminal window
make dev-bootstrap
make dev-doctor ARGS=--full

Use focused verification for the area you change:

Terminal window
make test-go
make test-simulator
make test-platform-runtime
make test-bot-sdk
make check-proto-additive

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.