docs/internal/triage.md
This document will outline the process to triage GitHub issues and provide an explanation of GitHub labels.
Labels that start with a: are area labels.
Area labels help categorize issues based on their scope. Each issue should ideally have at least one area label.
The description of the area label ends with a code that indicates the maintainer or backup maintainer of that area.
For example, if a label description ends with (mX,bY), it means person X is the maintainer, and person Y is the backup maintainer for that area.
Apart from area labels, there can be other labels used to provide additional context to issues.
Here are some guidelines for GitHub assignees:
A clear and concise issue description is crucial for effective communication.
Needs Triage label to the issue if triage is not complete, so that the individual responsible
for the area can continue with the process.Issues should be responded to reasonably fast. Ideally, within one business day. Remember, effective communication and prompt action are essential for successful issue triage.
If an issue seems like a good candidate for a good-first-issue, add the good first issue label to it and add instructions
in a comment on how to do it, ideally with link to the code.
Use the following scripts to generate the filters.
Filter for all the issues not assigned to an area:
curl -H 'Accept: application/vnd.github.v3+json' "https://api.github.com/repos/slint-ui/slint/labels?per_page=100&page=1" | jq -r '.[].name' | grep "^a:" | sed 's/^\(.*\)$/-label:\\\"\1\\\"/' | xargs echo
Filter of all issues for which X is a maintainer (replace the X in "mX" with the right letter name, or bX for the backup)
curl -H 'Accept: application/vnd.github.v3+json' "https://api.github.com/repos/slint-ui/slint/labels?per_page=100&page=1" | jq -r '.[] | select(.description | contains("mX")) | .name' | awk '{printf "\"%s\",", $0}' | sed 's/^\(.*\),$/label:\1\n/'