# yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json # CodeRabbit config — see https://docs.coderabbit.ai/getting-started/yaml-configuration language: en-US reviews: # chill = fewer nitpicks. CI already gates detekt/spotless/tests, and the # maintainers are experienced — we want CodeRabbit for substance, not lint noise. profile: chill high_level_summary: true poem: false # Don't burn reviews on WIP. This repo opens lots of draft PRs; review on "ready". # Skip Renovate dependency updates — CI gates dependencies; we review for substance, not every bump. auto_review: enabled: true drafts: false ignore_usernames: - renovate - renovate[bot] # Stop reviewing once a PR is closed. abort_on_close: true path_filters: # Generated / huge / non-source — don't review, just noise + token burn. - "!**/build/**" - "!**/*.png" - "!**/*.webp" - "!**/firmware_releases.json" - "!**/emoji-data.json" - "!**/flatpak-sources.json" # Crowdin-managed translations — owned upstream, not hand-edited here. - "!**/values-*/strings.xml" path_instructions: - path: "**/commonMain/**" instructions: > KMP common code. Flag any import of java.* or android.* — these break non-Android targets. Expect KMP equivalents instead (Okio, kotlinx Mutex/atomicfu, NumberFormatter.format() for floats). - path: "**/*.kt" instructions: > Flag leftover // ... existing code ... placeholders, and any logging of PII, location, or cryptographic keys. - path: "**/src/**/strings.xml" instructions: > New string resources must be alphabetically sorted (scripts/sort-strings.py). Flag out-of-order additions. # CI is the source of truth for detekt + spotless (Zero Lint Tolerance gate), # so disable detekt here to avoid duplicate comments. Keep the security/CI/shell # scanners CI doesn't run inline. tools: detekt: enabled: false