Internal
Local Development
Run SLAW locally with zero external dependencies.
Prerequisites
- Node.js 20+
- pnpm 9+
Start the dev server
pnpm install
pnpm dev
This starts:
- API server at
http://localhost:3100 - UI served by the API server in dev middleware mode (same origin)
No Docker or external database required — SLAW uses embedded PostgreSQL automatically.
One-command bootstrap
For a first-time install:
npx slaw run
This:
- Auto-onboards if config is missing
- Runs
slaw doctorwith repair enabled - Starts the server when checks pass
Bind presets in dev
Default pnpm dev stays in local_trusted with loopback-only binding.
To open SLAW to a private network with login enabled:
pnpm dev --bind lan
For Tailscale-only binding on a detected tailnet address:
pnpm dev --bind tailnet
Allow additional private hostnames:
npx slaw allowed-hostname my-machine
For full setup and troubleshooting, see Tailscale Private Access.
Health checks
curl http://localhost:3100/api/health
# -> {"status":"ok"}
curl http://localhost:3100/api/squads
# -> []
Reset dev data
To wipe local data and start fresh:
rm -rf ~/.slaw/instances/default/db
pnpm dev
Data locations
| Data | Path |
|---|---|
| Config | ~/.slaw/instances/default/config.json |
| Database | ~/.slaw/instances/default/db |
| Storage | ~/.slaw/instances/default/data/storage |
| Secrets key | ~/.slaw/instances/default/secrets/master.key |
| Logs | ~/.slaw/instances/default/logs |
Override with environment variables:
SLAW_HOME=/custom/path SLAW_INSTANCE_ID=dev npx slaw run
Next steps
- Database — embedded vs hosted Postgres
- Environment Variables — the full reference
- Contributing — repo layout and PR norms