diff --git a/.gemini/config.yaml b/.gemini/config.yaml new file mode 100644 index 00000000..7a05ec4a --- /dev/null +++ b/.gemini/config.yaml @@ -0,0 +1,23 @@ +# Gemini Code Assist Configuration +# See: https://developers.google.com/gemini-code-assist/docs/customize-gemini-behavior-github + +# Feature settings +have_fun: false + +code_review: + disable: false + comment_severity_threshold: MEDIUM + max_review_comments: -1 + +pull_request_opened: + summary: true + code_review: true + include_drafts: true + +# Files to ignore in Gemini analysis +ignore_patterns: + - "**/*.bin" + - "**/*.exe" + - "**/build/**" + - "**/.gradle/**" + - "**/secrets.properties" diff --git a/.gemini/styleguide.md b/.gemini/styleguide.md new file mode 100644 index 00000000..adfd0496 --- /dev/null +++ b/.gemini/styleguide.md @@ -0,0 +1,18 @@ +# Gemini Code Assist Style Guide: android-maps-compose + +This guide defines the custom code review and generation rules for the `android-maps-compose` project. + +## Jetpack Compose Guidelines +- **API Guidelines**: Strictly follow the [Jetpack Compose API guidelines](https://github.com/androidx/androidx/blob/androidx-main/compose/docs/compose-api-guidelines.md). +- **Naming**: Composable functions must be PascalCase. +- **State Management**: Prefer library-provided state holders like `rememberCameraPositionState` or `MarkerState`. +- **Modifiers**: The first optional parameter of any Composable should be `modifier: Modifier = Modifier`. + +## Kotlin Style +- **Naming**: Use camelCase for variables and functions. +- **Documentation**: Provide KDoc for all public classes, properties, and functions. +- **Safety**: Use null-safe operators and avoid `!!`. + +## Project Specifics +- **Secrets**: Never commit API keys. Ensure they are read from `secrets.properties` via `BuildConfig` or similar. +- **Maps SDK**: Use the components provided in `maps-compose`, `maps-compose-utils`, and `maps-compose-widgets` rather than raw `GoogleMap` objects.