Everyone is welcome to contribute code to Matrix API Lite, provided that they are willing to license their contributions under the same license as the project itself. Please follow these rules when contributing code to Matrix API Lite:
- Never ever just push something directly to the main branch!
- Create a new branch or fork this project and send a Merge Request.
- Only Merge Requests with a working CI can be merged.
- Only Merge Requests with at least one code reviewer can be merged.
- Merge Requests may be refused if they don't follow the rules below.
- A new Merge Request SHOULD never decrease the test coverage.
Branches should get named by this pattern: [Author]/[Description]
.
Please use conventional commit messages.
- Every file must be named by the class and must be capitalized in the beginning.
- Directories need to be lowercase.
Please use code formatting. You can use VSCode or Android Studio. On other editors you need to run:
flutter format lib/**/*/*.dart
- Don't repeat yourself! Use local variables, functions, classes.
- Write tests for new classes, functions and widgets.
- Keep it simple stupid: https://en.wikipedia.org/wiki/KISS_principle
- Describe all of your classes, methods and attributes using dartdoc comments. Read this for more information: https://dart.dev/guides/language/effective-dart/documentation