Install dependencies
Clone the repository and install dependencies with npm install
. Copy the environment template and fill in provider secrets for the integrations you want to exercise.
Checklist
- Copy .env.example to .env
- Set database credentials
- Provide OAuth client IDs and secrets
Spin up the supporting infrastructure with docker-compose up
to get Postgres, Redis, and supporting services that mirror production.
Seed accounts
Use the admin UI or the Accounts API to create a few test accounts. Connect both Gmail and Microsoft accounts if possible so you can explore provider-specific behaviours.
The repository ships with scripts in cli/setup.ts
that create demo accounts and labels for you. They are safe to run multiple times.
Trigger activity
Kick off a historical sync and then send a few test emails so that realtime sync and webhooks fire. The test-webhook-server.js
script in the repo prints deliveries to the console so that you can verify payloads.
Scripts like debug-pubsub-status.js
help you confirm that new messages are flowing through the queues as expected.
Inspect logs and metrics
Use the built-in pretty logger or pipe output through the provided test-pretty-logs.js
script to get structured logs while developing. You can also query the /logs route directly to pull the latest entries.
The pub/sub workers run separately from the API. Make sure you start them with npm run dev:workers
(or the equivalent) so that syncs progress locally.