From 5ca9a747ae000dd64d944345afe500149c3c6ead Mon Sep 17 00:00:00 2001 From: Rebecca Franks Date: Mon, 19 Jan 2026 16:15:25 +0000 Subject: [PATCH 1/4] Create AGENTS.md with project documentation Added project overview, technology stack, project structure, development workflow, and key guidelines for agents. --- AGENTS.md | 72 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 AGENTS.md diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 00000000..fe2b5bcb --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,72 @@ +# AGENTS.md + +## Project Overview +**Androidify** is an Android application that allows users to create custom Android bot avatars using AI. It leverages modern Android technologies and integrates with Google's Gemini models for generative AI features. + +## Technology Stack +- **Language**: Kotlin +- **UI Framework**: Jetpack Compose +- **Architecture**: MVVM / Clean Architecture guidelines (implied by `core`, `feature`, `data` structure) +- **AI/ML**: + - Gemini API (via Firebase AI Logic SDK) + - Imagen models +- **Camera**: CameraX +- **Navigation**: Navigation 3 (Compose) +- **Dependency Injection**: Hilt (implied by `libs.plugins.hilt` in build.gradle) +- **Build System**: Gradle (Kotlin DSL) + +## Project Structure +The project follows a modularized architecture: + +- **`/app`**: The main Android application module. Connects features and configures the app. +- **`/core`**: Core libraries and utilities shared across modules (e.g., `core/network`, `core/data`). +- **`/feature`**: Feature-specific modules (e.g., `feature/home`, `feature/editor`). +- **`/data`**: Data layer repositories and datasources. +- **`/wear`**: Wear OS specific module. +- **`/watchface`**: Watch face module for Wear OS. +- **`/setup`**: Scripts and configuration files for setting up the project (e.g., Firebase Remote Config). + +## Development Workflow + +### Prerequisites +- Android Studio (Latest Stable or Preview as needed for bleeding edge features) +- JDK 17+ (Standard for modern Android dev) +- `google-services.json` placed in `/app` (See `README.md` for setup). + +### Common Commands + +**Build:** +```bash +./gradlew assembleDebug +``` + +**Test:** +```bash +# Unit tests +./gradlew test + +# Instrumented tests +./gradlew connectedAndroidTest +``` + +**Code Formatting & Linting:** +This project uses **Spotless** for code formatting. + +```bash +# Check for formatting issues +./gradlew spotlessCheck + +# Apply formatting fixes +./gradlew spotlessApply +``` + +### Configuration +- **Firebase**: Requires a valid `google-services.json`. +- **Remote Config**: Defaults found in `core/network/src/main/res/xml/remote_config_defaults.xml`. +- **API Keys**: Managed via `local.properties` or build config fields (check specific module `build.gradle.kts` for details). + +## Key Guidelines for Agents +1. **Compose First**: adhere to modern Jetpack Compose best practices. +2. **Modularization**: Respect the module boundaries. Core modules should not depend on features. +3. **Spotless**: Always run `spotlessApply` on modified files if possible, or ensure code aligns with the project's style guide. +4. **AI Features**: When working on AI features, refer to the Firebase AI Logic SDK documentation and established patterns in the codebase. From 5261517cb622bc4a5cd7c379553d0f1a49b9b697 Mon Sep 17 00:00:00 2001 From: Rebecca Franks Date: Mon, 19 Jan 2026 16:24:57 +0000 Subject: [PATCH 2/4] Update AGENTS.md Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> --- AGENTS.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/AGENTS.md b/AGENTS.md index fe2b5bcb..311ae589 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -20,7 +20,7 @@ The project follows a modularized architecture: - **`/app`**: The main Android application module. Connects features and configures the app. - **`/core`**: Core libraries and utilities shared across modules (e.g., `core/network`, `core/data`). -- **`/feature`**: Feature-specific modules (e.g., `feature/home`, `feature/editor`). +- **`/feature`**: Feature-specific modules (e.g., `feature/home`, `feature/creation`). - **`/data`**: Data layer repositories and datasources. - **`/wear`**: Wear OS specific module. - **`/watchface`**: Watch face module for Wear OS. From 9373952e6963d4e9caa9cfd54217f50145e873a0 Mon Sep 17 00:00:00 2001 From: Rebecca Franks Date: Mon, 19 Jan 2026 16:25:30 +0000 Subject: [PATCH 3/4] Update AGENTS.md Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> --- AGENTS.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/AGENTS.md b/AGENTS.md index 311ae589..32345333 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -19,7 +19,7 @@ The project follows a modularized architecture: - **`/app`**: The main Android application module. Connects features and configures the app. -- **`/core`**: Core libraries and utilities shared across modules (e.g., `core/network`, `core/data`). +- **`/core`**: Core libraries and utilities shared across modules (e.g., `core/network`, `core/util`). - **`/feature`**: Feature-specific modules (e.g., `feature/home`, `feature/creation`). - **`/data`**: Data layer repositories and datasources. - **`/wear`**: Wear OS specific module. From 2a0a28f2ee1fa8938060b98f8bc8c0d5ac348b7a Mon Sep 17 00:00:00 2001 From: Rebecca Franks Date: Tue, 20 Jan 2026 14:39:45 +0000 Subject: [PATCH 4/4] Add tier 1 large screen guidelines --- AGENTS.md | 1 + 1 file changed, 1 insertion(+) diff --git a/AGENTS.md b/AGENTS.md index 32345333..6e6a3d52 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -70,3 +70,4 @@ This project uses **Spotless** for code formatting. 2. **Modularization**: Respect the module boundaries. Core modules should not depend on features. 3. **Spotless**: Always run `spotlessApply` on modified files if possible, or ensure code aligns with the project's style guide. 4. **AI Features**: When working on AI features, refer to the Firebase AI Logic SDK documentation and established patterns in the codebase. +5. **Large Screen**: The app is a Tier 1 example of Large screen guidelines, meaning its fully optimized for different screen sizes. When performing any changes, ensure it works across the specrtrum of Android devices.