“Floret” is the family’s design language: a Calendula flower head is a cluster
of many small florets, and each app is one of them. floret-kit holds what they
share, so a new app takes its settings screen, edit form and theme factory from
here instead of building them again, and brings only its own palette. Gradle’s dependency substitution maps
de.jeanlucmakiola.floret:<module> to local source, so editing the kit updates
every app immediately.
floret-kit
The shared Material 3 Expressive design system and plumbing behind the Floret app family, so each app draws on shared parts instead of reinventing them.
Features
Built from source
Embedded as a git submodule and wired in with a Gradle composite build. Nothing is published as an artifact, which keeps every app reproducible for F-Droid.
Identity and components
The M3 Expressive theme factory, navigation motion and predictive-back peek, plus the shared Compose components each screen is built from: grouped rows, inline fields, option cards, full-screen pickers, collapsing scaffolds.
Shared plumbing
core-time (local-day windows, locale-aware formatting), core-reminders (lead-time model and codec), core-locale (per-app language), core-crash (on-device capture and issue hand-off). Each app layers its own storage and strings on top.
Mechanics shared, look per-app
A component moves into the kit once two apps need the same behaviour. The theme factory is shared; the palette and typography it is fed stay with each app.