with one click
dep-update
// Review, merge, and release dependency update PRs. Merges green dependabot PRs, closes stale/failing ones, runs full verification, and publishes a patch release.
// Review, merge, and release dependency update PRs. Merges green dependabot PRs, closes stale/failing ones, runs full verification, and publishes a patch release.
| name | dep-update |
| description | Review, merge, and release dependency update PRs. Merges green dependabot PRs, closes stale/failing ones, runs full verification, and publishes a patch release. |
| disable-model-invocation | true |
| allowed-tools | Read, Edit, Bash(gh pr *), Bash(gh release *), Bash(gh run *), Bash(git pull *), Bash(git add *), Bash(git commit *), Bash(git push *), Bash(git tag *), Bash(git log *), Bash(git status), Bash(git diff *), Bash(npm install), Bash(npm ci), Bash(npm run typecheck), Bash(npm test), Bash(npm run lint), Bash(npm run build) |
Merge open dependency-update PRs and cut a patch release.
IMPORTANT: Only use the tools listed in allowed-tools above. Do NOT use Glob, Grep, Write, WebSearch, WebFetch, Task, or any other tool.
A CI machine starts with a fresh clone. Install before doing anything else:
npm ci
gh pr list --repo elixr-games/elics --state open --json number,title,statusCheckRollup,mergeable --jq '.[] | {number, title, checks: [.statusCheckRollup[] | {name: .name, conclusion: .conclusion}]}'
For each open PR, decide:
gh pr merge <number> --repo elixr-games/elics --merge.gh pr close <number> --repo elixr-games/elics --comment "<reason>".Read to check package.json to confirm.Merge PRs one at a time. If a merge fails due to conflicts, close that PR and move on.
After merging, pull the changes and reinstall dependencies:
git pull --rebase
npm install
Run all checks. ALL must pass before proceeding:
npm run typecheck
npm test
npm run lint
npm run build
If anything fails, stop. Do NOT release with failures.
Only proceed if PRs were actually merged in Step 2. If no PRs were merged (all closed or skipped), stop here.
Read to get the current version from package.jsonEdit to bump the patch version in package.json (e.g., 3.4.1 -> 3.4.2)git add package.json package-lock.json
git commit -m "<version>
Dependency updates:
- <list bumped packages>"
git push origin main
git tag v<version>
git push origin v<version>
gh release create v<version> --repo elixr-games/elics --title "v<version>" --notes "<bullet list of merged PRs>"
No changelog entry needed for patch releases.
gh run list --repo elixr-games/elics --workflow release.yml --limit 1
Report the release workflow status.
Summarize what was done: