# Developer Module Index Each module document lists **every exported function**, its purpose, inputs, outputs, and side effects. Implementation status follows [TODO.md](../../../TODO.md) phases. Docs describe the **target contract** so implementers and reviewers share one API surface. ## Middleware (`verae-zapier-middleware/src`) | Module doc | Source path | Phase | |------------|-------------|-------| | [debug.md](debug.md) | `debug/` | 1 | | [config.md](config.md) | `config.js` | 2 | | [errors.md](../../modules/verae-zapier-middleware/errors.md) | `errors.js` | 2 | | [app.md](../../modules/verae-zapier-middleware/app.md) | `app.js`, `index.js` | 2 | | [store/db.md](../../modules/verae-zapier-middleware/store/db.md) | `store/db.js` | 3 | | [store/tenants.md](../../modules/verae-zapier-middleware/store/tenants.md) | `store/tenants.js` | 3 | | [store/usage.md](../../modules/verae-zapier-middleware/store/usage.md) | `store/usage.js` | 3 | | [store/webhooks.md](../../modules/verae-zapier-middleware/store/webhooks.md) | `store/webhooks.js` | 3 | | [lib/tokens.md](../../modules/verae-zapier-middleware/lib/tokens.md) | `lib/tokens.js` | 4 | | [veraeClient.md](../../modules/verae-zapier-middleware/clients/veraeClient.md) | `clients/veraeClient.js` | 4 | | [authService.md](../../modules/verae-zapier-middleware/services/authService.md) | `services/authService.js` | 5 | | [entitlementService.md](../../modules/verae-zapier-middleware/services/entitlementService.md) | `services/entitlementService.js` | 5 | | [authenticate.md](../../modules/verae-zapier-middleware/middleware/authenticate.md) | `middleware/*.js` | 5 | | [timestampService.md](../../modules/verae-zapier-middleware/services/timestampService.md) | `services/timestampService.js` | 6 | | [verifyService.md](../../modules/verae-zapier-middleware/services/verifyService.md) | `services/verifyService.js` | 6 | | [webhookService.md](../../modules/verae-zapier-middleware/services/webhookService.md) | `services/webhookService.js` | 6 | | [routes.md](../../modules/verae-zapier-middleware/routes/index.md) | `routes/*.js` | 6 | | [nats.md](nats.md) | `nats/*.js` | 7 | | [workers.md](workers.md) | `workers/*.js` | 8–9 | | [tenantService.md](../../modules/verae-zapier-middleware/services/tenantService.md) | `services/tenantService.js` | 10 | Full export tables also live in [function-reference.md](function-reference.md). ## Zapier app (`verae-zapier`) | Module doc | Source path | Phase | |------------|-------------|-------| | [verae-zapier/index.md](../../modules/verae-zapier/index.md) | `index.js`, `authentication.js`, creates/searches/triggers | 11 | ## Documentation rules When you add or change an export: 1. Update JSDoc in the source file (`@param`, `@returns`, purpose sentence). 2. Update the matching module markdown table. 3. Add/adjust unit tests in the phase that owns the module. 4. Instrument boundaries with `createDebugger('')`.