Keep contributions focused, dependency-light, and safe for the edition they change. Read the applicable edition README before starting.
- Create a branch for one cohesive change.
- Do not commit
.envfiles, cookies, databases, downloaded media, APK/AAB files, signing material, or credentials. - Describe every new configuration value in that edition's
.env.exampleand README. Use non-working placeholders only. - Add or update tests for behavior changes and keep docs and licensing claims accurate.
From prod/android/, run the relevant checks before opening a pull request:
./gradlew testEmulatorDebugUnitTest lintEmulatorDebugWhen an emulator/device is available, run the appropriate connected Compose or
instrumentation tests as well. Do not distribute assembleEmulatorDebug to
physical Android users; a requested physical-device debug build is
:app:assembleArm64Debug.
Use the repository's Kotlin/Compose formatting conventions. Avoid unrelated formatting churn, and ensure secret-bearing text is never retained in logs, saved state, test fixtures, or screenshots.
For the root source, run the checks documented in README.md. For the OSS server and private production deployment, use OSS/README.md and prod/README.md, respectively.
For security-sensitive issues, follow SECURITY.md instead of opening a public issue.