Repository navigation
Expand file tree
/
Copy path.coderabbit.yaml
More file actions
48 lines (45 loc) · 2.48 KB
/
Copy path.coderabbit.yaml
File metadata and controls
48 lines (45 loc) · 2.48 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# 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.
profile: chill
high_level_summary: true
poem: false
auto_review:
enabled: true
# Don't burn reviews on WIP. This repo opens lots of draft PRs; review on "ready".
drafts: false
# Review PRs regardless of target branch.
base_branches:
- .*
# Skip Renovate dependency updates - CI gates dependencies; we review for substance, not every bump.
ignore_usernames:
- renovate
- renovate[bot]
# Stop reviewing once a PR is closed.
abort_on_close: true
path_filters:
# Generated - don't review, just noise + token burn.
- '!generated/**'
path_instructions:
- path: source/**/*
instructions: >
Evaluate the structural design and object-oriented patterns used.
Focus on the architectural design, adherence to SOLID principles, object-oriented design patterns,
separation of concerns, testability (unit tests), and system maintainability.
Flag high coupling, introduction of unnecessary dependencies, weak cohesion, or architectural violations.
Navigate logical layers of code changes, visualize relationships, and explore their blast radius.
- path: tests/**
instructions: >
Review tests as executable specifications of user-visible or component behavior.
Check that changed behavior has focused coverage, especially boundary conditions,
state transitions, error paths, and interactions with external services or hardware.
Prefer deterministic, isolated Doctest cases with meaningful assertions over implementation-detail checks,
duplicated setup, sleeps, or tests that depend on global state, network access, filesystem contents, or real hardware.
Flag production design changes that make behavior difficult to exercise without heavyweight fixtures or mocks,
but do not request tests for trivial wiring or generated code.
This codebase uses LVGL, but LVGL is not necessarily involved in every unit test.
View and presentation-layer changes may be exempt from unit-test requirements when testing them would require
LVGL runtime state, display hardware, or brittle UI fixtures; assess those changes through appropriate integration,
visual, or architectural review instead of demanding unit tests by default.