Contributing
Good first issues are labeled good-first-issue on GitHub. Build and run the JVM tests before starting:
./gradlew jvmTestWhat to work on
Section titled “What to work on”- Feature parity gaps with Logseq (check open issues)
- Test coverage —
businessTestandjvmTestare the priority targets - Platform polishing — desktop keyboard shortcuts, Android layout edge cases
- Documentation — corrections and additions to the pages in
site/src/content/docs/
Branch naming
Section titled “Branch naming”Use feature/short-description or fix/short-description. Branch from main. Keep branches focused — one logical change per PR.
Test requirements
Section titled “Test requirements”Every PR that changes behavior requires a test. Accepted test locations:
businessTest— business logic without UI dependencies (preferred)jvmTest— JVM UI and integration testscommonTest— shared utilities only
Tests in jvmTest may use Roborazzi for screenshot assertions. Add screenshot baselines when you add a new composable.
Run the full suite before opening a PR:
./gradlew allTestsPR process
Section titled “PR process”- Open a draft PR early — this is encouraged for feedback on approach
- Fill in the PR description with what changed and why
- All CI checks must pass before review
- Request review from a maintainer once ready
SteleKit is source-available (Elastic License 2.0). By submitting a PR you agree that your contribution will be published under that license.
Questions
Section titled “Questions”Open a GitHub Discussion or comment on the relevant issue. The maintainer response time is best-effort.