| name | verify |
| description | How to launch and drive Diff Dad for runtime verification — daemon on a scratch port, config/test-connection API, and the single-PR server. |
Verifying Diff Dad changes at runtime
Launch a server with the current source
The daemon is the easiest surface — it registers the shared config routes and
runs straight from source (no rebuild needed for CLI-side changes; frontend
changes need bun run build first since the server serves packages/web/dist).
bun packages/cli/src/cli.ts daemon --port=45677 --no-open
curl -s http://localhost:45677/api/config
Check nothing is already on the port first (lsof -iTCP:45677 -sTCP:LISTEN).
Kill when done: lsof -tiTCP:45677 -sTCP:LISTEN | xargs kill.
Useful endpoints
Gotchas
POST /api/config/test with kind: ai makes ONE real API call against the
user's stored key (16-token ping) — cheap, but it's live.
- The AI test has a 15s timeout; the local-CLI path (
defaultCli) is much slower
than the API path and can hit it.
- Config lives in the dataDir (see
getConfigPath() in packages/cli/src/config.ts);
the daemon reads it fresh per request, so config edits don't need a restart —
but code edits do.