This document explains the label system used in the AI-Assisted IT Manager repository, where labels are defined, and how to apply them to GitHub.
Repository labels are defined in .github/settings.yml (lines 126-240). However, these labels must be manually created in the GitHub repository to be available for use in issues and pull requests.
Used to indicate the urgency and importance of an issue:
Used to categorize the type of issue or change:
Used to track the current state of an issue or PR:
Used to identify which part of the codebase is affected:
Used for dependency-related issues and PRs:
| Label | Color | Description |
|---|---|---|
dependencies |
#0366d6 |
Dependency updates |
nuget |
#0366d6 |
NuGet package updates |
github-actions |
#0366d6 |
GitHub Actions updates |
Used for specific purposes:
Labels defined in settings.yml are not automatically created in GitHub. They must be manually applied using one of the following methods:
- Navigate to the repository on GitHub
- Go to Issues → Labels (or visit
https://github.com/OldSkoolzRoolz/ai-assisted-it-manager/labels) - For each label in
settings.yml:- Click New label
- Enter the Label name (e.g.,
priority: critical) - Enter the Color code (e.g.,
d73a4a) - Enter the Description
- Click Create label
If you have GitHub CLI installed:
# Navigate to repository directory
cd /path/to/ai-assisted-it-manager
# Create labels from settings.yml
# Priority labels
gh label create "priority: critical" --color "d73a4a" --description "Critical priority - must be addressed immediately"
gh label create "priority: high" --color "ff6b6b" --description "High priority - should be addressed soon"
gh label create "priority: medium" --color "ffa500" --description "Medium priority - normal timeline"
gh label create "priority: low" --color "90ee90" --description "Low priority - can be addressed when time permits"
# Type labels
gh label create "type: bug" --color "d73a4a" --description "Something isn't working"
gh label create "type: feature" --color "0e8a16" --description "New feature or request"
gh label create "type: enhancement" --color "a2eeef" --description "Improvement to existing functionality"
gh label create "type: documentation" --color "0075ca" --description "Documentation changes or additions"
gh label create "type: refactoring" --color "fbca04" --description "Code refactoring without changing functionality"
gh label create "type: security" --color "d73a4a" --description "Security-related changes or fixes"
# Status labels
gh label create "status: in progress" --color "fbca04" --description "Work is currently in progress"
gh label create "status: blocked" --color "d73a4a" --description "Blocked by dependencies or other issues"
gh label create "status: needs review" --color "0e8a16" --description "Ready for code review"
gh label create "status: needs testing" --color "ffa500" --description "Needs testing before merge"
# Component labels
gh label create "component: core" --color "bfdadc" --description "Core policy engine"
gh label create "component: client" --color "bfdadc" --description "Client application"
gh label create "component: security" --color "bfdadc" --description "Security module"
gh label create "component: dashboard" --color "bfdadc" --description "Enterprise dashboard"
gh label create "component: ci/cd" --color "bfdadc" --description "CI/CD and workflows"
# Dependency labels
gh label create "dependencies" --color "0366d6" --description "Dependency updates"
gh label create "nuget" --color "0366d6" --description "NuGet package updates"
gh label create "github-actions" --color "0366d6" --description "GitHub Actions updates"
# Special labels
gh label create "good first issue" --color "7057ff" --description "Good for newcomers"
gh label create "help wanted" --color "008672" --description "Extra attention is needed"
gh label create "question" --color "d876e3" --description "Further information is requested"
gh label create "wontfix" --color "ffffff" --description "This will not be worked on"
gh label create "duplicate" --color "cfd3d7" --description "This issue or pull request already exists"Note: If a label already exists, GitHub CLI will report an error but continue with the next label.
For automated setup or CI/CD integration, you can use the GitHub REST API:
# Set your GitHub token
GITHUB_TOKEN="your_token_here"
REPO="OldSkoolzRoolz/ai-assisted-it-manager"
# Example: Create a single label
curl -X POST \
-H "Authorization: token $GITHUB_TOKEN" \
-H "Accept: application/vnd.github.v3+json" \
"https://api.github.com/repos/$REPO/labels" \
-d '{"name":"priority: critical","color":"d73a4a","description":"Critical priority - must be addressed immediately"}'Consider using automated tools for managing labels:
- github-label-sync: Sync labels from a JSON configuration file
- Probot Settings: GitHub App that manages repository settings including labels
- Label Actions: GitHub Action for managing labels
Issue templates automatically apply labels:
- Bug reports:
type: bug,status: needs review - Feature requests:
type: feature,status: needs review - Documentation issues:
type: documentation,status: needs review
You can add additional labels manually:
- Open or create an issue
- In the right sidebar, click Labels
- Select appropriate labels (priority, component, etc.)
Apply labels to PRs to indicate:
- Type: What kind of change (bug, feature, etc.)
- Component: Which part of the codebase is affected
- Status: Current state of the PR
The PR validation workflow may also suggest labels based on file changes.
- Always apply a type label (
type: bug,type: feature, etc.) - Add priority if urgent (
priority: critical,priority: high) - Specify component if known (
component: core,component: client, etc.) - Update status as work progresses
- Review and adjust labels on new issues
- Add component labels based on affected code
- Set priority based on impact and urgency
- Update status as issues move through workflow
- Use
good first issuefor newcomer-friendly tasks
Common combinations:
type: bug+priority: critical+component: security= Critical security bugtype: feature+component: core+status: in progress= Core feature being developedtype: documentation+good first issue= Good starting point for new contributors
Problem: Issue templates reference labels that don't exist in the repository.
Solution:
- Check if labels exist: Visit
https://github.com/OldSkoolzRoolz/ai-assisted-it-manager/labels - If labels are missing, create them using one of the methods above
- Labels must match exactly (including spaces and colons) as defined in
settings.yml
Problem: Creating an issue from a template doesn't automatically apply labels.
Possible Causes:
- Labels don't exist in the repository (must be created first)
- Label names in template don't match existing labels (case-sensitive)
- GitHub may have synchronization delays (refresh the page)
Solution:
- Ensure all labels from
settings.ymlare created in GitHub - Verify label names match exactly
- Apply labels manually if auto-application fails
When adding new labels:
- Update
.github/settings.ymlwith the new label definition - Create the label in GitHub using one of the methods above
- Update this document (
LABELS.md) with the new label - Document the purpose and usage of the new label
GitHub does not support label renaming via templates. To rename:
- Create the new label in GitHub
- Manually apply new label to all issues/PRs with old label
- Delete the old label
- Update
settings.ymland documentation
When deprecating labels:
- Remove from
settings.yml - Remove from this documentation
- Manually remove from all issues/PRs
- Delete from GitHub (cannot be undone)
- GitHub Labels Documentation
- GitHub CLI Labels Commands
- GitHub REST API - Labels
- Repository Settings:
.github/settings.yml
If you have questions about labels:
- Check this guide first
- Review existing issues with similar labels
- Ask in GitHub Discussions
- Contact maintainers: @KyleC69, @OldSkoolzRoolz
Maintained By: @KyleC69, @OldSkoolzRoolz
Last Updated: 2025-12-18