Run locally
Use Go 1.26 or newer for the backend and Node 24 or newer for browser builds and release tooling. The production image runs the Go binary without Node.http://localhost:3000. The development server rebuilds and restarts when source files change.
Node commands read your shell environment; they do not load app/.env. To enable local accounts:
$env:ACCOUNTS_DB = './data/accounts.sqlite' instead of export.
Build a local container
From the repository root:http://localhost:3712. This setup reads app/.env and preserves accounts in a named volume.
Run checks
Test commands build automatically. Release tests use mocked APIs and temporary repositories; they do not publish real releases.
Run npm commands from
app/. Browser traces are saved under app/test-results/.
Open one with npx playwright show-trace <path-to-trace.zip>.
Find the code
The backend builds to
app/dist/evakage (app/dist/evakage.exe on Windows). Browser
TypeScript builds produce JavaScript ES modules in app/dist/app/public/.
The production Go module lives in app/. Go tests live in the separate
tests/go/ module, which uses the local application through a replace directive.
The protocol and browser suites run the Go backend through a test-only runner
(tests/go/cmd/evakage-test/, built with the testbridge tag). Its authenticated control
listener is absent from the production binary.
Documentation
The site is evakage.docs.thesteau.com. Navigation and branding live indocs/docs.json.
From docs/, run: