Kindling
A production-ready Kotlin multi-module component library for Jetpack Compose — shadcn/ui-inspired UI components, typed navigation, a structured ViewModel base, and coroutine utilities, all fully theme-aware via Material3.
📖 API reference: https://clementbobin.github.io/Kindling/
Modules
| Module | Artifact | Description | Distribution |
|---|---|---|---|
core |
io.github.clementbobin.kindling:core |
Shadcn/ui-style Compose components (Button, Input, Dialog, Carousel, DataTable, DatePicker, Stepper, Toaster, Skeleton, Spinner, Combobox, Empty state, Pagination…) | Maven Central · JitPack |
utils |
io.github.clementbobin.kindling:utils |
Coroutine utilities: Debouncer<T>, Throttler<T>, debounceLeading, throttleFirst Flow extensions |
Maven Central · JitPack |
compose |
io.github.clementbobin.kindling:compose |
Typed navigation (Destination, KNavHost), KViewModel base with state/events/data-loading helpers |
Maven Central · JitPack |
android |
io.github.clementbobin.kindling:android |
Android platform helpers: 30+ native device helpers (Camera, Biometric, Bluetooth, Location, NFC…), KHttpClient (Ktor-based with token refresh & caching), and session/token storage utilities |
Maven Central · JitPack |
Installation
Gradle Kotlin DSL
repositories {
mavenCentral()
maven("https://jitpack.io") // fallback
}
dependencies {
// UI components (Compose + Material3)
implementation("io.github.clementbobin.kindling:core:0.3.0")
// Coroutine utilities (debounce, throttle)
implementation("io.github.clementbobin.kindling:utils:0.3.0")
// Typed navigation + KViewModel (Android only)
implementation("io.github.clementbobin.kindling:compose:0.3.0")
// Android platform helpers: device APIs, HTTP client, token storage
implementation("io.github.clementbobin.kindling:android:0.3.0")
}
Content copied to clipboard
Gradle Groovy DSL
repositories {
mavenCentral()
maven { url 'https://jitpack.io' }
}
dependencies {
implementation 'io.github.clementbobin.kindling:core:0.3.0'
implementation 'io.github.clementbobin.kindling:utils:0.3.0'
implementation 'io.github.clementbobin.kindling:compose:0.3.0'
implementation 'io.github.clementbobin.kindling:android:0.3.0'
}
Content copied to clipboard
Note:
:composeand:androidare Android-only modules.
Requirements
-
minSdk 26+
-
JDK 17+
-
Kotlin 2.2.0+
-
Compose BOM 2025.05.00+
Components — core
All components read colours exclusively from MaterialTheme.colorScheme, so they work with any light/dark scheme out of the box.
Build & test
./gradlew build
./gradlew test
./gradlew :utils:test # utils tests only
Content copied to clipboard
Contributing
See CONTRIBUTING.md.
Branch naming: feat/<short-description> · fix/<short-description> · chore/<short-description>
License
Licensed under the LICENSE.