Repo Updater CLI

The pure-bash ru CLI updates dozens of GitHub repos in one command and gives agents JSON output with exit codes.

  • 133 ★ on the repository
  • Last commit
CLI

Broad access

Why this level

  • The `agent-sweep` and `dep-update` commands run agents that commit and may push changes across several repositories at once.
  • The installer runs as a script fetched from the network.
All reasons and checks

dicklesworthstone/repo_updater

Install

Manual install

curl -fsSL "https://raw.githubusercontent.com/Dicklesworthstone/repo_updater/main/install.sh?ru_cb=$(date +%s)" | bash

First README command: the installer script. Homebrew users can run `brew install dicklesworthstone/tap/ru`.

Access and checks

How we review

Broad accessThe tool can change data, run commands or handle secrets.

  • The `agent-sweep` and `dep-update` commands run agents that commit and may push changes across several repositories at once.
  • The installer runs as a script fetched from the network.

This is third-party code. Review the repository files before installing.

What it does

`ru` clones missing repositories from a list, pulls updates, detects conflicts and prints ready commands to resolve them. Repository state comes from git plumbing commands rather than parsing text output. For agents there is a `--json` mode with data on stdout and diagnostics on stderr, a token-saving TOON format and an `ru robot-docs` command with schemas. Agent-driven commands sit on top of syncing: `ru review` works through issues and PRs, `ru agent-sweep` processes repositories with uncommitted changes and `ru dep-update` updates dependencies.

Who it is for. People who keep dozens of repositories on several machines and want an agent to sync the projects directory.

Good fit when

  • The projects directory has fallen behind GitHub on one machine.
  • CI needs repository status as JSON and a meaningful exit code.
  • An agent reads repository paths and state without parsing human output.
  • Issues and PRs piled up across repositories and are handed to agents by plan.

Not a fit when

  • A plain `git pull` in one repository is enough.
  • Agents must not commit and push without a reviewed plan.
  • The machine runs Windows without WSL, while the README names macOS and Linux.

Example request

Sync my repositories with `ru sync --dry-run --json`, show where conflicts will appear and suggest commands to resolve them without pushing.

Limitations

Bash 4.4 or newer is required, on macOS or Linux. GitHub access needs `gh auth login` or the `GH_TOKEN` variable. The `agent-sweep` command works only with `ntm`, `tmux` and Claude Code, while `review` and `dep-update` run agents inside repositories and may push changes to a remote, so start with `--dry-run`, `--plan` and `--no-push`. The README installs through `curl` piped to `bash`: read the script before running it.

How to disable. Remove `ru` the way it was installed, plus the `~/.config/ru` directory with repository lists. Close leftover tmux sessions if you ran `agent-sweep`.

FAQ

What exit codes does `ru` use?

Code 0 means success, 1 partial failure, 2 conflicts, 3 a system error, 4 bad arguments and 5 an interruption, after which `--resume` helps.

How do I preview without changes?

`ru sync --dry-run --json` shows what would happen, while `ru status --no-fetch --json` reads only local state and fetches nothing.

How do I connect `ru` to an agent?

Copy the README block into `AGENTS.md`, `CLAUDE.md` or `.cursorrules`. It holds the commands, the `--non-interactive --json` mode and two rules: do not create clones in the projects directory and do not parse human output.

What does `agent-sweep` need?

Installed `ntm`, `tmux` and Claude Code. The default mode is `agent`; `--dry-run` and `--execution-mode=plan` show the list without edits.

Where does `ru` read the repository list?

From files in `~/.config/ru/repos.d/`, such as `public.txt` and `private.txt`. Extend the list with `ru add` and `ru import`.

Discussion

No questions or reviews yet.

CLI tools

gitai is an open source-control server for hundreds of agents: landing by compare-and-swap, server-side history and the graft CLI.

CLIExtended access1KRepository stars

A CLI that installs shared skills, commands, subagents, hooks and MCP servers into eight AI coding tools in their native layouts

CLIExtended access91Repository stars

An agent runs GitHub Docker Compose projects in a disposable sandbox, verifies workflows and hardens them with a report

CLIBroad access219Repository stars

multi-gitter runs one script across multiple Git repositories and creates pull requests for the resulting file changes.

CLIExtended access1.3KRepository stars
Official

Vercel's skill for Turborepo monorepos: turbo.json setup, caching, filters and CI, driven by the docs bundled in the installed package

SkillMinimal access31.3KRepository stars

A background daemon loops over GitHub or Forgejo issues, drafts specs, reviews and fixes PRs until they are ready for human merge.

CLIBroad access143Repository stars

README in short

The README covers syncing, conflicts, parallel and resumable runs, JSON output and orphan repository cleanup. A separate part covers AI review of issues and PRs: plan first, then apply, with cost limits and policies.

README badge

Report a problem