Skip to content

Repository files navigation

Kindling

CI Maven Central License API Docs

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")
}

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'
}

Note: :compose and :android are 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

Contributing

See CONTRIBUTING.md.

Branch naming: feat/<short-description> · fix/<short-description> · chore/<short-description>


License

Licensed under the Apache License 2.0.

About

Kindling is a production-ready Kotlin library for Jetpack Compose, providing shadcn/ui-inspired Material3 components, typed navigation, structured ViewModels, and coroutine utilities in a modular, theme-aware package.

Topics

Resources

Contributing

Security policy

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages