Repository navigation
Expand file tree
/
Copy path.corbits-triage.yml
More file actions
141 lines (141 loc) · 3.92 KB
/
Copy path.corbits-triage.yml
File metadata and controls
141 lines (141 loc) · 3.92 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
# Corbits Triage policy.
rules:
- check: max-files-changed
text: Flag pull requests over 30 files changed.
max: 30
onFail: label
reason: A large change is a risk signal, not a hold.
evidence:
- maintainer-stated
- check: max-lines-changed
text: Flag pull requests over 5,000 lines changed.
max: 5000
onFail: label
reason: A large change is a risk signal, not a hold.
evidence:
- maintainer-stated
- check: no-merge-conflicts
text: Flag merge conflicts with the base branch.
reason: A pull request with conflicts cannot be merged as it is.
evidence:
- maintainer-stated
- check: ci-green
text: CI must pass before merge.
reason: A change is not ready until CI passes.
evidence:
- maintainer-stated
- check: conventional-commits
text: Titles and commits follow Conventional Commits.
reason: Titles and commits use the conventional form.
evidence:
- maintainer-stated
- check: hidden-content
text: Flag text hidden in the pull request.
reason: Hidden text can steer a review.
evidence:
- maintainer-stated
- check: no-duplicate
text: Flag a pull request whose diff or commits match another open one.
reason: Two pull requests for the same change waste a review.
evidence:
- maintainer-stated
- check: sensitive-paths
text: Route schema, auth, CI and lockfile changes to a person.
reason: Those changes reach beyond what the diff shows.
evidence:
- maintainer-stated
- check: no-forbidden-paths
text: Never accept changes to node_modules/**.
paths:
- node_modules/**
reason: Dependencies are not edited by hand.
evidence:
- maintainer-stated
- id: no-ai-attribution
check: text
text: Titles, descriptions and commits carry no AI attribution.
fields: [title, description, commits]
failWhen: contains
phrases:
- "Co-Authored-By:"
- "Claude-Session:"
- "claude.ai/code/session"
- "noreply@anthropic.com"
- "Generated with Claude"
- "Generated with [Claude"
onFail: label
reason: No AI co-author lines, session trailers, or generated-with footers.
evidence:
- maintainer-stated
- id: conventions
check: code-patterns
text: Added code follows the repository's conventions.
presets:
- convention
onFail: label
reason: No invented fallbacks, nested ternaries, immediately invoked functions, promise chains, empty catches, or suppression comments.
evidence:
- maintainer-stated
- id: no-process-env-in-tests
check: code-patterns
text: Tests do not read process.env.
onFail: label
reason: A test must not depend on the environment.
evidence:
- maintainer-stated
patterns:
- id: no-process-env-in-tests
language: typescript
message: Reads process.env in a test.
files:
[
"**/*.test.ts",
"**/*.test.tsx",
"**/*.test.js",
"**/*.test.jsx",
"**/*.test.mjs",
"**/*.test.cjs",
]
rule:
pattern: process.env
- id: no-process-env-in-tests
language: javascript
message: Reads process.env in a test.
files:
[
"**/*.test.ts",
"**/*.test.tsx",
"**/*.test.js",
"**/*.test.jsx",
"**/*.test.mjs",
"**/*.test.cjs",
]
rule:
pattern: process.env
actions:
pass:
- do: approve
when:
author:
- users:
- thegreataxios
- brianjfox
- do: request-review
target:
to: users
users:
- thegreataxios
when:
author:
- external
fail:
- do: request-changes
unsure:
- do: assign
target:
to: users
users:
- thegreataxios
when:
author:
- maintainers