Contributing to Arch Event Observer¶
Thanks for taking the time to contribute.
Quick Start¶
- Fork and clone the repo.
- Use JDK
21. - Build once to warm up Gradle:
Repository Layout¶
event-observer/-> shared result, flow, and LiveData APIsevent-observer-compose/-> Compose-facing observation APIsdocs/-> published MkDocs content
Development Workflow¶
- Create a branch from
master. - Keep changes small and scoped.
- Keep public docs, README, and KDoc aligned with shipped behavior.
- Add or update tests when behavior changes.
- Avoid unrelated refactors.
Local Validation¶
./gradlew ciBuild
./gradlew ciLint
./gradlew ciTest
./gradlew ciCoverage
./gradlew ciDocs
python -m mkdocs build --strict
Use the project wrapper and toolchain settings when validating changes.
Documentation Expectations¶
- Keep examples short, real, and tied to the public API.
- Explain status handling with
DataResultStatus,EventDataStatus, andDataResult<T>when relevant. - Mention platform differences when they affect behavior.
- Update README, public docs under
docs/, and release notes when public behavior changes.
Dependency Hygiene¶
- Keep direct build and tooling dependencies current when updates are low risk.
- Prefer stable releases over RC, beta, or alpha unless a prerelease is explicitly required.
- If an update needs a larger migration, call that out instead of hiding it inside a routine refresh.
Pull Request Checklist¶
- [ ] Tests updated or added when behavior changed
- [ ] Docs updated if behavior or usage changed
- [ ] README updated if the public API changed
- [ ] Validation checks passing