-
Notifications
You must be signed in to change notification settings - Fork 0
Contributing
Contributors welcome — Agora is built in the open, and we'd genuinely love your help. 🌱 Bug fixes, new admin-app slices, docs, test coverage, deployment guides, or closing a contract gap against Replyke — there's room to jump in, whatever your level.
Before you start, read
CONTRIBUTING.md— dev setup, the contract rules, coding conventions, the migration workflow, and how to open a PR.
The contract is the constraint. Any change to request/response shapes, REST paths, or socket.io
events must keep agora-sdk working 1:1 — see
API & Contract.
- Security first — validate and authorize on the server; fail closed; wire every gate on every new path. See Security.
- Test what deserves testing — pure/branching logic ships with unit tests; DB-backed behavior gets an integration test; security-relevant logic asserts the negative cases too.
-
Log with intent —
info/errorare message-only; raw errors/context go ondebug.
pnpm -r typecheck and pnpm test must pass before any work is considered done.
Admin-app features, test coverage, and the deployment guide. Browse the open issues or the project status backlog.
The server is AGPL-3.0-only; the shared wire contract (@agora-server/contract) is Apache-2.0.
Contributions are accepted under the Developer Certificate of Origin — sign off your commits with
git commit -s. There is no CLA.
These wiki pages are authored in
wiki/ in the main repo and
auto-published by the wiki-sync workflow. Edit them via PR there — not in the published wiki
directly, or the next sync overwrites your change.
Agora · AGPL-3.0-only · the community edition is AGPL-3.0 forever.
These pages are published from wiki/ in the main repo — edit there via PR, not in the wiki directly.
Start here
Operate
Internals
Subsystems
Project