Aller au contenu

Contribution guide

There are many ways to contribute to this project. Thanks to everyone who has contributed! If you have any questions, please contact me at contact@linwood.dev.

There is a matrix server for this project here and a discord server here.

Please follow the Code of Conduct.

Give feedback

The best way to give feedback is to open an issue on GitHub. Please report any bug you find here.

If you have a feature that you would like to see added, please open an issue here.

Test nightly builds

Nightly builds are not production ready and need to be tested. Please report any bugs in the github issues section.

Read more about it here.

Write documentation

Documentation is important for users to understand the program and its features. The documentation is written in markdown, a simple markup language. It can be found in the docs folder.

To start, please install pnpm.

Get started by running:

Terminal window
cd docs
pnpm install
pnpm dev

All content is written in the docs/src/content/docs folder. Please do not edit the localized files directly, but the directory docs, downloads, community and the index.mdx file.

Fork the project and create a pull request to add your documentation to the develop branch.

Translate

Crowdin is a service that allows you to translate the documentation and the app. Click here to see the project and start translating. If you have a new language to add, please contact me.

Code

This project is written in Dart and was built with Flutter. The app source code can be found in the app folder.

Please install the dependencies first:

  • libsecret-1-dev
  • libjsoncpp-dev

On windows, please install visual studio build tools (or visual studio) and all flutter dependencies. Additionally install the atl library.

To get started, run:

Terminal window
cd app
flutter pub get
flutter run

All subdirectories are documented in the README.md file of the specific project api or app.

Fork the project and create a pull request to add your code to the develop branch.

Getting started

There are two different dart projects in this repository.

In the api folder you will find general classes that can be used to interact with Butterfly files and general classes. Read more here.

The app folder contains the main app code. Read more here.