Switch from PGlite (WebAssembly) to embedded-postgres for zero-config local development — provides a real PostgreSQL server with full compatibility. Add startup banner with config summary on server boot. Improve server bootstrap with auto port detection, database creation, and migration on startup. Update DATABASE.md, DEVELOPING.md, and SPEC-implementation.md to reflect the change. Update CLI database check and prompts. Simplify OnboardingWizard database options. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1.0 KiB
1.0 KiB
Developing
This project can run fully in local dev without setting up PostgreSQL manually.
Prerequisites
- Node.js 20+
- pnpm 9+
Start Dev
From repo root:
pnpm install
pnpm dev
This starts:
- API server:
http://localhost:3100 - UI: served by the API server in dev middleware mode (same origin as API)
Database in Dev (Auto-Handled)
For local development, leave DATABASE_URL unset.
The server will automatically use embedded PostgreSQL and persist data at:
./data/embedded-postgres
No Docker or external database is required for this mode.
Quick Health Checks
In another terminal:
curl http://localhost:3100/api/health
curl http://localhost:3100/api/companies
Expected:
/api/healthreturns{"status":"ok"}/api/companiesreturns a JSON array
Reset Local Dev Database
To wipe local dev data and start fresh:
rm -rf server/data/embedded-postgres
pnpm dev
Optional: Use External Postgres
If you set DATABASE_URL, the server will use that instead of embedded PostgreSQL.