@@ -4,8 +4,232 @@ _template: page-with-toc.html
4
4
---
5
5
title: Repository Labels
6
6
---
7
- description: TODO
7
+ description: To facilitate the community in finding ways to contribute that match their experiences and skillsets, we have developed a comprehensive system for labelling issues and PRs. This is an introduction to this standard labelling scheme.
8
8
---
9
9
body:
10
10
11
- TODO
11
+ Labels consist of three fields, viz. name, description and color. Label names
12
+ should have a consistent format to aid both filtering within the github UI as
13
+ well as scanning visually through the list. The following format is the most
14
+ suited to this task (where ` ⎵ ` denotes a single space):
15
+
16
+ ```
17
+ <emoji>⎵<category>:⎵<name>
18
+ ```
19
+
20
+ Even label names with more than two words in the text should be separated by a
21
+ single space ` ⎵ ` .
22
+
23
+ ## List of labels
24
+
25
+ An issue has many different attributes:
26
+ - Priority
27
+ - Status
28
+ - Goal
29
+ - Aspect
30
+ - Skill
31
+ - Talk
32
+ - Friendliness
33
+
34
+ Let's look into each of these topics in detail.
35
+
36
+ ### * Priority
37
+
38
+ <div class =" table-container " >
39
+ <table class =" table is-bordered " style =" table-layout : fixed ;" >
40
+ <thead >
41
+ <tr>
42
+ <td colspan="5"><strong>Priority color chart</strong></td>
43
+ </tr>
44
+ </thead >
45
+ <tbody >
46
+ <tr>
47
+ <td class="has-text-white" style="background-color: #b60205">Unfavourable</td>
48
+ <td class="has-text-black" style="background-color: #ff9f1c">Negative</td>
49
+ <td class="has-text-black" style="background-color: #ffcc00">Neutral</td>
50
+ <td class="has-text-black" style="background-color: #cfda2c">Positive</td>
51
+ <td class="has-text-white" style="background-color: #008672">Favourable</td>
52
+ </tr>
53
+ <tr>
54
+ <td class="has-text-white" style="background-color: #b60205">#b60205</td>
55
+ <td class="has-text-black" style="background-color: #ff9f1c">#ff9f1c</td>
56
+ <td class="has-text-black" style="background-color: #ffcc00">#ffcc00</td>
57
+ <td class="has-text-black" style="background-color: #cfda2c">#cfda2c</td>
58
+ <td class="has-text-white" style="background-color: #008672">#008672</td>
59
+ </tr>
60
+ </tbody >
61
+ </table >
62
+ </div >
63
+
64
+ The priority of an issue is based on its impact, derived from a combination of
65
+ urgency and importance. This determines the importance of the issue when sprint
66
+ planning or deciding which issues to tackle next.
67
+
68
+ - <span class =" gh-label has-text-white " style =" background-color : #b60205 ;" >
69
+ 🟥 priority: critical
70
+ </span >
71
+ - ** Description:** Must be fixed ASAP
72
+ - <span class =" gh-label has-text-black " style =" background-color : #ff9f1c ;" >
73
+ 🟧 priority: high
74
+ </span >
75
+ - ** Description:** Stalls work on the project or its dependents
76
+ - <span class =" gh-label has-text-black " style =" background-color : #ffcc00 ;" >
77
+ 🟨 priority: medium
78
+ </span >
79
+ - ** Description:** Not blocking but should be fixed soon
80
+ - <span class =" gh-label has-text-black " style =" background-color : #cfda2c ;" >
81
+ 🟩 priority: low
82
+ </span >
83
+ - ** Description:** Low priority and doesn't need to be rushed
84
+
85
+ ### * Status
86
+
87
+ <div class =" table-container " >
88
+ <table class =" table is-bordered " style =" table-layout : fixed ;" >
89
+ <thead >
90
+ <tr>
91
+ <td colspan="5"><strong>Status color chart</strong></td>
92
+ </tr>
93
+ </thead >
94
+ <tbody >
95
+ <tr>
96
+ <td class="has-text-black" style="background-color: #eeeeee;">Lighter</td>
97
+ <td class="has-text-black" style="background-color: #cccccc;">Light</td>
98
+ <td class="has-text-black" style="background-color: #999999;">Medium</td>
99
+ <td class="has-text-white" style="background-color: #666666;">Dark</td>
100
+ <td class="has-text-white" style="background-color: #333333;">Darker</td>
101
+ </tr>
102
+ <tr>
103
+ <td class="has-text-black" style="background-color: #eeeeee;">#eeeeee</td>
104
+ <td class="has-text-black" style="background-color: #cccccc;">#cccccc</td>
105
+ <td class="has-text-black" style="background-color: #999999;">#999999</td>
106
+ <td class="has-text-white" style="background-color: #666666;">#666666</td>
107
+ <td class="has-text-white" style="background-color: #333333;">#333333</td>
108
+ </tr>
109
+ </tbody >
110
+ </table >
111
+ </div >
112
+
113
+ The status of the issue determines whether it is ready for work or not. Issues
114
+ may not be ready to be worked on for a number of reasons and the maintainers
115
+ must keep updating the labels as the situation evolves.
116
+
117
+ An issue, at the time of closing can have either the
118
+ <span class =" gh-label has-text-black " style =" background-color : #cccccc ;" >
119
+ 🏁 status: ready for dev
120
+ </span >
121
+ or the
122
+ <span class =" gh-label has-text-black " style =" background-color : #eeeeee ;" >
123
+ ⛔️ status: discarded
124
+ </span >
125
+ label based on whether it was closed with or without resolution, respectively.
126
+
127
+ - <span class =" gh-label has-text-black " style =" background-color : #cccccc ;" >
128
+ 🏁 status: ready for dev
129
+ </span >
130
+ - ** Description:** Ready for work
131
+ - <span class =" gh-label has-text-black " style =" background-color : #999999 ;" >
132
+ 🚧 status: blocked
133
+ </span >
134
+ - ** Description:** Blocked & therefore, not ready for work
135
+ - <span class =" gh-label has-text-white " style =" background-color : #666666 ;" >
136
+ 🧹 status: ticket work required
137
+ </span >
138
+ - ** Description:** Needs more details before it can be worked on
139
+ - <span class =" gh-label has-text-black " style =" background-color : #eeeeee ;" >
140
+ ⛔️ status: discarded
141
+ </span >
142
+ - ** Description:** Will not be worked on
143
+ - <span class =" gh-label has-text-white " style =" background-color : #333333 ;" >
144
+ 🚦 status: awaiting triage
145
+ </span >
146
+ - ** Description:** Has not been triaged & therefore, not ready for work
147
+
148
+ ### * Goal
149
+
150
+ The goal of an issue is the end-result achieved when the issue is resolved. This
151
+ represents the impact of the issue on the scope of the software.
152
+
153
+ - <span class =" gh-label goal " >⭐ goal: addition</span >
154
+ - ** Description:** Addition of new feature
155
+ - <span class =" gh-label goal " >✨ goal: improvement</span >
156
+ - ** Description:** Improvement to an existing feature
157
+ - <span class =" gh-label goal " >🛠 goal: fix</span >
158
+ - ** Description:** Bug fix
159
+
160
+ ### * Aspect
161
+
162
+ The aspect of an issue is the side of the project that the issue deals with. A
163
+ single codebase can have multiple aspects to it and knowing which ones will be
164
+ touched helps contributors find relevant issues.
165
+
166
+ - <span class =" gh-label aspect " >📄 aspect: text</span >
167
+ - ** Description:** Concerns the textual material in the repository
168
+ - <span class =" gh-label aspect " >💻 aspect: code</span >
169
+ - ** Description:** Concerns the software code in the repository
170
+ - <span class =" gh-label aspect " >🕹 aspect: interface</span >
171
+ - ** Description:** Concerns end-users' experience with the software
172
+ - <span class =" gh-label aspect " >🤖 aspect: dx</span >
173
+ - ** Description:** Concerns developers' experience with the codebase
174
+
175
+ ### Skill
176
+
177
+ The technical skills a person is required to possess to work on the issue.
178
+ Skills are a special type of label that vary by repository. Issues may not have
179
+ a skill tag if no special skills are required.
180
+
181
+ - <span class =" gh-label skill " >💪 skill: < ; skill name> ; </span >
182
+ - ** Description:** Requires proficiency in '< ; skill name> ; '
183
+
184
+ ### Talk
185
+
186
+ Issues with interaction labels do not entail any work to be done on the
187
+ repository. They are for Q&A, RFCs and any other form of discussions. While both
188
+ of these may appear to be too similar, triage permissions are granted to
189
+ collaborators who might not have the answers to questions but by labelling them
190
+ as such, they might draw a faster response from an experienced contributor who
191
+ does. _ In the future this category might be rendered redundant by GitHub
192
+ Discussions and will be removed._
193
+
194
+ - <span class =" gh-label talk " >❓ talk: question</span >
195
+ - ** Description:** Can be resolved with an answer
196
+ - <span class =" gh-label talk " >💬 talk: discussion</span >
197
+ - ** Description:** Open for discussions and feedback
198
+
199
+ ### Friendliness
200
+
201
+ The level of friendliness a particular issue is the valency of the issue
202
+ towards contributions from the community. Some issues provide a great
203
+ introduction while others require a little more familiarity with the codebase.
204
+ _ These issues do not have the category prefix as two of them are special labels
205
+ recognized by GitHub. The special ones don't have emojis either._
206
+
207
+ - <span class =" gh-label friendliness " >good first issue</span >
208
+ - ** Description:** New-contributor friendly
209
+ - <span class =" gh-label friendliness " >help wanted</span >
210
+ - ** Description:** Open to participation from the community
211
+ - <span class =" gh-label friendliness " >🔒 staff only</span >
212
+ - ** Description:** Restricted to CC staff members
213
+
214
+ ### Miscellaneous
215
+
216
+ - <span class =" gh-label has-background-black has-text-white " >
217
+ 🤯 ノಠ益ಠノ彡┻━┻
218
+ </span >
219
+ - ** Description:** Aaargh!
220
+
221
+ ## Usage rules
222
+
223
+ In the above categories, some are marked with an ` * ` sign. Those are mandatory
224
+ categories and every issue is required to have at least one label from those
225
+ categories.
226
+
227
+ Only issues labelled with
228
+ <span class =" gh-label has-text-white " style =" background-color : #333333 ;" >
229
+ 🚦 status: awaiting triage
230
+ </span >
231
+ are allowed to not have all mandatory labels (seeing as they have not been
232
+ triaged yet).
233
+
234
+ Categories not marked with an ` * ` are optional and it is upto the discretion of
235
+ the maintainers to have apply labels from those categories to issues.
0 commit comments