[Chore-1102] Make local test DB one command

Story 1102Epic None8 files · +358/−51

PR #280 · pramaan-io/pramaan-functions · merged 2026-06-09

Why this matters

Your test DB shouldn't need a scavenger hunt.

One command. Zero setup pain.

Naive setup dies the moment your Docker context is unavailable.

The fix — One command, one isolated Postgres, zero scavenger hunt.

How it flows

sequenceDiagram
  autonumber
  participant dev as developer (driver)
  participant crew as pit crew (scripts)
  dev->>crew: make test-db
  crew->>crew: probe Docker daemon → compose or CLI fallback
  crew->>crew: run bootstrap SQL: pramaan_admin, pramaan_app, ops, pgcrypto, scoped g
  crew->>crew: generate .env.test-db with all connection strings
  crew->>dev: Postgres 16 on 55432 — race ready

Files changed (8)

File±
.env.example+9 −9
AGENTS.md+18
Makefile ★+28 −1
README.md+24 −41
docker-compose.test-db.yml+23
scripts/run-with-test-db-env.sh+19
scripts/test-db-bootstrap.sql ★+28
scripts/test-db.sh ★+209