Add state github bot (#812)

<!-- CURSOR_SUMMARY -->
> [!NOTE]
> **Low Risk**
> Low risk GitHub Actions-only change that affects PR triage by
automatically labeling and closing inactive PRs; no runtime code paths
are modified.
> 
> **Overview**
> Adds a new GitHub Actions workflow (`.github/workflows/stale.yml`) to
automatically mark pull requests as `stale` after 14 days of inactivity
and close them after an additional 14 days.
> 
> The workflow runs daily (and can be manually triggered), exempts PRs
labeled `pinned` or `security`, and explicitly disables
staleness/closure for issues.
> 
> <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit
cdac08e3f3a40ccee7a8f79f4962adcdbb2e79c0. Bugbot is set up for automated
code reviews on this repo. Configure
[here](https://www.cursor.com/dashboard/bugbot).</sup>
<!-- /CURSOR_SUMMARY -->
This commit is contained in:
Eric Gustin 2026-04-07 17:48:06 -07:00 committed by GitHub
parent 9f904a4ad6
commit 59011e9c83
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

31
.github/workflows/stale.yml vendored Normal file
View file

@ -0,0 +1,31 @@
name: Stale
on:
schedule:
- cron: "0 0 * * *"
workflow_dispatch:
jobs:
stale:
runs-on: ubuntu-latest
permissions:
issues: write
pull-requests: write
steps:
- uses: actions/stale@v9
with:
start-date: "2026-04-07"
days-before-stale: 14
days-before-close: 14
stale-pr-message: >
This pull request has been automatically marked as stale because it has had no
activity for 14 days. It will be closed in 14 days if no further activity occurs.
If this is still relevant, please leave a comment or remove the stale label.
close-pr-message: >
This pull request has been closed due to inactivity. Feel free to reopen it if
it is still relevant.
stale-pr-label: stale
exempt-pr-labels: "pinned,security"
days-before-issue-stale: -1
days-before-issue-close: -1