<p align="center"><img src="imgs/appflowy_title_and_logo.png" alt="The Open Source Notion Alternative." width="500px" /></p>


# Contributing to AppFlowy

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.

Consult the Table of Contents below, and jump to the desired section.

## Table of Contents
- [Contributing](#contributing)
  - [Feedback](#feedback)
  - [Non-coding Contributions](#non-coding-contributions)
  - [Coding Contributions](#coding-contributions)
- [Sponsor](#sponsor)
- [Contributor T-shirt](#contributor-t-shirt)
- [Code of Conduct](#code-of-conduct)
- [Sign the CLA Agreement](#sign-the-cla-agreement)


## Contributing
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.

### Feedback

Not feeling quite up to working on the project yet? Tell us your suggestions!
- Submit [feature requests](https://github.com/AppFlowy-IO/appflowy/issues). We'd love to hear your ideas!
- Report [bugs](https://github.com/AppFlowy-IO/appflowy/issues). This really helps a lot!
- Provide your suggestions on the [forum](https://github.com/AppFlowy-IO/appflowy/discussions)
- Review [Pull Requests](https://github.com/AppFlowy-IO/appflowy/pulls)
- Provide feedback to [proposed features](https://github.com/AppFlowy-IO/appflowy/issues)

[Back to TOC](#table-of-contents)

### Non-coding Contributions

You want to work on 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 to our community. Here are a few ideas:

- Answer questions having ""General help wanted" or "Technical help wanted" labels on the [forum](https://github.com/AppFlowy-IO/appflowy/discussions)
- 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.

[Back to TOC](#table-of-contents)

### 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](https://discord.com/invite/9Q2xaN37tV). 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 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)
  - 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](https://github.com/AppFlowy-IO/appflowy/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue+for+devs%22).
    - Provide feedback [proposed features](https://github.com/AppFlowy-IO/appflowy/issues)
    - Review [Pull Requests](https://github.com/AppFlowy-IO/appflowy/pulls)
- If you are ready to code (maybe a lot), please submit a [patch](https://github.com/AppFlowy-IO/appflowy/pulls)!
    - (WIP: guidelines)
    - (WIP: Code Style)

[Back to TOC](#table-of-contents)

## Sponsor

Sponsoring is another great way to contribute to the community.
  - Buy us a coffee on [ko-fi](https://ko-fi.com/appflowy)

[Back to TOC](#table-of-contents)

## Contributor T-Shirt

If your Pull Request was accepted as it fixes a bug, adds functionality, or makes AppFlowy's codebase significantly easier to use or understand, congratulations! You are now an official contributor to AppFlowy. Get in touch with us ([link](https://tally.so/r/mKP5z3)) to receive the very special Contributor T-shirt!

Proudly wear your T-shirt and show it to us by tagging [@appflowy](https://twitter.com/appflowy) on Twitter.

[Back to TOC](#table-of-contents)


## Code of Conduct

Please report a code of conduct violation to annie@appflowy.io.
Let's encourage the behavior we want to see in the world and constantly foster a welcoming environment!

[Contributor Covenant](https://www.contributor-covenant.org/version/2/0/code_of_conduct/)


[Back to TOC](#table-of-contents)

## Sign the CLA Agreement

TBD

[Back to TOC](#table-of-contents)
