Skip to content

Commit d6d77a4

Browse files
Copilotmnkiefer
andcommitted
Add comprehensive label usage guidelines to CONTRIBUTING.md
Co-authored-by: mnkiefer <8320933+mnkiefer@users.noreply.github.com>
1 parent 2564137 commit d6d77a4

File tree

1 file changed

+114
-0
lines changed

1 file changed

+114
-0
lines changed

CONTRIBUTING.md

Lines changed: 114 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -227,6 +227,120 @@ For detailed guidelines and decision tree, see [specs/breaking-cli-rules.md](spe
227227
- Ensure all tests pass (`make test`)
228228
- Test manually with real workflows when possible
229229

230+
## 🏷️ Label Guidelines
231+
232+
### Purpose of Labels
233+
234+
Labels help organize and triage issues for better project management. Use labels to:
235+
- Categorize issue type (bug, enhancement, documentation)
236+
- Indicate priority level
237+
- Mark workflow automation status
238+
- Identify component areas
239+
240+
### Label Categories
241+
242+
#### Type Labels (choose one)
243+
- **bug** - Something isn't working correctly
244+
- **enhancement** - New feature or improvement request
245+
- **documentation** - Documentation improvements or additions
246+
- **question** - Questions about usage or behavior
247+
- **testing** - Test-related issues
248+
249+
#### Priority Labels (optional)
250+
- **priority-high** - Critical issues requiring immediate attention
251+
- **priority-medium** - Important but not urgent
252+
- **priority-low** - Nice-to-have improvements
253+
254+
#### Component Labels (optional, choose multiple if needed)
255+
- **cli** - Command-line interface
256+
- **workflow** - Workflow compilation and processing
257+
- **mcp** - MCP server integration
258+
- **actions** - GitHub Actions integration
259+
- **engine** - AI engine configuration
260+
261+
#### Workflow Automation Labels (managed by automation)
262+
- **ai-generated** - Issue created by AI workflow (Plan Command, etc.)
263+
- **plan** - Planning issue with sub-tasks
264+
- **ai-inspected** - Issue reviewed by AI workflow
265+
- **smoke-copilot** - Smoke test results
266+
267+
#### Status Labels
268+
- **good first issue** - Suitable for new contributors
269+
- **dependencies** - Dependency updates
270+
271+
### Label Usage Best Practices
272+
273+
#### When to Add Labels
274+
275+
**During Issue Creation:**
276+
- Add a type label (bug, enhancement, documentation, etc.)
277+
- Add priority if urgent
278+
- Add relevant component labels
279+
280+
**During Triage:**
281+
- Review and update labels based on discussion
282+
- Add `good first issue` for newcomer-friendly tasks
283+
- Set priority based on impact
284+
285+
**Automation Labels:**
286+
- `ai-generated` and `plan` are automatically added by workflows
287+
- These should not be manually added or removed
288+
- They help track AI-assisted issue creation and planning
289+
290+
#### When to Remove Labels
291+
292+
**For Workflow Labels:**
293+
- `plan` labels may be removed after all sub-tasks are completed
294+
- Keep `ai-generated` for historical tracking
295+
- Don't remove automation labels unless the issue was incorrectly tagged
296+
297+
**For Other Labels:**
298+
- Update priority labels as urgency changes
299+
- Remove incorrect type or component labels during triage
300+
301+
#### Label Lifecycle
302+
303+
**AI-Generated Planning Issues:**
304+
1. Created with `plan` + `ai-generated` labels
305+
2. Add type and component labels for better categorization
306+
3. Monitor sub-task completion
307+
4. Consider removing `plan` label when all sub-tasks are complete
308+
5. Close issue when work is done, keeping labels for historical reference
309+
310+
**Manual Issues:**
311+
1. Created with type label (bug, enhancement, etc.)
312+
2. Add component and priority labels during triage
313+
3. Update labels as issue evolves
314+
4. Close when resolved
315+
316+
### Label Hygiene
317+
318+
**Regular Maintenance:**
319+
- Review unlabeled issues weekly and add appropriate labels
320+
- Update priority labels as project needs change
321+
- Ensure all open issues have at least a type label
322+
323+
**Avoiding Label Overload:**
324+
- Use 2-4 labels per issue for effective filtering
325+
- Don't duplicate information (e.g., title already says "bug")
326+
- Prefer specific component labels over generic ones
327+
328+
### Label Taxonomy
329+
330+
**Current Label Structure:**
331+
```
332+
Type: bug, enhancement, documentation, question, testing
333+
Priority: priority-high, priority-medium, priority-low
334+
Component: cli, workflow, mcp, actions, engine, automation
335+
Workflow: ai-generated, plan, ai-inspected, smoke-copilot
336+
Status: good first issue, dependencies
337+
```
338+
339+
This taxonomy provides clear filtering while avoiding label sprawl. Use GitHub's issue search to combine labels effectively:
340+
- `is:issue is:open label:bug label:priority-high` - Critical bugs
341+
- `is:issue is:open label:enhancement label:good first issue` - Beginner-friendly enhancements
342+
- `is:issue is:open label:plan` - Active planning issues
343+
230344
## 🔄 Pull Request Process
231345

232346
1. **Before submitting:**

0 commit comments

Comments
 (0)