mcpField
R
repo-updater

repo-updater

github.com/oakossDevelopment2088 installsUpdated 10w ago
Repository

About repo-updater

Repo Updater is a Bash CLI for keeping many GitHub repositories synchronized and handling review and uncommitted-change workflows with AI agents. It provides dry runs, status checks, prioritization, and resumable parallel operations.

Key features

  1. 01Synchronize multiple repositories
  2. 02Preview and resume syncs
  3. 03Check repository status and health
  4. 04Prioritize issues and pull requests for AI review
  5. 05Agent-driven handling of uncommitted changes

Use cases

  1. 01Keeping a large repository set in sync
  2. 02Previewing changes before synchronization
  3. 03Finding repositories with local changes
  4. 04Prioritizing issues and pull requests for review

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/oakoss/agent-skills --skill repo-updater

After installing, type/repo-updaterin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

references/
agent-sweep.md
commands.md
configuration.md
review-system.md
troubleshooting.md

Details

From the project README

Repo Updater

Bash CLI for synchronizing dozens or hundreds of GitHub repositories with AI-assisted code review and agent-sweep for uncommitted changes.

Critical Concepts

ConceptRule
Git plumbing onlyNever parse human-readable output; use rev-list, status --porcelain, rev-parse
Stream separationHuman-readable → stderr; data → stdout (--json 2>/dev/null | jq)
No global cdAll git operations use git -C

Essential Commands

CommandPurpose
ru syncSync all configured repos (add -j8 for parallel)
ru sync --dry-runPreview what would happen
ru sync --resumeResume interrupted sync
ru statusRead-only check of all repos
ru add owner/repoAdd repo to sync list
ru remove owner/repoRemove from list
ru listShow configured repos
ru pruneDetect orphaned repos
ru doctorSystem health check
ru review --planDiscover issues/PRs for AI review
ru review --apply --pushApply reviewed changes
ru agent-sweepProcess repos with uncommitted changes
ru agent-sweep -j4Parallel agent processing

AI Review Priority Scoring

FactorPointsLogic
Type0-20PRs: +20, Issues: +10, Draft PRs: -15
Labels0-50security/critical: +50, bug/urgent: +30
Age (bugs)0-50>60 days: +50, >30 days: +30
Recency0-15Updated <3 days: +15, <7 days: +10
Staleness-20Recently reviewed: -20

Levels: CRITICAL (≥150), HIGH (≥100), NORMAL (≥50), LOW (<50)

Agent Sweep Phases

PhaseDefault TimeoutAction
1: Planning300sAnalyze uncommitted changes, generate commit plan
2: Commit600sValidate plan, stage files, create commit, quality gates
3: Release300s (opt-in)Determine version bump, create tag/release

Execution modes: agent (full workflow), plan (phase 1 only), apply (phase 2+3)

Update Strategies

StrategyBehavior
ff-onlyFast-forward only; fails if diverged (default)
rebaseRebase local commits on top of remote
mergeCreate merge commit if needed

Exit Codes

CodeMeaning
0All repos processed successfully
1Some repos failed
2Conflicts or quality gate failures
3System/dependency error
4Invalid arguments
5Interrupted (use --resume)

Environment Variables

VariableDefaultDescription
RU_PROJECTS_DIR/data/projectsBase directory for repos
RU_LAYOUTflatPath layout (flat, owner-repo, full)
RU_PARALLEL1Parallel workers
RU_TIMEOUT30Network timeout (seconds)
RU_UPDATE_STRATEGYff-onlyPull strategy
GH_TOKEN(from gh CLI)GitHub token

Common Mistakes

MistakeCorrect Pattern
Parsing human-readable git output (e.g., git status text)Use git plumbing: rev-list, status --porcelain, rev-parse
Using cd to change into repo directoriesUse git -C <path> for all git operations
Mixing data and human-readable output on the same streamData goes to stdout, human-readable to stderr (--json 2>/dev/null | jq)
Running sync without --dry-run first on unfamiliar reposAlways preview with ru sync --dry-run before executing
Using service_role key or bypassing auth in agent-sweep scriptsFollow security guardrails; agent-sweep has preflight checks for a reason

Delegation

  • Discover which repos have uncommitted changes or are out of sync: Use Explore agent to run ru status and analyze the output
  • Process dirty repos with agent-sweep across multiple repositories: Use Task agent to run ru agent-sweep -j4 and handle quality gate failures
  • Plan a multi-repo sync strategy with review prioritization: Use Plan agent to design sync order, parallelism settings, and review budget allocation

References

  • Commands — sync, status, repo management, diagnostics, output modes, jq examples
  • Review System — two-phase workflow, session drivers, cost budgets, priority scoring
  • Agent Sweep — three-phase workflow, preflight checks, security guardrails, execution modes
  • Configuration — XDG directory structure, repo list format, layout modes, per-repo config
  • Troubleshooting — common issues, debug mode, preflight failure debugging, integration points

Comments

Markdown supported