Claude-reviewed, injection-safe Dependabot automation for GitHub. It auto-updates your dependencies, auto-reviews every PR with a Claude agent, and auto-merges only when it’s safe — decided by a fully deterministic gate, not by the model.
$ sh -c "$(curl -fsSL https://raw.githubusercontent.com/raphaelcm/dep-steward/main/install.sh)"
Idempotent — re-running is safe. Preview everything first with --dry-run.
A steward is entrusted to manage something with care and judgment on your behalf. For dependency updates, that means three jobs, in sequence — and a hard line between the one that judges and the one that decides.
Dependabot opens the PRs on a schedule you set. Routine minor and patch bumps arrive grouped into one PR; majors arrive individually, each on its own merits.
A Claude cloud agent reads each PR — the changelog, the breaking changes, and a grep of your code for affected usage — then writes a structured verdict. It never merges anything.
A fully deterministic gate decides the merge. Routine bumps sail through once CI is green. Anything uncertain — a major, a doubt, a red build — finds a human instead.
The reviewer is a language model, so dep-steward treats its verdict as testimony — never as authority. The merge is decided by plain, deterministic code.
AUTOMERGE-DECISION-V1 block, or no merge.Anything uncertain is escalated the moment it’s found: the PR is labelled needs-human-review, assigned to you, and explained in a comment — once per PR, not once per wake-up.
That includes the refusals that could never resolve on their own. A security update that can’t land shouldn’t look like one nobody needed — so even the pipeline’s dead ends reach a person, instead of a log nobody reads.
Escalated: major bump. The changelog lists a breaking rename, and the reviewer found affected usage in src/pad.js. Holding for a human decision.
When a bump breaks CI, an autofix agent reads the failure and proposes a clean, minimal fix. When the break isn’t clearly the bump’s fault, would need real code changes or a new dependency, or it simply isn’t confident — it escalates, exactly like the review job does. On by default; opt out with --no-autofix.
dep-steward is also a Claude Code plugin, in review for Anthropic’s community plugin marketplace. When the listing goes live, the install commands land here — and these three follow you into every repo you work in:
· in review — the install commands land here when the listing goes live
Preflights the prerequisites in whatever repo you’re in, shows you the --dry-run plan, then installs. Hands off cleanly for the two steps that genuinely need a browser — minting the token, granting the GitHub App.
A read-only readout: what was auto-merged, what was escalated and why, any security updates it landed, and an honest time-saved estimate. Takes a window: /dep-steward:summary 90d.
Removes the pipeline from a repo — the files, the label, and the token from both secret stores. Forgetting the second one is the usual half-uninstall.
The installer inspects your repo, shows what it will change, and does it. Every step is idempotent, and it verifies the token authenticates before storing it.
repo + workflow scopes.CLAUDE_CODE_OAUTH_TOKEN — the installer offers to mint one inline via claude setup-token.$ sh -c "$(curl -fsSL https://raw.githubusercontent.com/raphaelcm/dep-steward/main/install.sh)"
Add -- --dry-run to preview without touching anything. Full details — the four files it writes, the FAQ, the security model — are in the README.