1+ instructions : |
2+ Required Labels: Every issue should have at least one `type/*` label.
3+ Component Labels: Add relevant `component/*` labels when the issue affects specific parts of Fedify.
4+ Priority Labels: Use `priority/*` labels for issues that need special attention.
5+ Runtime Labels: Add `runtime/*` labels when issues affect specific JavaScript runtimes only.
6+ Status Labels: Use `status/*` labels to track the current state of issues and pull requests.
7+
8+ labels :
9+ # ─────────────── Priority Labels ───────────────
10+ - priority/critical :
11+ description : " Requires immediate attention due to critical impact"
12+ instructions : |
13+ Use for issues that:
14+ - Block releases or core workflows
15+ - Cause crashes or data loss
16+ - Have urgent production impact
17+
18+ - priority/high :
19+ description : " High priority — should be addressed soon"
20+ instructions : |
21+ Use when the issue:
22+ - Significantly affects users or contributors
23+ - Blocks other tasks
24+ - Requires timely resolution but isn't a critical failure
25+
26+ - priority/medium :
27+ description : " Medium priority — normal workflow"
28+ instructions : |
29+ Use when the issue is valid and actionable but:
30+ - Doesn't block other work
31+ - Can be scheduled into future milestones
32+
33+ - priority/low :
34+ description : " Low priority — not urgent"
35+ instructions : |
36+ Use for:
37+ - Minor UX polish
38+ - Suggestions without clear need
39+ - Non-blocking edge cases
40+
41+ # ─────────────── Type Labels ───────────────
42+ - type/bug :
43+ description : " Something isn't working as expected"
44+ instructions : |
45+ Apply when describing or fixing unexpected behavior:
46+ - Crashes, broken behavior, incorrect output
47+ - PRs that resolve defects
48+
49+ - type/feature :
50+ description : " New functionality"
51+ instructions : |
52+ Apply when introducing net-new behavior:
53+ - New APIs, endpoints, commands, modules
54+ - User-visible capabilities
55+
56+ - type/enhancement :
57+ description : " Improves existing features"
58+ instructions : |
59+ Apply to:
60+ - Performance or UX improvements
61+ - Expanded functionality
62+ Do not use for new features or bug fixes.
63+
64+ - type/documentation :
65+ description : " Documentation changes"
66+ instructions : |
67+ Use when:
68+ - README, CONTRIBUTING, API docs are updated
69+ - Code comments or usage examples are the focus
70+
71+ - type/refactor :
72+ description : " Code cleanup or reorganization"
73+ instructions : |
74+ Use when:
75+ - Internal structure is improved
76+ - No behavior changes for users
77+ - Technical debt is addressed
78+
79+ - type/performance :
80+ description : " Improves speed or efficiency"
81+ instructions : |
82+ Use when:
83+ - Latency or memory usage is improved
84+ - Algorithms are optimized
85+
86+ - type/security :
87+ description : " Security-related issue or fix"
88+ instructions : |
89+ Use when:
90+ - Addressing vulnerabilities
91+ - Applying best security practices
92+
93+ - type/test :
94+ description : " Testing coverage or infrastructure"
95+ instructions : |
96+ Use for:
97+ - Adding or improving tests
98+ - Test utilities or frameworks
99+
100+ - type/chore :
101+ description : " Project maintenance"
102+ instructions : |
103+ Use for:
104+ - Dependency updates
105+ - Tooling or config changes
106+ - CI/CD pipelines
107+
108+ # ─────────────── Component Labels ───────────────
109+ - component/vocab :
110+ description : " Activity vocabulary definitions"
111+ instructions : |
112+ Use for:
113+ - Adding or changing vocab definitions
114+ - Affects types, fields, or schema
115+
116+ - component/federation :
117+ description : " Federation and remote activity handling"
118+ instructions : |
119+ Use for:
120+ - Sending or receiving remote objects
121+ - Delivery across instances
122+
123+ - component/actor :
124+ description : " Actor and identity dispatch"
125+ instructions : |
126+ Use when:
127+ - Actor creation, lookup, or routing is affected
128+
129+ - component/inbox :
130+ description : " Inbox message handling"
131+ instructions : |
132+ Use when:
133+ - Receiving and validating activities
134+ - Inbox-related errors or logic
135+
136+ - component/outbox :
137+ description : " Outbox activity publishing"
138+ instructions : |
139+ Use when:
140+ - Sending activities
141+ - Outbox structure or delivery logic
142+
143+ - component/collections :
144+ description : " Object and activity collections"
145+ instructions : |
146+ Use for:
147+ - Lists of followers, likes, etc.
148+ - Paging, filtering, ordering
149+
150+ - component/signatures :
151+ description : " Linked Data Signatures (LD Signatures)"
152+ instructions : |
153+ Use when:
154+ - Signing or verifying requests
155+ - Security via HTTP signatures
156+
157+ - component/webfinger :
158+ description : " WebFinger discovery"
159+ instructions : |
160+ Use for:
161+ - Account resolution via WebFinger
162+ - Compatibility with remote servers
163+
164+ - component/nodeinfo :
165+ description : " NodeInfo metadata"
166+ instructions : |
167+ Use when:
168+ - Publishing server capabilities
169+ - NodeInfo endpoints or schemas
170+
171+ - component/cli :
172+ description : " Command-line interface tools"
173+ instructions : |
174+ Use for:
175+ - CLI utilities
176+ - Local testing or scaffolding
177+
178+ - component/integration :
179+ description : " Integration with web frameworks"
180+ instructions : |
181+ Use when:
182+ - Adapters or plugins for external systems
183+ - Routing or middleware support
184+
185+ - component/kv :
186+ description : " Key-value storage layer"
187+ instructions : |
188+ Use for:
189+ - Persistence changes
190+ - Data modeling for key-value store
191+
192+ - component/mq :
193+ description : " Message queue infrastructure"
194+ instructions : |
195+ Use for:
196+ - Pub/sub changes
197+ - Event queueing logic
198+
199+ # ─────────────── Runtime Labels ───────────────
200+ - runtime/deno :
201+ description : " Deno runtime-specific"
202+ instructions : |
203+ Use when:
204+ - Deno-only APIs or permissions
205+ - Deployment or build-specific to Deno
206+
207+ - runtime/node :
208+ description : " Node.js runtime-specific"
209+ instructions : |
210+ Use when:
211+ - Node-specific code or libraries
212+ - Compatibility for Node.js
213+
214+ - runtime/bun :
215+ description : " Bun runtime-specific"
216+ instructions : |
217+ Use for:
218+ - Bun-specific issues or optimizations
219+
220+ # ─────────────── Status Labels ───────────────
221+ - status/blocked :
222+ description : " Work is currently blocked"
223+ instructions : |
224+ Use when:
225+ - Issue cannot progress due to external dependency
226+ - Waiting for upstream fix or decision
227+
228+ - status/in progress :
229+ description : " Work is actively being done"
230+ instructions : |
231+ Use when:
232+ - For issues, apply only if the author explicitly states that work has already started.
233+ - Apply to all new pull requests
234+
235+ - status/awaiting response :
236+ description : " Waiting for more information"
237+ instructions : |
238+ Use when:
239+ - Waiting for reply from reporter or reviewer
240+ - PR feedback or clarification needed
241+
242+ - status/ready for review :
243+ description : " Work is ready for feedback"
244+ instructions : |
245+ Use when:
246+ - PR is complete
247+ - Maintainer feedback is needed
248+
249+ - status/needs triage :
250+ description : " Needs review or categorization"
251+ instructions : |
252+ Use when:
253+ - Issue's purpose is unclear and requires human review.
254+ - Apply this if you cannot confidently assign a more specific `type/*` label.
255+
256+ # ─────────────── Difficulty Labels ───────────────
257+ - difficulty/beginner :
258+ description : " Beginner-friendly issue"
259+ instructions : |
260+ Use when:
261+ - Issue is easy to understand
262+ - Has clear scope and success criteria
263+
264+ - difficulty/intermediate :
265+ description : " Moderately difficult"
266+ instructions : |
267+ Use for:
268+ - Issues requiring some project knowledge
269+ - Medium complexity tasks
270+
271+ - difficulty/advanced :
272+ description : " High complexity or risk"
273+ instructions : |
274+ Use when:
275+ - Involves core internals or design
276+ - Requires deep understanding of system
277+
278+ # ─────────────── Meta / Utility Labels ───────────────
279+ - good first issue :
280+ description : " Good for newcomers"
281+ instructions : |
282+ Use only when:
283+ - The issue body explicitly mentions "good first issue"
284+ - Task is small, clear, and well-scoped
285+ - Suitable for contributors unfamiliar with the codebase
286+
287+ - help wanted :
288+ description : " External contributions welcome"
289+ instructions : |
290+ Use only when:
291+ - The issue body explicitly mentions "help wanted"
292+ - Maintainers can’t fix it alone
293+ - Community support is essential
294+
295+ - breaking change :
296+ description : " Introduces backward-incompatible changes"
297+ instructions : |
298+ Use when:
299+ - API or interface changes break existing usage
300+ - Migration is required
301+
302+ - duplicate :
303+ description : " Issue already reported"
304+ instructions : |
305+ Use when:
306+ - Duplicate of another open or closed issue
307+
308+ - invalid :
309+ description : " Not a valid issue"
310+ instructions : |
311+ Use when:
312+ - Misfiled or unrelated issue
313+ - Doesn’t meet contribution guidelines
314+
315+ - wontfix :
316+ description : " Will not be fixed"
317+ instructions : |
318+ Use when:
319+ - Project deliberately chooses not to fix
320+ - Out of scope or deprecated
321+
322+ - question :
323+ description : " Inquiry or clarification"
324+ instructions : |
325+ Use when:
326+ - Issue is primarily asking a question
327+ - Needs information before work can proceed
328+
329+ - discussion :
330+ description : " Needs further discussion"
331+ instructions : |
332+ Use when:
333+ - Architectural or community decision required
334+ - Not ready for immediate implementation
335+
336+ # ─────────────── ActivityPub Labels ───────────────
337+ - activitypub/interop :
338+ description : " Interoperability with other servers"
339+ instructions : |
340+ Use for:
341+ - Compatibility problems with other ActivityPub implementations
342+ - Federation bugs or quirks
343+
344+ - activitypub/compliance :
345+ description : " Standards compliance"
346+ instructions : |
347+ Use for:
348+ - Deviations from ActivityPub or ActivityStreams spec
349+ - Spec-driven conformance fixes
350+
351+ - activitypub/mastodon :
352+ description : " Mastodon compatibility"
353+ instructions : |
354+ Use for:
355+ - Issues that affect compatibility with Mastodon servers
356+ - Federation problems specific to Mastodon
357+
358+ - activitypub/misskey :
359+ description : " Misskey compatibility"
360+ instructions : |
361+ Use for:
362+ - Issues that affect compatibility with Misskey servers
363+ - Misskey-specific behavior or quirks
364+
365+ - activitypub/lemmy :
366+ description : " Lemmy compatibility"
367+ instructions : |
368+ Use for:
369+ - Issues related to federating with Lemmy
370+ - Content types, collection behavior differences
371+
372+ # ─────────────── Examples/Tutorials Labels ───────────────
373+ - examples :
374+ description : " Example code related"
375+ instructions : |
376+ Use for:
377+ - Example files provided in documentation or repository
378+ - Snippets meant to illustrate usage
379+
380+ - tutorial :
381+ description : " Tutorial related"
382+ instructions : |
383+ Use when:
384+ - PRs or issues are focused on step-by-step guides
385+ - Educational resources for new users
386+
0 commit comments