2.9 KiB
Contributing to AFFiNE
Thank you for your interest in contributing! ❤️ AFFiNE welcomes contributions of all kinds — code, docs, bug reports, feature ideas and translations. See types-of-contributions.md for the full picture.
This page is the five-minute overview. The full contributor handbook lives at https://docs.affine.pro/contributing.
Before your first pull request: sign the CLA
We can only merge pull requests whose authors have signed the Contributor License Agreement. Every PR is checked automatically (the license/cla status check), and an unsigned CLA is the single most common reason PRs get stuck before merge.
How to sign (takes under a minute):
- Open https://cla-assistant.io/toeverything/AFFiNE.
- Sign in with your GitHub account and agree.
Already opened a PR? Sign, then click the recheck link in the CLA bot's comment on your PR (or push a new commit). Note that every committer on the PR must sign, and each commit's author email must be linked to a GitHub account. See BUILDING.md — Sign the CLA first for troubleshooting.
Contribution flow
- Find something to work on. Browse good first issues or the issue tracker. Issues that are still in triage haven't been reviewed yet — better not to start work on those. For bigger changes, open a discussion or talk to us on Discord first.
- Set up your environment. Follow BUILDING.md for the web app. For the server (cloud features) see developing-server.md; for the desktop client see building-desktop-client-app.md.
- Make your change on a branch created from
canary. Add tests where it makes sense, and runyarn lint,yarn typecheckand the relevant tests locally. - Open a PR to
canarywith a Conventional Commits title, e.g.fix(editor): keep selection after paste— the title format is enforced by CI. - Get it merged. A PR merges once the
license/clacheck is green, CI passes, and a maintainer approves the review.
Code of conduct
Please read our Code of Conduct.
Useful links
- Codebase tour: contributing/tutorial.md
- How issues are triaged: issue-triaging.md
- Release process: contributing/releases.md
- Reporting security issues: SECURITY.md
- Community: Discord · GitHub Discussions