mirror of
https://github.com/d4rken-org/capod.git
synced 2026-09-16 11:16:12 -04:00
Migrate monolithic root CLAUDE.md into .claude/rules/ structure with focused topic files and glob-based contextual loading. Clean up leftover helper scripts in .claude/tmp/.
1.7 KiB
1.7 KiB
CAPod - Companion for AirPods
Android app that detects and monitors AirPods via Bluetooth LE. Displays battery levels, triggers popup notifications on case open, and provides home screen widgets.
Project Structure
| Module | Description |
|---|---|
app/ |
Main Android app (FOSS and Google Play flavors) |
app-common/ |
Shared code between phone and Wear OS apps |
Build Flavors
- FOSS (
foss): Open-source, no Google Play dependencies - Google Play (
gplay): Includes billing client for IAP
Quick build check: ./gradlew assembleFossDebug
Key Locations
| Path | Contains |
|---|---|
app/src/main/java/ |
Main app source (activities, fragments, services) |
app-common/src/main/java/ |
Shared logic (monitor, bluetooth, models) |
app/src/main/res/ |
Layouts, drawables, strings |
app-common/src/test/ |
Unit tests |
app/build.gradle.kts |
App build config, dependencies, flavors |
Development Tips
- Use
assembleFossDebugas the fastest build variant for iteration - Shared code goes in
app-common/, app-specific code inapp/ - Follow existing patterns — the codebase uses MVVM + Hilt + Coroutines
- Always use string resources for user-facing text (see localization rules)
- Check
git log --oneline -20for commit message style before committing
Rules Reference
Detailed guidelines are in .claude/rules/:
architecture.md— Module structure, key components, data flow, dependenciesbuild-commands.md— Build, test, lint, and release commandslocalization.md— String resource naming conventionscommit-guidelines.md— Commit message format and prefixesagent-instructions.md— Sub-agent delegation and critical thinking