mcpField
R
repo-updater

repo-updater

github.com/oakoss開発2088 回インストール10 週間前に更新
リポジトリ

repo-updater について

Repo Updater は、多数の GitHub リポジトリを同期する Bash CLI です。AI エージェントによるレビューや未コミット変更の処理を支援し、ドライラン、状態確認、優先順位付け、中断後に再開できる並列処理を備えています。

主な機能

  1. 01複数リポジトリの同期
  2. 02同期のプレビューと再開
  3. 03リポジトリの状態と健全性の確認
  4. 04AI レビュー対象の Issue とプルリクエストの優先順位付け
  5. 05エージェントによる未コミット変更の処理

活用シーン

  1. 01多数のリポジトリの同期維持
  2. 02同期前の変更確認
  3. 03ローカル変更があるリポジトリの特定
  4. 04レビュー対象の Issue とプルリクエストの優先順位付け

インストール

コマンドをコピーしてターミナルで実行します。

$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

AI 支援のコードレビューと、未コミットの変更に対するエージェント一括処理機能を備えた、数十から数百の GitHub リポジトリを同期する Bash CLI です。

重要な概念

概念ルール
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 --planAI レビュー対象の Issue/PR を検出します
ru review --apply --pushレビュー済みの変更を適用します
ru agent-sweep未コミットの変更があるリポジトリを処理します
ru agent-sweep -j4エージェント処理を並列実行します

AI レビューの優先度スコア

要素点数ロジック
種類0-20PR:+20、Issue:+10、ドラフト PR:-15
ラベル0-50security/critical:+50、bug/urgent:+30
経過期間(バグ)0-50>60 日:+50、>30 日:+30
新しさ0-153 日未満に更新:+15、7 日未満:+10
古さ-20最近レビュー済み:-20

レベル:CRITICAL(≥150)、HIGH(≥100)、NORMAL(≥50)、LOW(<50)

エージェント一括処理のフェーズ

フェーズデフォルトのタイムアウトアクション
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(from 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 エージェントを使って ru status を実行し、出力を分析します
  • 複数のリポジトリで agent-sweep を使って変更のあるリポジトリを処理する:Task エージェントを使って ru agent-sweep -j4 を実行し、品質ゲートの失敗に対処します
  • レビューの優先順位を考慮した複数リポジトリの同期戦略を計画する:Plan エージェントを使って、同期順、並列性の設定、レビュー予算の割り当てを設計します

参考資料

  • コマンド — 同期、ステータス、リポジトリ管理、診断、出力モード、jq の例
  • レビューシステム — 2 段階のワークフロー、セッションドライバー、コスト予算、優先度スコアリング
  • Agent Sweep — 3 段階のワークフロー、事前チェック、セキュリティガードレール、実行モード
  • 設定 — XDG ディレクトリ構成、リポジトリリストの形式、レイアウトモード、リポジトリごとの設定
  • トラブルシューティング — よくある問題、デバッグモード、事前チェック失敗のデバッグ、統合ポイント

コメント