docs: changelog, docs/ set, CONTRIBUTING, LICENSE
Bring floret-kit up to the family's repo conventions: - CHANGELOG.md (Keep a Changelog) — what each module added. - README.md — full module table (core-time/core-crash/identity/components) + consumption notes and a docs index. - docs/README.md (index), docs/ARCHITECTURE.md (module layering, the submodule + composite-build consumption model, JVM vs android-library, the reproducibility rules, the share-mechanics-not-look contract), docs/ROADMAP.md (extracted vs deferred vs deliberately-not-shared, from the cross-app survey). - CONTRIBUTING.md — the no-app-coupling rules, how to add a module, how an app adopts the kit. - LICENSE (MIT, matching the apps). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
29
README.md
29
README.md
@@ -25,18 +25,35 @@ implementation("de.jeanlucmakiola.floret:core-time")
|
||||
```
|
||||
|
||||
Gradle's dependency substitution maps `de.jeanlucmakiola.floret:<module>` to the
|
||||
local source module — edit the kit and the app picks it up immediately.
|
||||
local source module — edit the kit and the app picks it up immediately. Android
|
||||
modules need an SDK location for the included build: set `ANDROID_HOME` (CI) or
|
||||
add a gitignored `<app>/floret-kit/local.properties` with `sdk.dir` (locally).
|
||||
See [`docs/ARCHITECTURE.md`](docs/ARCHITECTURE.md) for the full consumption model.
|
||||
|
||||
## Modules
|
||||
|
||||
| Module | What it holds |
|
||||
|--------|---------------|
|
||||
| `core-time` | Pure-Kotlin date/time helpers: local-day windows (`DayWindow`) for smart-list logic and locale/zone-aware display formatting (`Instant.formatDate()` / `formatTime()` / `formatDateTime()`). No Android, no deps. |
|
||||
| Module | Type | What it holds |
|
||||
|--------|------|---------------|
|
||||
| `core-time` | JVM | Date/time helpers: `DayWindow` local-day windows, locale/zone-aware `Instant` formatting, `TimeBridge` (millis ↔ `Instant`). No Android, no deps. |
|
||||
| `core-crash` | Android | Privacy-respecting on-device crash capture + report dialog + issue-tracker hand-off. Parameterized per app via `CrashConfig`. |
|
||||
| `identity` | Android | The M3 Expressive theme factory `FloretExpressiveTheme(…)` + `rememberNavSlideSpec()`. Each app supplies its own seed/palette. |
|
||||
| `components` | Android | Shared Compose vocabulary: `GroupedSurface`/`GroupedRow`, `InlineTextField`, `OptionCard`, `CollapsingScaffold`, `OptionPicker`, `pastelize()`. |
|
||||
|
||||
_More modules (identity/theme, components, screen recipes, provider/prefs/reminders/crash plumbing) land as they're extracted from the apps._
|
||||
_The principle: the **mechanics** are shared, the **look** stays per-app. See
|
||||
[`docs/ROADMAP.md`](docs/ROADMAP.md) for what's extracted, deferred, and
|
||||
deliberately not shared._
|
||||
|
||||
## Docs
|
||||
|
||||
See [`docs/`](docs/) — start with [`docs/README.md`](docs/README.md)
|
||||
([ARCHITECTURE](docs/ARCHITECTURE.md), [ROADMAP](docs/ROADMAP.md)) and
|
||||
[`CONTRIBUTING.md`](CONTRIBUTING.md) to add or change a module.
|
||||
[`CHANGELOG.md`](CHANGELOG.md) tracks what landed.
|
||||
|
||||
## Build
|
||||
|
||||
```sh
|
||||
./gradlew :core-time:test
|
||||
./gradlew :core-time:test # JVM module tests
|
||||
./gradlew :core-crash:testDebugUnitTest
|
||||
./gradlew build # everything (Android modules need an SDK; see above)
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user