Contributing
Dev environment, branch and commit conventions, and the PR process.
Architecture
How the backend, client, and voice worker fit together.
Security
How to report a vulnerability.
Self-hosting
Run your own deployment.
Licensing
The stack
Repository layout
Architecture decision records
Significant technical decisions are recorded as ADRs indocs/adr/, using the
MADR 4.0 template. They exist so a future
contributor can answer “why is it like this?” without doing archaeology on git
history.
Current records cover MongoDB ObjectId sourcing, CRM custom-field storage, CRM
relation field design, and the per-workspace database question.
Write one when a decision is architecturally meaningful, non-obvious from the
code, costly to reverse, or a workaround for an external constraint. Routine
feature work, bug fixes, and refactors do not need one. ADRs are append-only —
supersede rather than rewrite.