Development
Prerequisites
- Node.js 20+
- Docker (for Postgres, or bring your own)
Quick Start
-
Copy
.env.exampleto.envand fill in model credentials (OPENAI_API_KEYorANTHROPIC_API_KEY). -
Start the database:
-
Start the API server (with hot reload):
-
Start the frontend (in a separate terminal):
-
Open
http://localhost:3000and add an agent to start running tests.
Type Checking
Tests
Provider-target E2E smoke test:
cd tests
# API in Docker Compose (default)
RUN_PROVIDER_E2E=1 npm run test:e2e
# Optional: include Vapi target
RUN_PROVIDER_E2E=1 RUN_VAPI_PROVIDER_E2E=1 npm run test:e2e
# API on host (non-Docker)
RUN_PROVIDER_E2E=1 \
E2E_TARGET_OPENAI_BASE_URL=http://127.0.0.1:9100 \
E2E_TARGET_VAPI_BASE_URL=http://127.0.0.1:9200 \
npm run test:e2e
Provider Extensions
When adding a new provider:
- Implement and register provider code in
server/src/providers/. - Add a runnable target agent under
target-agents/. - Add the provider mapping to
target-agents/registry.json. - Run
cd server && npm testand ensureprovider-targets.test.tspasses.
Running with Docker Compose
To run the full stack (API + frontend + Postgres):
Database
Schema is in server/schema.sql. When using Docker Compose, it is applied automatically on first start. For manual setup: