Skip to content

Contributing

github-actions[bot] edited this page Jun 25, 2026 · 2 revisions

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 one hard rule

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.

Engineering principles (non-negotiable)

  • 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 intentinfo/error are message-only; raw errors/context go on debug.

pnpm -r typecheck and pnpm test must pass before any work is considered done.

Friendly first areas

Admin-app features, test coverage, and the deployment guide. Browse the open issues or the project status backlog.

Licensing & sign-off

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.

Editing this wiki

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.

Clone this wiki locally