dep-steward seal
dep-stewarda Claude Code plugin

There’s a steward on your repo.

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.

Engraved scene: a steward inspects a parcel at a standing desk with an open ledger; a queue of parcels waits behind; a wax-sealed parcel and a counter bell sit on a side table; a parcel stamped with a green check passes through an open gate toward a delivered stack.

The pipeline

What a steward does

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.

1 Auto-update

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.

2 Auto-review

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.

3 Auto-merge, when safe

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 trust architecture

The model proposes.
The gate disposes.

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.

The gate re-checks everything the model claims — so a prompt-injected dependency diff can never cause an unsafe merge. And it never touches your source, your CI workflow, branch protection, or git history.
  • CI is green on the PR’s current head — re-queried, not trusted from the trigger.
  • The verdict parses: a well-formed AUTOMERGE-DECISION-V1 block, or no merge.
  • Group PRs touch only whitelisted manifest paths.
  • Majors merge only on an affirmative recommendation and no affected usage found.
Engraved allegory: a sealed verdict document feeds a plain mechanical gate; above, a parcel emerges bearing a green check stamp; below, a wax-sealed parcel waits beside a counter bell.
Escalation

When it isn’t sure, it finds you.

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.

build(deps): bump left-pad 1.3.0 → 2.0.0
● needs-human-review assigned to you major
Escalated: major bump. The changelog lists a breaking rename, and the reviewer found affected usage in src/pad.js. Holding for a human decision.

Autofix

A broken build gets the smallest fix it can defend — or a human.

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.

The Claude Code plugin

In your slash menu, everywhere

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

/dep-steward:install

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.

/dep-steward:summary

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.

/dep-steward:uninstall

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.

Getting started

Two minutes to a stewarded repo

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.

$ 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.