Static stylized '1' on a slate (0xFF5C6B7A) background. The numeral
references kalendae, the Latin word for 'first day of the month' that is
the etymological root of both 'Calendar' and 'Calendula'. Adaptive icon
spec: foreground vector path, monochrome variant for themed icons (API
33+), no PNG fallback needed (minSdk 29 > 26).
Visual refinement is expected during the UI design iteration; this is
the foundational shape and meaning.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
READ_CALENDAR permission declared. Strings split into English master
(values/) and German (values-de/) with the Loading/Failure/Success
generic state strings used across screens. Backup rules let DataStore
back up by default with no file-based content. Theme stub delegates
real theming to Compose; the Activity-level XML theme only sets
transparent system bars and dark-mode hint.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- Restore 4-space indent on kotlin-compose plugin alias (regression from
the previous cleanup commit)
- Fix invalid ProGuard rule: HiltAndroidApp is an annotation type, not
a class - use '-keep @dagger.hilt.android.HiltAndroidApp class *' to
actually retain the @HiltAndroidApp-annotated Application
- Remove vectorDrawables.useSupportLibrary - dead config since minSdk 29
(native VectorDrawable support since API 21)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
AGP 9.0+ removes the kotlin-android plugin requirement (handled
automatically by AGP itself once kotlin-compose is applied). Task 5
removed it from app/build.gradle.kts; this commit removes the
no-longer-consumed alias from the root build and version catalog.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Code review on Task 4 flagged:
- distributionSha256Sum missing (F-Droid reproducibility concern)
- gradle.properties lacked org.gradle.parallel/caching (default off)
- inaccurate K2 attribution in a comment
SHA256 fetched live from downloads.gradle.org. Configuration cache
left commented for now until all plugins confirm AGP 9.1 compat.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Bootstrapped Gradle 8.14 wrapper from HouseHoldKeaper, then upgraded
to 9.5.1 (required by AGP 9.1.1). All dependency versions verified as
latest stable on 2026-06-08, with Material 3 deliberately pinned to
1.5.0-alpha21 (Expressive APIs are not in any stable release yet).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Code review flagged that F-Droid clients use Summary as the canonical
single-line app subtitle on the detail page; without it the slot would
fall back to the package id.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Code review on Task 2 flagged that 'Kotlin 2.3' could mislead a future
reader into bumping to 2.4.0, which has no KSP release yet. Spell out
the full versions and the KSP pairing constraint in both PROJECT.md
(Stack section) and REQUIREMENTS.md (Constraints section).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Dev machine has no host gradle binary; bootstrap from HouseHoldKeaper's
wrapper (Gradle 8.14, compatible with AGP 8.7.2). Default JDK is 26,
but AGP 8.7.2 needs JDK 17-21; require JAVA_HOME=jdk-17 on local
invocations. CI is unaffected (setup-java pins 17).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
First of an 8-plan sequence to build V1. Plan 01 covers the buildable
Android project scaffold: Gradle setup, Hilt, DataStore, Material 3
Expressive theme, adaptive launcher icon (statische "1" on slate
squircle, referencing kalendae), DE+EN i18n infrastructure, ColorScheme
unit tests, smoke UI test, Gitea CI workflow, F-Droid release workflow,
F-Droid metadata stubs, and .planning/ project-tracking documents.
14 tasks, each ending in a commit. Output is a working APK with green
CI before any feature code is written.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- App-Name: Calendula (etymologisch von 'kalendae' = erster Tag des
Monats, Wortwurzel von 'Kalender'; gleichzeitig die Ringelblume)
- Package: de.jeanlucmakiola.calendula
- Seed-Color: 0xFF5C6B7A (desaturiertes Schiefer-Blaugrau)
- Icon-Konzept: statische '1' auf M3-Expressive-Squircle, Slate-
Background; die '1' referenziert kalendae
UI-Layout-Details bleiben bewusst offen fuer die UI-Design-Iteration
nach Spec-Approval.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Initial design document for the Material 3 Expressive calendar app.
Covers scope (V1 read-only MVP, variant "B"), tech stack (Kotlin +
Compose + Material3 Expressive, minSdk 29), architecture, data flow
over CalendarContract, screens/menus, the mandatory Loading/Failure/
Success state pattern per screen, error handling, i18n, accessibility,
testing approach, and CI/CD adaptation from HouseHoldKeaper.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>