Skip to content

Commit f0d7677

Browse files
committed
Port an improved and condensed version of the styleguide
1 parent ae9e2a0 commit f0d7677

File tree

1 file changed

+226
-2
lines changed

1 file changed

+226
-2
lines changed

content/contributing-code/repo-labels/contents.lr

+226-2
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,232 @@ _template: page-with-toc.html
44
---
55
title: 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
---
99
body:
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: &lt;skill name&gt;</span>
182+
- **Description:** Requires proficiency in '&lt;skill name&gt;'
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

Comments
 (0)