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.
There are many ways in which you can contribute to the project. You can be involved just a little, or a whole lot! Every lit bit helps and is very appreciated by everyone.
Not feeling quite up to working on the project yet? Tell us your suggestions!
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:
- 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.
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.
- Read the documentation. You should start at the main README.md where you will find information on how to setup your computer to develop with Flutter and Rust.
- Read the technical wiki. This is where you will find all of our design documentation. (TBD)
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.
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.
- Familiarize yourself with using the development environment
- Now you are ready to pick 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.
- In addition, there are issues tagged with the "help wanted" label, which are ready for contributions.
- 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.
- Post a comment to the issue thread that you would like to claim. Someone with Contributor access<ANOTHER ROLE?> will assign you to the issue and label the issue as “Todo”, once triage is completed
- If you need a mentor, please @annieappflowy. We will assign you a mentor who's familiar with your task. We strongly recommend newcomers have a mentor in place.
- We also recommend new contributors only claim one issue until their first pull request is merged. This is to encourage folks to get familiar with the codebase and finish ongoing work before starting something new.
- We encourage early pull requests for work in progress.
- It's normal and totally ok 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.
- Ensure that the title is meaningful, and edit if not
- If report is unclear, add a comment asking for required details and add the
waiting for user responselabel
- If 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
Sponsoring is another great way to contribute to the community.
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 that 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!