🟢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!

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:

  • 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.

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 label

  • 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

  • Add appropriate labels to the issue and add the issue to AppFlowy's Project

Sponsoring is another great way to contribute to the community.

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!

Contributor Covenant

Last updated