2.4 KiB
2.4 KiB
| name | description |
|---|---|
| forge-triage | Verify triage coverage on a forge repo using the existing lint verbs instead of manually scanning issues/PRs - unassigned items, missing labels by scope, PRs with no reviewer, and stale branches each have a dedicated check. Use this whenever you want to confirm nothing has fallen through the cracks (new activity landed, a periodic sweep, before reporting "everything's triaged"). |
Forge Triage
Checking triage coverage doesn't need a bespoke script or a manual scan
of the tracker - the forge CLI's lint verbs already answer each
dimension directly.
The checks
- Unassigned items - open issues or PRs with no assignee:
hive-forge lint unassigned - Missing labels by scope - items missing any label in a given
scope (e.g. every issue should carry a
type/*label, or anarea/*one):hive-forge lint unlabeled --scope <scope>. The scope name is whatever your repo's own label taxonomy uses - there's nothing hardcoded, so checkrepo-labelsfirst if you don't already know the scopes in use. - PRs with no formally requested reviewer -
hive-forge lint no-reviewerflags PRs with zero requested reviewers at all; add--reviewer <name>to instead flag PRs where that specific person isn't among the requested reviewers. This checks the forge's actual reviewer-request state, not a text@namemention anywhere in the thread. - Assignment load -
hive-forge lint assignmentsgroups open issues + PRs by assignee, useful for spotting an overloaded or neglected owner. - Stale branches -
hive-forge lint stale-branches --days <n>finds remote branches with no recent commits (skips branches that are heads of open PRs), useful for spotting abandoned work.
Using them as a sweep
Run the checks relevant to what you're verifying rather than assuming one covers everything - "is triage caught up" usually means unassigned
- unlabeled at minimum, with no-reviewer added if reviews matter for
your workflow. Each verb supports
--jsonif you want to fold the results into something else instead of reading the human-readable output.
This is reactive/on-demand coverage checking, not a scheduled rollup or historical trend - if you need to track compliance over time (was triage worse last week than this week), that's a different, bigger ask than running these checks - don't build that unprompted just because the checks exist.