1.8 KiB
1.8 KiB
Repository Guidelines
Project Structure & Modules
app/: Android app (Jetpack Compose UI, DI, data, Room, navigation).ai/: AI SDK and provider integrations (OpenAI, Google, Anthropic) with optional native/NN deps.highlight/,search/,tts/,common/: Feature and utility modules.- Tests:
ai/src/test(unit),ai/src/androidTest(instrumented);app/src/testscaffolded. - Assets:
app/src/main/assets, resources underapp/src/main/res.
Coding Style & Naming
- Kotlin with 4‑space indent, 120 char line limit (
.editorconfig). - Classes/objects: PascalCase; functions/properties: camelCase; resources: snake_case.
- Compose: Composables start UpperCamelCase; pages typically end with
Page(e.g.,SettingProviderPage). - Keep modules isolated; share utilities via
common.
Testing Guidelines
- Frameworks: JUnit (unit), AndroidX test/espresso (instrumented).
- Place unit tests alongside module under
src/test/...; instrumented undersrc/androidTest/.... - Name tests
*Test.ktand cover parsing, providers, and critical transforms. - Validate instrumented flows for streaming/SSE where feasible.
Commit & PR Guidelines
- Use Conventional Commits:
feat:,fix:,chore:,refactor:… with a clear, concise subject. Scope optional. - Keep PRs focused; include description, linked issue, and screenshots for UI changes.
- Run
testandlintbefore opening PRs; note any platform caveats (device/emulator). - Per README: do not submit new languages, unrelated large features, or broad refactors/AI‑generated mass edits.
Security & Configuration
- Never commit secrets or signing files. Keep API keys in secure storage; avoid hardcoding.
local.propertiesholds signing values;google-services.jsonstays inapp/and is ignored by Git.