> For the complete documentation index, see [llms.txt](https://docs.appflowy.io/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.appflowy.io/docs/documentation/appflowy.md).

# AppFlowy

Welcome to the AppFlowy software development documentation. Here you will find all of the resources that you need to start developing the AppFlowy project.

These pages will guide you through the stages of setting up your development environment, connecting to our code base, learning how to code for AppFlowy, and finally submitting code to the project.

## Environment setup

In order to start developing you will need to set up your environment. We have set up instructions for Linux, MacOS, and Windows.

{% content-ref url="/pages/reM5WrqTPe1QcLS8EeLL" %}
[Building on Linux](/docs/documentation/appflowy/from-source/environment-setup/building-on-linux.md)
{% endcontent-ref %}

{% content-ref url="/pages/aChlxW6lI7bvFqOExjbX" %}
[Building on macOS](/docs/documentation/appflowy/from-source/environment-setup/building-on-macos.md)
{% endcontent-ref %}

{% content-ref url="/spaces/vs4LQcuzr0JR34ApS5sM/pages/Eq5Ta3tUwioCOO7AHFrn" %}
[Building on Windows](/docs/documentation/appflowy/from-source/environment-setup/building-on-windows.md)
{% endcontent-ref %}

## Coding Conventions

{% content-ref url="/pages/46722ohYHV2Vx4Xa9zX6" %}
[Git Conventions](/docs/documentation/software-contributions/conventions/git-conventions.md)
{% endcontent-ref %}

{% content-ref url="/pages/BC2AGL4wWD2E45UHlukO" %}
[Code Conventions](/docs/documentation/software-contributions/conventions/code-conventions.md)
{% endcontent-ref %}

{% content-ref url="/pages/QysOXXB4qLN3JYgYWEpD" %}
[Naming Conventions](/docs/documentation/software-contributions/conventions/naming-conventions.md)
{% endcontent-ref %}

## Architecture documentation

{% content-ref url="/pages/5dlAz5QqJLm8v1okJ0tf" %}
[Architecture](/docs/documentation/software-contributions/architecture.md)
{% endcontent-ref %}

* [How we built AppFlowy with Flutter and Rust](https://blog-appflowy.ghost.io/tech-design-flutter-rust/)
* [How we built a highly customizable rich-text editor for Flutter](https://blog-appflowy.ghost.io/how-we-built-a-highly-customizable-rich-text-editor-for-flutter/)

## How-tos

{% content-ref url="/pages/IEHViTtabpOP2kxI1rW6" %}
[Translate AppFlowy](/docs/documentation/appflowy/translation.md)
{% endcontent-ref %}

{% content-ref url="/pages/jEPs8tRXM5VHl1092w2x" %}
[Submitting your first Pull Request](/docs/documentation/software-contributions/submitting-code/submitting-your-first-pull-request.md)
{% endcontent-ref %}
