Introduction
Typed Kotlin Multiplatform reads with explicit origins, freshness, and failure states.
Store 6 coordinates network, persistence, and memory through one read contract. Start with a fetcher, then add only the persistence and projections your application needs.
val users = store<UserKey, User> {
fetcher { key -> FakeApi.getUser(key.id) }
}This store block is verbatim from the executable Quickstart module.
Why Store 6?
Data that lives in more than one place (a network, a local database, and memory) has to be coordinated: which copy is fresh, which boundary failed, and what a screen should render while a fetch is in flight. Store 6 standardizes that coordination behind one typed read contract, so application code stops re-implementing it around every endpoint.
You describe a key and a fetcher. Store handles single-flighting concurrent demand, staleness,
invalidation, and bounded memory. Every zero-config behavior is named and covered by a conformance
test. The store6-* coordinates publish side by side with Store 5 for the whole 6.x major, so you
can migrate one screen at a time.
Store 6 has these primary areas:
- Core reads (
store6-core): thestreamandgetread contract, with explicit origins, freshness, and failure states. - Mutations (
store6-mutations, experimental): the journalled write path with optimistic overlays and acknowledgements. - Integrations: Room and SQLDelight persistence adapters, and the Compose extensions.
- Migration: Store 5 interop and screen-by-screen migration while both coordinate lines coexist.
Start here
Choose the guide for what you need to add next.
Modules and targets
API tier and target coverage are separate. Experimental modules can still publish broad target matrices, while adapter execution depends on the database runtime available on each target.
Read the Stability policy and API tiers guidance for these classifications.
store6-coreStable trackThe API is not frozen until the beta01 freeze candidate.
- Release target
- alpha01
- Targets
- Canonical 12
store6-testingExperimental- Release target
- alpha01
- Targets
- Canonical 12
store6-mutationsExperimental- Release target
- alpha01
- Targets
- Canonical 12
store6-composeExperimental- Release target
- alpha01, may slip one alpha
- Targets
- Canonical 12
store6-sqldelightExperimental- Release target
- alpha01, may slip one alpha
- Targets
- Canonical 12 artifacts. Drivers run on Android, JVM, Apple, Linux, and Windows. JS and Wasm are compile-only.
store6-roomExperimental- Release target
- alpha01, may slip one alpha
- Targets
- Android, JVM, iosArm64, iosSimulatorArm64, macosArm64, watchosArm64, tvosArm64, and linuxX64.
store6-devtoolsExperimental- Release target
- alpha02 (target)
- Targets
- Canonical 12
store6-devtools-inspectorExperimental- Release target
- alpha02 (target)
- Targets
- Inspector 8
Canonical 12: Android, JVM, iosArm64, iosSimulatorArm64, iosX64, macosArm64, watchosArm64, tvosArm64, JS, WasmJS, linuxX64, and mingwX64.
Inspector 8: Android, JVM, iosArm64, iosSimulatorArm64, iosX64, macosArm64, JS, and WasmJS.
Browse the store6-core API reference for the core surface.
Community
- Community resources: Talks and interviews spanning both Store generations.
- GitHub: Issues and discussions for the Store project.
llms.txt
/llms.txt is an index of the Store6 documentation. Individual Markdown pages and the complete Store6 guide corpus provide context with recorded source information. See Agents and LLMs to choose context or install the Store6 skill.
Source recorded 2026-08-12 ·main@c67a94ed· pre-6.0.0-alpha01