This is a library containing utilities for working with mobility data formats in Kotlin Multiplatform.
./utils- Common utilities for all modules./gtfs-schedule- General Transit Feed Specification (GTFS) - Schedule client./gtfs-realtime- (TODO) GTFS - Realtime client./gbfs-v1- General Bikeshare Feed Specification (GBFS) v1 client./gbfs-v2- GBFS v2 client./gbfs-v3- GBFS v3 client./gofs-v1- General On-Demand Feed Specification (GOFS) v1 client
- Build:
./gradlew buildorjust build - Lint:
./gradlew detektorjust detekt - Format:
just format(runs pre-commit hooks) - Test (all):
./gradlew allTestsorjust test - Test (JVM):
./gradlew jvmTestorjust test-jvm - Test (single file):
./gradlew jvmTest --tests ClassName - Coverage:
./gradlew :koverHtmlReportorjust coverage - Docs:
./gradlew :dokkaGenerateHtmlorjust build-dokka
Never make a commit unless explicitly asked to do so. Such permission only extends to that one commit, not to future commits in that session.
Before staging files for a commit, format all files and update the ABI dump:
pre-commit run --all-files --hook-stage manual
When writing commit messages, always include a signoff in the commit message following this format:
🤖 Generated with [Agent Name](https://agent-url)
Co-Authored-By: Agent Name <example@agent-domain>
Examples:
- Claude:
🤖 Generated with [Claude Code](https://claude.com/claude-code)andCo-Authored-By: Claude <noreply@anthropic.com> - OpenCode:
🤖 Generated with [OpenCode](https://opencode.ai)andCo-Authored-By: OpenCode <noreply@opencode.ai> - Amp:
🤖 Generated with [Amp](https://ampcode.com)andCo-Authored-By: Amp <amp@ampcode.com>
Each coding agent should use their own Author and URL but maintain the same format.