This starter setup automates GitHub label management using the crazy-max GitHub Labeler GitHub Action (v5+) that allows developers to manage and organize their GitHub labels. It GitHub Action to manage labels on GitHub (create/rename/update/delete) as code.
It helps if you are working on a fresh repository or one where you did not change any of the initial labels but you can also use it on existing repositories.
GitHub Labels are declared as code in .github/labels.yml and synchronized by the GitHub Actions workflow in .github/workflows/labeler.yml.
.github/labels.yml— Single source of truth for labels. Fields:name,description,color(lowercase hex with leading#), optionalfrom_namefor renames. Keep two‑space indentation and double‑quoted strings.- Labels are organized into categories with prefixes:
priority:,status:, andtype:(e.g.,"priority: urgent"), plus special labels likegithub_actions. .github/workflows/labeler.yml— "Manage labels" workflow. Manually triggered viaworkflow_dispatch. Usescrazy-max/ghaction-github-labeler@v5withyaml-file: .github/labels.ymlandexcluderules forhelp*and*issue.
- Add
.github/labels.ymland.github/workflows/labeler.ymlto your repository. - Add/modify labels in
.github/labels.yml. This Starter adds new labels and changes the "standard" labels in your repository to match the configuration in this file. - Optionally validate the YAML:
yamllint .github/labels.yml. Note that the GitHub Action automatically lints the YAML file during execution. - On GitHub, visit the "Actions" tab and select the "Manage labels" workflow.
- Manually trigger the workflow using the "Run workflow" button and select the branch you want to apply it to (recommended to run on
mainbranch). - The workflow will run and synchronize your repository's labels with the configuration in
.github/labels.yml.
priority: urgent— Critical work or bug that is holding up other thingspriority: high— Important features or user-visible bugs that should be done soonpriority: medium— Should be done but isn't prioritised ahead of otherspriority: low— Not important and unlikely to be done unless it becomes important
status: blocked— Blocked by another issue or external requirementstatus: bot— Assigned to a botstatus: duplicate— Indicates similar issues, pull requests, or discussionsstatus: cooking— WIP changes that are being actively worked onstatus: good first issue— A good issue for first-time contributorsstatus: help wanted— Help requested for an issue or pull requeststatus: invalid— This doesn't seem rightstatus: wontfix— This will not be worked onstatus: on hold— Other issues are taking priority
type: bug— Something isn't workingtype: ci & build— Related to build or continuous integration files and scriptstype: dependencies— Referring to or updating a dependency filetype: 3rd party— Regarding a 3rd party API/script/package/dependencytype: a11y— Accessibility-related issues or improvementstype: i18n— Internationalization-related issues or improvementstype: documentation— Improvements or additions to documentationtype: enhancement— New enhancement or improvementtype: feature— New feature requesttype: repo prompt— New feature requesttype: question— Further information is requested or needed
github_actions— Pull requests that update GitHub Actions code or configuration
To disable the GitHub Actions workflow after setting up your labels, you can either:
- On GitHub, visit the "Actions" tab and select the "Manage labels" workflow and click on the "Disable workflow" menu item in the extras menu pulldown.
- Or, delete the
.github/workflows/labeler.ymland.github/labels.ymlfiles from your repository.
- Reference defaults: ghaction-github-labeler/samples/original.yml
This software is provided as is and I am not implementing or accepting any support requests or contributions. Please be aware that I may or may not respond to any issue or address any issues.
If you want to ask a question, I assume that you have read the following 2 files: GitHub Labeler GitHub Action README.md and this repository's Documentation.
If you then still feel the need to ask a question and need clarification, I recommend the following:
- Do a search in the GitHub Labeler GitHub Action Open Issues to see if the issue or feature request has already been filed for the software that drives this Starter.
- Do a search in this Starter's Open Issues to see if the issue has been added.
- If it pertains to the GitHub Labeler GitHub Action, create an Issue on that repository.
- If the issue pertains to this Starter, open an Issue.
- Provide as much context as you can about what you're running into.