-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path.coderabbit.yaml
More file actions
164 lines (148 loc) · 4.9 KB
/
Copy path.coderabbit.yaml
File metadata and controls
164 lines (148 loc) · 4.9 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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
# yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json
language: "en-US"
early_access: false
enable_free_tier: true
tone_instructions: >
Be concise, practical, and respectful. Prioritize correctness, security,
public API compatibility, backward compatibility, and test coverage. Avoid
nitpicks when an existing formatter or linter already covers the issue.
reviews:
profile: "chill"
request_changes_workflow: false
high_level_summary: true
high_level_summary_in_walkthrough: true
review_status: true
review_details: true
commit_status: true
fail_commit_status: false
collapse_walkthrough: true
changed_files_summary: true
sequence_diagrams: false
estimate_code_review_effort: true
assess_linked_issues: true
related_issues: true
related_prs: true
suggested_labels: true
auto_apply_labels: false
suggested_reviewers: false
auto_assign_reviewers: false
in_progress_fortune: false
poem: false
enable_prompt_for_ai_agents: false
path_filters:
- "!**/.venv/**"
- "!**/.pytest_cache/**"
- "!**/.ruff_cache/**"
- "!**/__pycache__/**"
- "!.docusaurus/**"
- "!.docusaurus-ru/**"
- "!build/**"
- "!docs/.docusaurus/**"
- "!docs/.docusaurus-ru/**"
- "!docs/build/**"
- "!coverage.xml"
- "!htmlcov/**"
- "!package-lock.json"
- "!*.png"
- "!*.jpg"
- "!*.jpeg"
- "!*.svg"
auto_review:
enabled: true
auto_incremental_review: true
drafts: false
ignore_title_keywords:
- "WIP"
- "Draft"
- "DO NOT MERGE"
ignore_usernames:
- "dependabot[bot]"
- "pre-commit-ci[bot]"
path_instructions:
- path: "django_rmq/**/*.py"
instructions: |
Review this as a reusable open-source Django/RabbitMQ library.
Focus on:
- public API compatibility and backward compatibility;
- Django app lifecycle and settings behavior;
- RabbitMQ/Pika connection lifecycle, retries, acknowledgements, publisher confirms, mandatory publishing, and dead-letter behavior;
- thread-safety and resource cleanup;
- clear, typed Python code that matches the existing style;
- meaningful tests for behavior changes.
Do not suggest Celery-style abstractions unless the change explicitly needs them.
- path: "tests/**/*.py"
instructions: |
Review tests for behavior coverage, regression value, and realistic RabbitMQ/Django scenarios.
Unit tests should stay broker-free unless marked as integration.
Integration tests may require RabbitMQ and should keep queues/exchanges isolated and cleaned up.
Avoid suggesting broad snapshot-style tests.
- path: "tests/integration/**/*.py"
instructions: |
Pay special attention to broker cleanup, unique queue/exchange names, timing assumptions, reconnect behavior, and test isolation.
Flag flaky sleeps, shared broker state, or assumptions that can fail on CI.
- path: ".github/workflows/**/*.yml"
instructions: |
Review GitHub Actions for least-privilege permissions, reusable workflow permission inheritance,
pinned action versions, self-hosted runner cleanup, and secrets/OIDC handling.
Flag workflows that can fail validation before runtime.
- path: "docs/**/*.md"
instructions: |
Review documentation for correctness, clarity, and consistency between English and Russian docs.
Flag stale commands, outdated supported versions, and examples that do not match the code.
- path: "pyproject.toml"
instructions: |
Review package metadata, supported Python/Django classifiers, dependency bounds, pytest settings,
and type/lint configuration. Flag dependency changes that can break supported Python versions.
- path: "uv.lock"
instructions: |
This is a generated lock file. Only flag suspicious dependency changes, security risks,
or lockfile drift that does not match pyproject.toml.
tools:
github-checks:
enabled: true
timeout_ms: 900000
ruff:
enabled: true
actionlint:
enabled: true
zizmor:
enabled: true
yamllint:
enabled: true
markdownlint:
enabled: true
gitleaks:
enabled: true
trufflehog:
enabled: true
checkov:
enabled: true
osvScanner:
enabled: true
flake8:
enabled: false
pylint:
enabled: false
eslint:
enabled: false
biome:
enabled: false
stylelint:
enabled: false
languagetool:
enabled: false
chat:
auto_reply: true
art: false
allow_non_org_members: true
knowledge_base:
web_search:
enabled: true
code_generation:
docstrings:
language: "en-US"
path_instructions:
- path: "django_rmq/**/*.py"
instructions: |
Preserve the existing docstring style. Explain behavior, parameters,
return values, and exceptions without adding noise.