This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
"Simple Random Reminders" (internal name: Yapp) - an Android app that delivers random reminder notifications at user-configured times. Users create reminders with customizable schedules (days of week, time windows, frequency), colors, and action items. Includes a motivational quotes feature and home screen widget.
./gradlew assembleDebug # Build debug APK
./gradlew assembleRelease # Build release APK
./gradlew testDebugUnitTest # Run unit tests
./gradlew connectedDebugAndroidTest # Run instrumented tests (requires device/emulator)
./gradlew kspDebugKotlin # Run KSP annotation processing (Room, Hilt)
./gradlew lint # Run Android lintSingle-module Kotlin app using Jetpack Compose with MVVM + Repository pattern.
Package structure (com.happypuppy.simplerandomreminders):
data/- Room database (YappDatabase, entities, DAOs), DataStore preferences, repository implementationsdomain/- Models (Reminder,ActionItem,Quote,ReminderColor,SortMode) and scheduler interfacesdi/- Hilt dependency injection modules (AppModule,RepositoryModule)ui/- Compose screens, theme, navigation (YappNavGraphwith type-safe routes viaYappRoute)notification/- Alarm scheduling (ReminderAlarmReceiver), boot receiver, notification managementwidget/- Glance-based home screen widgetutil/- PDF export and JSON backup utilities
Key tech stack: Kotlin, Jetpack Compose, Material 3, Room (KSP), Hilt, DataStore, Navigation Compose (type-safe with kotlinx.serialization), Glance (widget), AlarmManager (scheduling)
Theme: Teal primary / Orange accent color scheme with light/dark/dynamic color support. Theme composable is SimpleRandomRemindersTheme in ui/theme/Theme.kt.
Database: Room database named yapp_database with tables for reminders, action items, and quotes.
Navigation: Type-safe routes defined as sealed interface YappRoute (Home, Editor, Settings, Quotes).
- Package:
com.happypuppy.simplerandomreminders - Min SDK: 31 (Android 12)
- Target/Compile SDK: 36
- Java: 11
- Version catalog:
gradle/libs.versions.toml