Installer avec Codex ou Claude Copiez ce prompt, collez-le dans Codex, Claude ou un autre assistant, puis laissez-le vérifier la page du skill et l'installer pour vous.
Une commande directe contourne le prompt de vérification. Examinez la source avant de l'exécuter.
Repo Updater - Multi-repo synchronization with AI-assisted review orchestration. Parallel sync, agent-sweep for dirty repos, ntm integration, git plumbing. 17K LOC Bash CLI.
RU - Repo Updater
A comprehensive Bash CLI for synchronizing dozens or hundreds of GitHub repositories. Beyond basic sync, RU includes a full AI-assisted code review system and agent-sweep capability for automatically processing uncommitted changes across your entire projects directory.
Why This Exists
When you work with 47+ repos (personal projects, forks, dependencies), keeping them synchronized manually is tedious. But synchronization is just the beginning—RU also orchestrates AI coding agents to review issues, process PRs, and commit uncommitted work at scale.
The problem it solves:
Manual cd ~/project && git pull for each repo
Missing updates that accumulate into merge conflicts
Dirty repos that never get committed
Issues and PRs that pile up across repositories
No coordination for AI agents working across repos
# WRONG: Locale-dependent, version-fragile
git pull 2>&1 | grep "Already up to date"# RIGHT: Machine-readable plumbing
git rev-list --left-right --count HEAD...@{u}
git status --porcelain
git rev-parse HEAD
Stream Separation
Human-readable output goes to stderr; data to stdout:
ru sync --json 2>/dev/null | jq '.summary'# Progress shows in terminal, JSON pipes to jq
No Global
cd
All git operations use git -C. Never changes working directory.
Essential Commands
Sync (Primary Use Case)
# Sync all configured repos
ru sync# Parallel sync (much faster)
ru sync -j8
# Dry run - see what would happen
ru sync --dry-run
# Resume interrupted sync
ru sync --resume
# JSON output for scripting
ru sync --json 2>/dev/null | jq '.summary'
Status (Read-Only Check)
# Check all repos without modifying
ru status
# JSON output
ru status --json
Repo Management
# Initialize configuration
ru init
# Add repos to sync list
ru add owner/repo
ru add https://github.com/owner/repo
ru add owner/repo@branch as custom-name
# Remove from list
ru remove owner/repo
# List configured repos
ru list
# Detect orphaned repos (in projects dir but not in list)
ru prune # Preview
ru prune --delete # Actually remove
ru prune --archive # Move to archive directory
Diagnostics
ru doctor # System health check
ru self-update # Update ru itself
AI-Assisted Review System
RU includes a powerful review orchestration system for managing AI-assisted code review across your repositories.
Two-Phase Review Workflow
Phase 1: Discovery (--plan)
Queries GitHub for open issues and PRs across all repos
Scores items by priority using label analysis and age
Creates isolated git worktrees for safe review
Spawns Claude Code sessions in terminal multiplexer
Phase 2: Application (--apply)
Reviews proposed changes from discovery phase
Runs quality gates (ShellCheck, tests, lint)
Optionally pushes approved changes (--push)
# Discover and plan reviews
ru review --plan
# After reviewing AI suggestions
ru review --apply --push
Priority Scoring Algorithm
Factor
Points
Logic
Type
0-20
PRs: +20, Issues: +10, Draft PRs: -15
Labels
0-50
security/critical: +50, bug/urgent: +30
Age (bugs)
0-50
>60 days: +50, >30 days: +30
Recency
0-15
Updated <3 days: +15, <7 days: +10
Staleness
-20
Recently reviewed: -20
Priority levels: CRITICAL (≥150), HIGH (≥100), NORMAL (≥50), LOW (<50)
The ru agent-sweep command orchestrates AI coding agents to automatically process repositories with uncommitted changes.
Basic Usage
# Process all repos with uncommitted changes
ru agent-sweep
# Dry run - preview what would be processed
ru agent-sweep --dry-run
# Process 4 repos in parallel
ru agent-sweep -j4
# Filter to specific repos
ru agent-sweep --repos="myproject*"# Include release step after commit
ru agent-sweep --with-release
# Resume interrupted sweep
ru agent-sweep --resume
# Start fresh
ru agent-sweep --restart
# ~/.config/ru/repos.d/public.list
owner/repo
another-owner/another-repo@develop
private-org/repo@main as local-name
https://github.com/owner/repo.git
Layout Modes
Layout
Example Path
flat
/data/projects/repo
owner-repo
/data/projects/owner_repo
full
/data/projects/github.com/owner/repo
ru config --set LAYOUT=owner-repo
Per-Repo Configuration
# ~/.../your-repo/.ru-agent.ymlagent_sweep:enabled:truemax_file_size:5242880# 5MBextra_context:"This is a Python project using FastAPI"pre_hook:"make lint"post_hook:"make test"denylist_extra:-"*.backup"-"internal/*"
ntm Integration
When ntm (Named Tmux Manager) is available, RU uses its robot mode API: