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
= 1
# ---------------------------------------------------------------------------
# Pull request title validation
# Enforces the Conventional Commits format on every PR title.
# ---------------------------------------------------------------------------
[]
= true
# Built-in conventional commit pattern — uncomment and edit to override.
# pattern = "^(build|chore|ci|docs|feat|fix|perf|refactor|revert|style|test)(\\([a-z0-9_-]+\\))?!?: .+"
# Label applied when the title does not match the pattern.
= "pr-issue:invalid-title-format"
# ---------------------------------------------------------------------------
# Work item reference validation
# Requires a closing-keyword issue reference in the PR description.
# ---------------------------------------------------------------------------
[]
= true
# Built-in pattern matches: fixes #123, closes GH-456, resolves https://github.com/…/issues/789
# Uncomment and edit to override.
# pattern = "(?i)(fixes|closes|resolves|references|relates to)\\s+(#\\d+|GH-\\d+|https://github\\.com/[^/]+/[^/]+/issues/\\d+|[a-zA-Z0-9_-]+/[a-zA-Z0-9_-]+#\\d+)"
# Label applied when no work item reference is found.
= "pr-issue:missing-work-item"
# ---------------------------------------------------------------------------
# PR size labeling and oversized PR enforcement
# ---------------------------------------------------------------------------
[]
= true
= false
= "size:"
= true
# When true, only additions are counted; deleted lines do not inflate the PR size.
= true
# Files excluded from the line-change count (glob patterns).
= ["*.md", "*.txt", "docs/**", "**/*.lock"]
# Optional: override the default size tier line-count boundaries.
[]
= 10
= 50
= 100
= 350
= 700
# ---------------------------------------------------------------------------
# WIP (Work In Progress) detection
# When enabled, PRs whose title or description match a WIP pattern will fail
# the check until all WIP markers are removed.
# WIP blocking cannot be bypassed by any user.
# ---------------------------------------------------------------------------
[]
= true
= "status:wip"
= ["WIP", "wip:", "[wip]", "draft:", "Draft:"]
= []
# ---------------------------------------------------------------------------
# PR state lifecycle labels
# Maintains exactly one state label on the PR at any time.
# ---------------------------------------------------------------------------
[]
= true
= "status:draft"
= "status:in-review"
= "status:approved"
# ---------------------------------------------------------------------------
# Issue metadata propagation
# Copies milestone and/or Projects v2 membership from the referenced issue.
# ---------------------------------------------------------------------------
[]
= true
= true
# ---------------------------------------------------------------------------
# Bypass rules
# Allow specific GitHub accounts to skip individual policy checks.
# Applies to: renovate[bot], dependabot[bot], and release-regent[bot].
# Note: WIP blocking has no bypass mechanism and is always enforced.
# ---------------------------------------------------------------------------
[]
= true
= ["renovate[bot]", "dependabot[bot]", "pv-release-regent[bot]"]
[]
= true
= ["renovate[bot]", "dependabot[bot]", "pv-release-regent[bot]"]
[]
= true
= ["renovate[bot]", "dependabot[bot]", "pv-release-regent[bot]"]
# ---------------------------------------------------------------------------
# Change type label detection
# Maps conventional commit types in the PR title to repository labels.
# ---------------------------------------------------------------------------
[]
= true
[]
= ["type:feat"]
= ["type:fix"]
= ["type:docs"]
= ["type:style"]
= ["type:refactor"]
= ["type:perf"]
= ["type:test"]
= ["type:chore"]
= ["type:ci"]
= ["type:ci"]
= ["type:revert"]
[]
= "type:{change_type}"
= false
[]
= "#fcc37b"
= "#fcc37b"
= "#fcc37b"
= "#fcc37b"
= "#fcc37b"
= "#fcc37b"
= "#fcc37b"
= "#fcc37b"
= "#fcc37b"
= "#fcc37b"
= "#fcc37b"
[]
= true
= true
= true
= ["type:"]