Use Maintainer Radar in one repository first. The goal is a useful queue brief, not another required maintainer ritual.
Start with the browser preview on a public repository:
https://jackspiece.github.io/maintainer-radar/?repo=owner/repo&group=action
If the grouped view matches how maintainers already think about the queue, add a scheduled workflow.
From a terminal, start with a recommendation when you want a short answer before opening the full report:
maintainer-radar recommend https://github.com/owner/repo/pulls
The recommendation prints the queue headline, attention level, suggested workflow, next-session brief, and the exact report or workflow command to run next.
If the first scan is too noisy or too forgiving for the repository, generate a profiled config before wiring the scheduled report:
maintainer-radar init-config --profile strict --path .maintainer-radar.json
maintainer-radar init-config --profile large-repo --path .maintainer-radar.json
For the common case, write both the config and scheduled workflow in one step:
maintainer-radar init-repo --profile balanced
Use this when maintainers want one read-only report every weekday:
name: Maintainer Radar
on:
workflow_dispatch:
schedule:
- cron: "0 8 * * 1-5"
permissions:
contents: read
pull-requests: read
jobs:
report:
runs-on: ubuntu-latest
steps:
- uses: actions/setup-python@v6
with:
python-version: "3.12"
- name: Build PR report
id: radar
uses: JackSpiece/maintainer-radar@v0.20.0
env:
GH_TOKEN: ${{ github.token }}
with:
repository: ${{ github.repository }}
format: markdown
output: maintainer-radar.md
limit: "50"
sort: action
group-by: action
hydrate: "true"
- uses: actions/upload-artifact@v7
with:
name: maintainer-radar
path: ${{ steps.radar.outputs.report-path }}
The Markdown report appears in the run summary and is also uploaded as an artifact.
Use this when the queue is large and maintainers only want PRs likely to be worth reviewing now:
- name: Build review-ready report
id: radar
uses: JackSpiece/maintainer-radar@v0.20.0
env:
GH_TOKEN: ${{ github.token }}
with:
repository: ${{ github.repository }}
format: markdown
output: review-ready.md
action: review-now
min-score: "80"
top: "10"
sort: score
group-by: action
hydrate: "true"
This keeps the report short enough to scan during a review session.
Use this when maintainers want a concrete plan for a short review block:
- name: Build 30 minute review plan
id: radar
uses: JackSpiece/maintainer-radar@v0.20.0
env:
GH_TOKEN: ${{ github.token }}
with:
repository: ${{ github.repository }}
format: markdown
output: review-plan.md
review-plan-minutes: "30"
sort: action
hydrate: "true"
The plan estimates active maintainer time, lists PRs that fit the budget, and keeps wait-for-CI or wait-for-author items in a watch-only section.
Every summary also includes a default next-session digest for the next 60 minutes, even when a custom review plan is not requested. Use that for quick notifications where maintainers only need to know whether review time is worth spending now.
Use this when the team needs to clear old contributor threads:
- name: Build stale follow-up report
id: radar
uses: JackSpiece/maintainer-radar@v0.20.0
env:
GH_TOKEN: ${{ github.token }}
with:
repository: ${{ github.repository }}
format: markdown
output: stale-follow-up.md
stale-days: "14"
sort: action
group-by: action
hydrate: "true"
Read the next-step column before writing replies. Maintainer Radar drafts priorities, not decisions.
Use Action outputs when maintainers want a dashboard or notification to separate author-fixable branch work from normal review work:
- name: Build queue brief
id: radar
uses: JackSpiece/maintainer-radar@v0.20.0
env:
GH_TOKEN: ${{ github.token }}
with:
repository: ${{ github.repository }}
format: markdown
output: maintainer-radar.md
sort: action
hydrate: "true"
- name: Print merge readiness totals
run: |
echo "${{ steps.radar.outputs.queue-headline }}"
echo "Attention: ${{ steps.radar.outputs.attention-level }}"
echo "${{ steps.radar.outputs.attention-reason }}"
echo "Workflow: ${{ steps.radar.outputs.workflow-mode }}"
echo "${{ steps.radar.outputs.workflow-recommendation }}"
echo "${{ steps.radar.outputs.next-session-brief }}"
echo "Merge conflicts: ${{ steps.radar.outputs.merge-conflicts }}"
echo "Branch behind: ${{ steps.radar.outputs.branch-behind }}"
echo "Merge gated: ${{ steps.radar.outputs.merge-gated }}"
echo "Review requested: ${{ steps.radar.outputs.review-requested }}"
This keeps merge conflicts, stale branches, repository merge gates, and reviewer requests visible without parsing the report artifact.
workflow_dispatch.action, min-score,
stale-days, label, author, or top.Maintainer Radar does not approve, reject, merge, label, or comment on pull requests. Treat the report as a queue map for humans.