mcpField
R
repo-updater

repo-updater

github.com/oakoss开发2088 次安装10 周前更新
代码仓库

关于 repo-updater

Repo Updater 是用于同步大量 GitHub 仓库的 Bash 命令行工具,可借助 AI Agent 处理审查和未提交更改。它提供试运行、状态检查、优先级排序以及可恢复的并行操作。

主要功能

  1. 01同步多个仓库
  2. 02预览并恢复同步
  3. 03检查仓库状态与健康情况
  4. 04为 AI 审查排列议题与拉取请求优先级
  5. 05由 Agent 处理未提交更改

适用场景

  1. 01保持大量仓库同步
  2. 02同步前预览变更
  3. 03查找存在本地更改的仓库
  4. 04排列待审查议题与拉取请求的优先级

安装

复制下面的命令,在终端中运行。

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

安装后在 Claude Code 中输入/repo-updater确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

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

详细介绍

Repo Updater

用于同步数十或数百个 GitHub 仓库的 Bash CLI,支持 AI 辅助代码审查,并使用 agent-sweep 处理未提交的更改。

关键概念

概念规则
仅使用 Git 底层命令切勿解析人类可读的输出;使用 rev-list、status --porcelain、rev-parse
流分离人类可读内容 → stderr;数据 → stdout(--json 2>/dev/null | jq)
不要全局 cd所有 Git 操作都使用 git -C

常用命令

命令用途
ru sync同步所有已配置的仓库(添加 -j8 可并行执行)
ru sync --dry-run预览将要执行的操作
ru sync --resume恢复中断的同步
ru status只读检查所有仓库
ru add owner/repo将仓库添加到同步列表
ru remove owner/repo从列表中移除仓库
ru list显示已配置的仓库
ru prune检测孤立仓库
ru doctor系统健康检查
ru review --plan查找待 AI 审查的问题/PR
ru review --apply --push应用已审查的更改
ru agent-sweep处理有未提交更改的仓库
ru agent-sweep -j4并行处理仓库

AI 审查优先级评分

因素分值规则
类型0-20PR:+20,问题:+10,草稿 PR:-15
标签0-50security/critical:+50,bug/urgent:+30
年限(问题)0-50>60 天:+50,>30 天:+30
最近更新0-15更新于 <3 天:+15,<7 天:+10
陈旧度-20最近审查过:-20

级别:CRITICAL(≥150)、HIGH(≥100)、NORMAL(≥50)、LOW(<50)

Agent Sweep 阶段

阶段默认超时操作
1:规划300s分析未提交的更改,生成提交计划
2:提交600s验证计划、暂存文件、创建提交、执行质量门禁
3:发布300s(可选)确定版本升级,创建标签/发布

执行模式:agent(完整工作流)、plan(仅阶段 1)、apply(阶段 2 和 3)

更新策略

策略行为
ff-only仅快进;若发生分歧则失败(默认)
rebase将本地提交变基到远程提交之上
merge必要时创建合并提交

退出码

代码含义
0所有仓库均已成功处理
1部分仓库处理失败
2冲突或质量门禁失败
3系统/依赖错误
4参数无效
5已中断(使用 --resume)

环境变量

变量默认值描述
RU_PROJECTS_DIR/data/projects仓库的基础目录
RU_LAYOUTflat路径布局(flat、owner-repo、full)
RU_PARALLEL1并行工作进程
RU_TIMEOUT30网络超时时间(秒)
RU_UPDATE_STRATEGYff-only拉取策略
GH_TOKEN(来自 gh CLI)GitHub 令牌

常见错误

错误正确做法
解析供人阅读的 Git 输出(例如 git status 文本)使用 Git 底层命令:rev-list、status --porcelain、rev-parse
使用 cd 切换到仓库目录所有 Git 操作都使用 git -C <path>
在同一输出流中混合数据和供人阅读的输出数据输出到 stdout,供人阅读的内容输出到 stderr(--json 2>/dev/null | jq)
在不熟悉的仓库中未先使用 --dry-run 就运行同步执行前务必使用 ru sync --dry-run 预览
在 agent-sweep 脚本中使用 service_role 密钥或绕过身份验证遵循安全防护措施;agent-sweep 设有预检,原因就在于此

委派

  • 找出哪些仓库有未提交的更改或不同步:使用 Explore Agent 运行 ru status 并分析输出
  • 使用 agent-sweep 处理多个仓库中的脏仓库:使用 Task Agent 运行 ru agent-sweep -j4 并处理质量门禁失败
  • 规划多仓库同步策略并确定审查优先级:使用 Plan Agent 设计同步顺序、并行设置和审查预算分配

参考资料

  • 命令 — 同步、状态、仓库管理、诊断、输出模式、jq 示例
  • 审查系统 — 两阶段工作流、会话驱动程序、成本预算、优先级评分
  • Agent Sweep — 三阶段工作流、预检、安全防护措施、执行模式
  • 配置 — XDG 目录结构、仓库列表格式、布局模式、单仓库配置
  • 故障排除 — 常见问题、调试模式、预检失败调试、集成点

评论

支持 Markdown