KmpSDK
Headless Kotlin Multiplatform SDK for Android and iOS.
Networking, auth, cache/offline sync, and MVI contracts — you own all UI (Compose, SwiftUI, XML, …).
| |
|---|
| Maven | in.co.niteshkukreja:kmp-sdk |
| Version | [Releases] (also sdkVersion in gradle.properties) |
Find it in the docs
Scan I want to…, check What’s inside for keywords (UseCase, ViewModel, …), then open Go to.
Get running
Features & data
Host app wiring
Reference & tools
Not sure which path? (30 seconds)
Need YOUR SQL offline for this feature?
YES → Path C → docs/feature-kit.md
NO → Last HTTP response offline OK?
YES → Path B → docs/networking.md + docs/integration-paths.md
NO → Path A → docs/getting-started.md
More detail: docs/integration-paths.md.
Do / don’t (quick)
60-second install
implementation("in.co.niteshkukreja:kmp-sdk:[Releases]")
KmpSdk.init(this) {
baseUrl = "https://api.example.com"
install(YourFeatureModule)
}
Repositories: mavenCentral() (add mavenLocal() only when testing a local publish).
Next (optional): SSL pinning → networking · Analytics → getting-started §4 · Firebase RC → auth-and-config
Sample app?
No in-repo Android/iOS sample yet. Use your consumer test app (e.g. TestingKmpSdk) — checklist: docs/sample-app.md.
Build (SDK maintainers)
.\gradlew.bat :kmp-sdk:compileDebugKotlinAndroid :kmp-sdk:allTests --no-daemon
Mac (incl. iOS targets for publish):
./gradlew :kmp-sdk:assemble --no-daemon
Publish iOS artifacts from a Mac (or macOS CI). See CONTRIBUTING.md.
What is NOT in the SDK
- Compose / SwiftUI screens or themes
- Platform toasts/snackbars
- Your domain entities & use cases live in the host (SDK only provides contracts +
install / get)
- iOS certificate pinning (host Darwin /
NSURLSession if needed)