Files
coco 7846a45f2c a
2026-07-03 15:47:27 +08:00

1.8 KiB
Raw Permalink Blame History

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/test scaffolded.
  • Assets: app/src/main/assets, resources under app/src/main/res.

Coding Style & Naming

  • Kotlin with 4space 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 under src/androidTest/....
  • Name tests *Test.kt and 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 test and lint before opening PRs; note any platform caveats (device/emulator).
  • Per README: do not submit new languages, unrelated large features, or broad refactors/AIgenerated mass edits.

Security & Configuration

  • Never commit secrets or signing files. Keep API keys in secure storage; avoid hardcoding.
  • local.properties holds signing values; google-services.json stays in app/ and is ignored by Git.