Ways to Contribute
Report Bugs
Found something broken? Let us know
Request Features
Have an idea? Share it with us
Fix Issues
Browse open issues and submit fixes
Improve Docs
Help others by improving documentation
Translate
Translate AFFiNE to your language
Join Discussions
Share ideas and help others
Before You Start
Code of Conduct
Please read and follow our Code of Conduct. We’re committed to providing a welcoming and inspiring community for all.Contributor License Agreement (CLA)
Before we can accept your pull request, you need to sign our Contributor License Agreement. This is a one-time process.Types of Contributions
Discussions
Join our GitHub Discussions to:- Ask questions
- Share ideas
- Help others
- Discuss features
- Showcase your work
Issues
Issues track bugs and feature requests: Before creating an issue:- Search existing issues to avoid duplicates
- Use the appropriate template
- Provide clear, detailed information
- Include steps to reproduce (for bugs)
- Add screenshots or videos if helpful
bug- Something isn’t workingfeat- New feature requestgood first issue- Good for newcomershelp wanted- We need your helpdocumentation- Docs improvements
Pull Requests
Pull requests are how you submit code changes:Make your changes
Follow our coding guidelines
- Linked to an issue
- Clear description of changes
- Tests added/updated
- Documentation updated
- No linting errors
- CLA signed
- Passes CI checks
Translations
Help make AFFiNE accessible worldwide:- Join our Discord
- Head to the #translations channel
- Follow the translation workflow
- Use our localization platform
- Maintain consistent terminology
- Keep UI text concise
- Preserve formatting and variables
- Test in the actual UI
Community
Get Help
Stuck? Here’s where to get help:Discord
Chat with the community and team
GitHub Discussions
Ask questions and share ideas
Documentation
Read the full documentation
Blog
Stay updated with latest news
Stay Updated
- ⭐ Star the GitHub repository
- Watch for new releases
- Follow @AFFiNEOfficial on Twitter
- Subscribe to our blog
Recognition
We value all contributions:- All contributors are listed in our README
- Significant contributions are highlighted in release notes
- Active contributors may be invited to join the core team
We use All Contributors to recognize everyone who contributes to the project.
Quick Links
Development Setup
Set up your development environment
Architecture
Understand the codebase structure
Testing
Learn how to write and run tests
Guidelines
Coding standards and best practices