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:
cd docspnpm installpnpm startAll stable documentation can be found in the versioned_docs folder.
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:
cd appflutter pub getflutter runAll subdirectories are documented in the app/README.md file.
Fork the project and create a pull request to add your code to the develop branch.
Windows development
This repository contains symbolic links, including the Rust toolchain file used by the Setonix plugin. On Windows, Git may check out symbolic links as plain text files when symbolic link support is disabled. This can cause the Flutter Windows build to fail because plugin/rust/rust-toolchain.toml is read as link text instead of as a real symbolic link.
Before cloning the repository on Windows, enable symbolic link support in Git:
git config --global core.symlinks trueThen clone the repository again:
git clone <repository-url>If the repository was already cloned, enable symbolic links locally and restore the symlink:
git config core.symlinks truegit restore --source=HEAD --staged --worktree plugin/rust/rust-toolchain.tomlIf the file is still restored as plain text, remove it and check it out again:
Remove-Item plugin\rust\rust-toolchain.tomlgit checkout -f HEAD -- plugin/rust/rust-toolchain.tomlYou can verify that Git created a real symbolic link with:
Get-Item plugin\rust\rust-toolchain.toml | Format-List LinkType,Target,FullNameThe LinkType should be SymbolicLink.
If Windows does not allow creating symbolic links, enable Developer Mode in Windows settings or run the terminal as Administrator.