GoConva is developed in the open. This section covers what you need to make a change: the layout of the code, the conventions we hold to, and how to get a contribution reviewed.

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

This repository does not currently carry a license file, and package.json declares an empty license field. Until a license is added, no general grant of rights is offered — if you intend to use, modify, or redistribute this code, contact the maintainers first.

The stack

Repository layout

Architecture decision records

Significant technical decisions are recorded as ADRs in docs/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.