🟢Get started
Hello, and welcome! Whether you are trying to report a bug, proposing a feature request, thinking about getting involved in the project, or submitting a patch, this document is for you! It intends to be both an entry point for newcomers to AppFlowy's community (with various backgrounds), and a guide/reference for contributors.
Contributing
There are various avenues for contributing to the project, allowing you to participate as much or as little as you like. Every contribution, regardless of its size, is genuinely valued and greatly appreciated by our entire community. Your involvement, no matter how modest, makes a meaningful difference to us all.
Feedback
Not feeling quite up to working on the project yet? Share your suggestions with us!
Submit feature requests. We'd love to hear your ideas!
Report bugs. This really helps a lot!
Provide your suggestions on the forum
Review Pull Requests
Provide feedback on proposed features
Non-coding Contributions
You want to help out with the project, but you're not a developer? You can help in multiple ways - even if you don't write code! You can still give back your love as part of our community. Here are a few ideas:
Answer questions having "General help wanted" or "Technical help wanted" labels on the forum
Improve the documentation.
Be an AppFlowy ambassador or evangelist! Proprietary software companies often have dedicated marketing teams to get more users, but luckily we have something better: you! Share your experience with AppFlowy! This can be anything:
Write a life-hacks-style blog post on how you or your company use AppFlowy to get things done.
Spread the word on all social media platforms to get more people to join the community. To name a few channels, Product Hunt, Hacker Noon, Quora, Reddit, and Stack Overflow are good choices.
Give a lightning talk at your local hackerspace on why you love AppFlowy.
Write a review of the pros and cons of similar open-source apps.
Coding Contributions
So you want to submit code, documentation, or graphical expertise? Welcome to the club! We will try to give you all the help you need to get up and running.
Join our Discord. Here you will be able to chat with all of our contributors and the heads of the project.
Read the documentation. You should start at the main README.md where you will find information on how to set up your computer to develop with Flutter and Rust.
Read the technical wiki. This is where you will find all of our design documentation. (TBD)
Submit a Patch. We love to receive Pull Requests. If you are a beginner or a newcomer, here are some tasks for you to get ramped up:
Fix a typo in the code.
Fix a typo in the documentation.
Awesome issues for beginners or newcomers.
Provide feedback on proposed features
Review Pull Requests
If you are ready to code (maybe a lot), please submit a patch!
(WIP: guidelines)
(WIP: Code Style)
We require a CLA (Contributor License Agreement). This is a one-time process, which you will encounter when you submit your first PR to any of AppFlowy’s open-source software projects.
Your First Codebase Contribution
This section has a step-by-step guide to starting as an AppFlowy codebase contributor. Don’t worry if you make mistakes in your first contribution; no one gets it right the first time.
First, make an account on the AppFlowy community server, and pay attention to the community norms.
Set up your AppFlowy development environment, getting help on the forum or in #general on the community server.
Familiarize yourself with using the development environment
Read the Submitting Code guide if you are new to GitHub or development in general
Now you are ready to pick your first issue
Where to look for your first issue
You can look through unclaimed issues here.
Issues tagged with the "good first issue for devs” label is used to indicate the issues that are especially approachable for new contributors.
We also use the "good first issue for experienced devs" label to tag issues that are recommended to developers who have relevant expertise or extensive general software development experience.
Additionally, there are issues tagged with the "help wanted"-label which is ready to be picked up.
If there is not already an issue covering the work you are interested in doing, then file a new issue to describe the problem/feature you are addressing.
Claim an issue
Post a comment to the issue thread that you would like to claim. Someone with Member access will assign you to the issue and label the issue as “Todo”, once triage is completed
If you need a mentor, please mention @annieappflowy. We will assign you a mentor who is familiar with your task. We strongly recommend newcomers have a mentor in place.
We also recommend new contributors to only claim one issue until their first pull request is merged. This is to encourage newcomers to get familiar with the codebase and finish ongoing work before starting something new.
Working on an issue
We encourage early pull requests for work in progress.
It's normal and totally okay if your first PR takes you a while.
Please update your progress on the issue regularly. If you no longer work on this issue, please comment on the issue so that other people can take over it.
Guidelines for Triage (For Contributors)
Ensure that the title is meaningful, and edit if not
If the report is unclear, add a comment asking for the required details and add the
waiting for user response
labelIf the issue describes something that was implemented/fixed in a later build, add a comment saying so and close the issue
If you recognize that this issue is a duplicate, comment a link to the original issue and close this one
Add appropriate labels to the issue and add the issue to AppFlowy's Project
Sponsor
Sponsoring is another great way to contribute to the community.
Buy us a coffee on ko-fi
For more extensive sponsorship, please contact Annie at [email protected]
Contributor T-Shirt
If your Pull Request is accepted as it fixes a bug, adds functionality, or makes AppFlowy's codebase significantly easier to use or understand, congratulations! If your administrative and managerial work behind the scenes sustains the community as a whole, congratulations! You are now an official contributor to AppFlowy. Get in touch with us (link) to receive the very special Contributor T-shirt!
Proudly wear your T-shirt and show it to us by tagging @appflowy on Twitter.
Code of Conduct
Please report a code of conduct violation to [email protected]. Let's encourage the behavior we want to see in the world and constantly foster a welcoming environment!
Last updated