AI Gateway Service — Local Dev Setup
Status: populated Owner: TBD Last updated: 2026-04-17 Companion: Service Template
1. Prerequisites
- Node 22+ via
nvm - pnpm 9+
- Docker Desktop / Rancher Desktop
- OpenSSL for dummy cert generation
2. Start dependencies
docker compose -f infra/compose/docker-compose.yml up -d \
postgres nats redis kong keycloak config-service identity-service
3. Install & migrate
pnpm install
pnpm --filter @ghasi/service-ai-gateway drizzle:migrate
pnpm --filter @ghasi/service-ai-gateway seed
4. Run
pnpm --filter @ghasi/service-ai-gateway dev
# Swagger: http://localhost:3040/api/docs
# Health : http://localhost:3040/health
5. Seed data
| Item | Content |
|---|---|
| Tenants | ten_afg_moph_001, ten_demo_clinic_001 |
| Features | patient_chart.note_summary, portal.triage, medication.interaction_narrative |
| Routing rules | Default to MockAdapter when AI_PROVIDER_DEFAULT=mock |
| Prompt templates | Global versions for all seeded features |
6. Running tests
pnpm --filter @ghasi/service-ai-gateway test:unit
pnpm --filter @ghasi/service-ai-gateway test:integration # requires compose up
pnpm --filter @ghasi/service-ai-gateway test:contract
pnpm --filter @ghasi/service-ai-gateway test:e2e
7. Useful scripts
| Script | Purpose |
|---|---|
pnpm --filter @ghasi/service-ai-gateway build | TS build |
pnpm --filter @ghasi/service-ai-gateway openapi:emit | Regenerate openapi.json |
pnpm --filter @ghasi/service-ai-gateway events:publish | Publish schema to schema registry |
pnpm --filter @ghasi/service-ai-gateway seed:prompts | Load prompt templates from repo fixtures |
8. Enable real providers (opt-in)
Set .env.local:
PROVIDER_ANTHROPIC_KEY=sk-ant-...
PROVIDER_OPENAI_KEY=sk-...
AI_PROVIDER_DEFAULT=anthropic
Never commit keys. Use 1Password CLI or direnv for local.