This documents outlines various important infomations when you're going to contribute to this project.
As this project is primarily geared towards plurality, a general knowledge of plurality terms can help here.
When in doubt, ask @ShadowRZ for a review.
Warning
The Nix Flakes environment only contains some bare essentional tools, most importantly it doesn't include Android SDK.
Basic familiarity with Kotlin, SQLDelight, Decompose and Metro are recommended.
This projects is written fully in Kotlin, please don't write Java classes.
Dependency updates are primarily managed by Renovate, so generally there's no need to submit dependency update PRs unless replacing dependencies are strongly recommended (for example to move off deprecated APIs).
Run detekt and checks:
$ ./gradlew detekt$ ./gradlew lintDebugIt's recommended to check if they're all passed before submitting PR.
Tests are exclusively written using Kotest, in most cases StringSpec, but feel free to use other testing styles.
TODO: Tests and coverage guideline, currently coverage is not measured, and only some presenters are tested.