Skip to main content
This quickstart gets a developer clone to a running local API and dashboard. It does not require a real worker machine.

1. Install dependencies and run tests

2. Create a local config

Copy the printed token. The dashboard and control API expect it as a bearer token.

3. Start the API

Open the canonical operator console:
If you use the shorter /dashboard URL, it redirects to /control/dashboard-v2 (the canonical V2 shell) on current deployments. /control/dashboard also 307-redirects to /control/dashboard-v2. The dashboard opens as a professional operator console. It leads with attention, running work, paper-writing, finalization, and publish/import cards instead of raw JSON.

4. Run smoke tests

In a second shell:
Expected result: health, bounded overview, preflight, and dispatch dry-run endpoints respond with JSON. The smoke uses /control/api/v1/overview by default so large live ledgers do not make the check noisy. Set ENOCH_STATUS_ENDPOINT=/control/api/status only when you intentionally need the wider compatibility payload. For a control-plane-only smoke where worker preflight is covered separately, set ENOCH_SMOKE_SKIP_PREFLIGHT=1. The script calls GET /healthz, GET /control/api/v1/overview, POST /control/api/preflight, and POST /control/dispatch-next with dry_run: true.

5. Move to two-machine testing

After local smoke tests pass, follow deployment to configure a control VM and a worker machine.