Skip to content

Repository Architecture

Layout

Path Responsibility
toolkit/multi Published Kotlin Multiplatform libraries
sample/shared Shared sample application and features
sample/target Android, desktop, and web entry points
build-logic Convention plugins and publication configuration
docs MkDocs source and generated Dokka location
.github CI, release, and publication automation
flowchart TD
    Root[Root CI tasks] --> Logic[build-logic conventions]
    Logic --> Libraries[toolkit/multi libraries]
    Logic --> Samples[sample projects]
    Libraries --> Dokka[Dokka per module]
    Docs[MkDocs source] --> Site[Published site]
    Dokka --> Site

Source Sets

Library convention plugins configure Android, JVM, JS browser, WasmJS browser, iOS arm64, and iOS simulator arm64. Modules add intermediate source sets when several platforms share an implementation, such as the operational and stub variants in storage-datastore.

Build Logic

Keep target, lint, test, publishing, and documentation conventions in build-logic. Module build files should declare module-specific dependencies and source-set behavior, not duplicate repository policy.

Samples

Sample projects are included only when -PincludeSamples=true or Android Studio injects its IDE property. This keeps library CI independent from the larger sample dependency graph.