An AI-powered GitHub Issue labeler
gail will review the Issues in your GitHub-hosted project and,
where appropriate, assign new labels to the Issues from a list of
label options you provide. gail is currently configured to use
OpenAI LLMs to accomplish this.
You can also use gail in GitHub Actions to label all new incoming
Issues. Checkout the easy-to-use GitHub Action here:
https://github.com/atgreen/gail-issue-labeler-action
I wrote gail to add some semblance of order to libffi's ~200 open
Issues. It exceeded
expectations, and I hope you enjoy it as well!
Download all dependencies using ocicl.
$ ocicl install
Now run make. You are done.
Labeling Issues has never been easier. Here's the gail help message
with all of the instructions that you'll need:
NAME:
gail - GitHub Automated Issue Labeler
USAGE:
gail OWNER REPO | --action OWNER REPO
OPTIONS:
--help display usage information and exit
--version display version and exit
-a, --action Process a single issue from stdin instead of fetching from repository
-l, --labels <PATH> Labels file [default: .gail-labels]
-m, --model <VALUE> OpenAI model to use [default: gpt-4o-mini]
-n, --dry-run Show what would be labeled without actually labeling
EXAMPLES:
Label issues in the libffi/libffi repository:
gail libffi libffi
Dry run with custom labels file:
gail --labels my-labels.txt --dry-run microsoft vscode
Use a different OpenAI model:
gail --model gpt-4 owner repo
Process a single issue from stdin:
gail --action owner repo
Process stdin issue with custom labels:
gail --action --labels my-labels.txt owner repo
AUTHORS:
Anthony Green <[email protected]>
LICENSE:
MIT License
Note that you can simply commit your custom .gail-labels file to
your repo and run gail in your project's root directory in order to
pick up your custom labels. As an example, here's the file I created
for libffi: https://github.com/libffi/libffi/blob/master/.gail-labels
gail was written by Anthony Green,
and is distributed under the terms of the MIT license.