@@ -4,8 +4,232 @@ _template: page-with-toc.html
44---
55title: Repository Labels
66---
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.
88---
99body:
1010
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