forked from langflow-ai/langflow
-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy path.coderabbit.yaml
More file actions
201 lines (201 loc) · 5.89 KB
/
.coderabbit.yaml
File metadata and controls
201 lines (201 loc) · 5.89 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
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
language: en-US
tone_instructions: ""
early_access: true
enable_free_tier: true
reviews:
profile: chill
request_changes_workflow: false
high_level_summary: true
high_level_summary_placeholder: "@coderabbitai summary"
high_level_summary_in_walkthrough: false
auto_title_placeholder: "@coderabbitai"
auto_title_instructions: Use conventional commits structure
review_status: true
commit_status: true
fail_commit_status: false
collapse_walkthrough: false
changed_files_summary: true
sequence_diagrams: true
assess_linked_issues: true
related_issues: true
related_prs: true
suggested_labels: true
auto_apply_labels: false
suggested_reviewers: true
auto_assign_reviewers: false
poem: false
labeling_instructions: []
path_filters:
- "!src/backend/base/langflow/initial_setup/starter_projects"
path_instructions: []
abort_on_close: true
disable_cache: false
auto_review:
enabled: true
auto_incremental_review: false
ignore_title_keywords: []
labels: []
drafts: false
base_branches: []
finishing_touches:
docstrings:
enabled: true
unit_tests:
enabled: true
pre_merge_checks:
custom_checks:
- name: "Test Coverage for New Implementations"
instructions: |
Check if the PR includes new or updated test files that correspond to the code changes:
1. For new components or functionality, ensure corresponding tests are included in the PR
2. For bug fixes, verify that regression tests are included
3. For new features, ensure both unit and integration tests are present where appropriate
4. Check that test files follow the project's naming conventions (test_*.py for backend, *.test.ts for frontend)
5. Verify that tests actually test the new functionality, not just placeholder tests
mode: "error"
- name: "Test Quality and Coverage"
instructions: |
Evaluate the quality and comprehensiveness of tests for new implementations:
1. Tests should cover the main functionality being implemented
2. For async functions, ensure proper async testing patterns are used (pytest for backend)
3. Check that tests are not just smoke tests but actually validate behavior
4. Ensure tests follow the project's testing patterns (pytest for backend, Playwright for frontend)
5. For API endpoints, verify both success and error response testing
mode: "warning"
- name: "Test File Naming and Structure"
instructions: |
Verify that test files follow the correct patterns and structure:
1. Backend tests: test_*.py with proper pytest structure
2. Frontend tests: *.test.ts or *.test.tsx using Playwright
3. Integration tests should be clearly marked and in appropriate directories
4. Test files should have descriptive test function names that explain what is being tested
5. Tests should be organized logically with proper setup and teardown
6. Consider including edge cases and error conditions for comprehensive coverage
7. Verify tests cover both positive and negative scenarios where appropriate
mode: "warning"
- name: "Excessive Mock Usage Warning"
instructions: |
Review test files for excessive use of mocks that may indicate poor test design:
1. Check if tests have too many mock objects that obscure what's actually being tested
2. Warn when mocks are used instead of testing real behavior and interactions
3. Suggest using real objects or test doubles when mocks become excessive
4. Ensure mocks are used appropriately for external dependencies, not core logic
5. Recommend integration tests when unit tests become overly mocked
mode: "warning"
tools:
ast-grep:
rule_dirs: []
util_dirs: []
essential_rules: true
packages: []
shellcheck:
enabled: true
ruff:
enabled: true
markdownlint:
enabled: true
github-checks:
enabled: true
timeout_ms: 90000
languagetool:
enabled: true
enabled_rules: []
disabled_rules: []
enabled_categories: []
disabled_categories: []
enabled_only: false
level: default
biome:
enabled: true
hadolint:
enabled: true
swiftlint:
enabled: true
phpstan:
enabled: true
level: default
golangci-lint:
enabled: true
yamllint:
enabled: true
gitleaks:
enabled: true
checkov:
enabled: true
detekt:
enabled: true
eslint:
enabled: true
rubocop:
enabled: true
buf:
enabled: true
regal:
enabled: true
actionlint:
enabled: true
pmd:
enabled: true
cppcheck:
enabled: true
semgrep:
enabled: true
circleci:
enabled: true
clippy:
enabled: true
sqlfluff:
enabled: true
prismaLint:
enabled: true
pylint:
enabled: true
oxc:
enabled: true
shopifyThemeCheck:
enabled: true
luacheck:
enabled: true
brakeman:
enabled: true
dotenvLint:
enabled: true
htmlhint:
enabled: true
checkmake:
enabled: true
chat:
auto_reply: true
integrations:
jira:
usage: auto
linear:
usage: auto
knowledge_base:
opt_out: false
code_guidelines:
enabled: true
web_search:
enabled: true
learnings:
scope: auto
issues:
scope: auto
jira:
usage: auto
project_keys: []
linear:
usage: auto
team_keys: []
pull_requests:
scope: auto
code_generation:
docstrings:
language: en-US
path_instructions: []
unit_tests:
path_instructions:
- path: src/backend/tests/**/*.py
instructions: We already have a client fixture and use pytest
- path: src/frontend/tests/**.ts
instructions: We use Playwright