LogoLogo
  • AppFlowy
    • ⭐Start here
      • Welcome to AppFlowy Docs
      • How to get help
      • Install AppFlowy
    • 🛠️Installation
      • 🖥️System Requirements
      • 💿Installation methods
        • Mac / Windows / Linux Packages
          • Installing on Linux
            • Installing & Setting up Flutter on Linux from Source
        • Docker
    • 🌱Community
      • 🤙Get in contact
      • 📔AppFlowy Mentorship Program
        • Program Guidance
        • Proposal Template
        • Pull Request Template
        • Mentorship 2023
          • Mentee Projects
            • Calendar View for AppFlowy Database
            • Custom Themes
            • Shortcuts and Customized Hotkeys for AppFlowy
            • Table
            • ⭐Favorites
            • Code Block
            • Outlines
            • Importers
            • AI Writers
            • Templates
          • Project Ideas
      • ✍️Write for AppFlowy
        • 📃Drafts
          • [Draft] Use Case: Software Engineer
          • [Draft] Use Case: High School Students
          • [Draft] How to add a new property to appflowy database
      • 🍂Hacktoberfest
    • 🛣️Roadmap
    • 🌋Product
      • 💽Data Storage
      • 🎨Customize and Style Content
      • ⏮️Duplicate, Delete, and Restore
      • 💎Databases
        • 🔢Database Properties
        • 🗃️Manage Properties
      • Ⓜ️Markdown
      • ⌨️Shortcuts
      • 🪄AppFlowy AI
      • 🦙AppFlowy Local AI - Ollama
      • 🎨Themes
      • ☁️AppFlowy Cloud
      • 🧩AppFlowy Plugins
        • Table-view Databases
        • Kanban Board
        • Calendar
        • Auto Generator
        • Smart Edit
        • Code Blocks
        • Math Equations
        • Cover
        • Emoji
  • Documentation
    • 💎Software Contributions
      • 🟢Get started
      • 💀Architecture
        • Frontend
          • Tauri
            • 🗺️CodeMap
          • Web
            • 🌟Design Philosophy
          • Flutter
            • 🗺️Project Structure: CodeMap
            • 🧮Grid
            • ⚙️Setting
          • Inter-Process Communication
          • User
            • User Data
            • Events & Notifications
          • Folder
            • Events & Notifications
          • Document
          • Database View
            • Events & Notifications
            • Grid
            • Calendar
            • Kanban Board
        • Backend
          • Initialize
          • Events
          • Delta(WIP)
          • Profiling
          • Database
        • Domain Driven Design
        • Proposals
      • 🏗️Conventions
        • 🔤Naming Conventions
        • ⌨️Code Conventions
          • 🐦Flutter
        • 🐙Git Conventions
      • 💛Submitting Code
        • 🏦Setting Up Your Repositories
        • ⤴️Submitting your first Pull Request
      • 🤟Coding Standards and Practices
        • 👽Rust Backend
    • 🚀AppFlowy
      • 👾How to contribute to AppFlowy
      • 🏗️Building from Source
        • 🌳Flutter Setup
          • 🐧Building on Linux
          • 🍎Building on macOS
          • 🪟Building on Windows
        • 🌐Web Setup
        • 📡Tauri Setup
      • ☁️Debugging with AppFlowy Cloud
      • 🔁Debugging in VS Code
      • ☎️Translate AppFlowy
      • ❓Troubleshooting
      • 👮‍♀️Licenses
    • 🏍️AppFlowy Editor
      • ⌨️How to Implement Markdown Syntax To Style Text In AppFlowy Editor
      • 🧩How to Create a Plugin for AppFlowy Editor
      • 👮‍♀️Licenses
    • ☁️AppFlowy Cloud
      • 🌈Architecture
      • ☀️Deployment
  • Guides
    • Sync Desktop and Mobile
    • Self-Hosting AppFlowy
      • ☁️Self-hosting AppFlowy with AppFlowy Cloud
      • 🆓Self-hosting AppFlowy for free Using Supabase
    • Import From Notion
  • Blog Highlights
    • 🔮Demystifying AppFlowy Editor's Codebase
  • Handbook
    • Core values
Powered by GitBook
On this page
  • Contributing
  • Feedback
  • Non-coding Contributions
  • Coding Contributions
  • Your First Codebase Contribution
  • Sponsor
  • Contributor T-Shirt
  • Code of Conduct

Was this helpful?

Edit on GitHub
  1. Documentation
  2. Software Contributions

Get started

PreviousSoftware ContributionsNextArchitecture

Last updated 1 year ago

Was this helpful?

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 . We'd love to hear your ideas!

  • Report . This really helps a lot!

  • Provide your suggestions on the

  • Review

  • Provide feedback on

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

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

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

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

  • Familiarize yourself with using the development environment

  • Now you are ready to pick your first issue

Where to look for your first issue

    • 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

Sponsor

Sponsoring is another great way to contribute to the community.

Contributor T-Shirt

Code of Conduct

Join our . Here you will be able to chat with all of our contributors and the heads of the project.

Awesome issues for .

Provide feedback on

Review

If you are ready to code (maybe a lot), please submit a !

First, make an account on the , and pay attention to the community norms.

Set up your , getting help or in #general on .

Check out

Read the guide if you are new to GitHub or development in general

You can look through unclaimed issues .

Add appropriate labels to the issue and add the issue to

Buy us a coffee on

For more extensive sponsorship, please contact Annie at

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 () to receive the very special Contributor T-shirt!

Proudly wear your T-shirt and show it to us by tagging on Twitter.

DSCF3560

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

💎
🟢
feature requests
bugs
forum
Pull Requests
proposed features
forum
Discord
beginners or newcomers
proposed features
Pull Requests
patch
AppFlowy community server
AppFlowy development environment
on the forum
the community server
How we built AppFlowy with Flutter and Rust
Submitting Code
here
AppFlowy's Project
ko-fi
[email protected]
link
@appflowy
[email protected]
Contributor Covenant
Person wearing AppFlowy Contributor T-Shirt seen from the back