mcpField
L
librarian

librarian

github.com/mitsuhiko開発3.2k158 回インストール4 週間前に更新
リポジトリ

librarian について

librarianは、リモートGitリポジトリの再利用可能なローカルチェックアウトを管理するスキルです。リポジトリ参照を解析してキャッシュを再利用し、定期取得と安全な場合の早送り更新を行います。

主な機能

  1. 01一般的なGitリポジトリ参照の解析
  2. 02固定パスへのチェックアウト保存
  3. 03blobフィルターを使った部分クローン
  4. 045分間隔で古いリポジトリを更新
  5. 05可能な場合にクリーンなチェックアウトを早送り更新

活用シーン

  1. 01リモートリポジトリのローカル検索と分析
  2. 02既存チェックアウトの再利用
  3. 03調査前の即時更新

インストール

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

$npx skills add https://github.com/mitsuhiko/agent-stuff --skill librarian

インストール後、Claude Code で/librarianを入力して読み込まれたか確認します。

同梱ファイルcheckout.sh

詳細

ユーザーがリモート Git リポジトリ(GitHub/GitLab/Bitbucket の URL、git@...、または owner/repo の省略表記)を指定したときに、このスキルを使用します。

目標は、次の条件を満たす再利用可能なローカルチェックアウトを維持することです。

  • 安定している(パスを予測できる)
  • 最新の状態を保つ(定期的にフェッチし、安全な場合はファストフォワードする)
  • 効率的である(--filter=blob:none を使った部分クローンにより、フルクローンの繰り返しを避ける)

キャッシュの場所

リポジトリは次の場所に保存されます。

~/.cache/checkouts/<host>/<org>/<repo>

例:

github.com/mitsuhiko/minijinja → ~/.cache/checkouts/github.com/mitsuhiko/minijinja

コマンド

bash checkout.sh <repo> --path-only

例:

bash checkout.sh mitsuhiko/minijinja --path-only
bash checkout.sh github.com/mitsuhiko/minijinja --path-only
bash checkout.sh https://github.com/mitsuhiko/minijinja --path-only

スクリプトは次の処理を行います。

  1. リポジトリの参照をホスト/組織/リポジトリに解析します。
  2. チェックアウトがなければクローンします。
  3. 既存のチェックアウトがあれば再利用します。
  4. 古くなっている場合は origin からフェッチします(デフォルトの間隔:300 秒)。
  5. チェックアウトに変更がなく、アップストリームがある場合は、ファストフォワードマージを試みます。

更新方法

  • デフォルトの動作は更新間隔の制限(5 分ごと)で、不要なネットワーク呼び出しを避けます。
  • すぐに更新するには、次を実行します。
bash checkout.sh <repo> --force-update --path-only

推奨ワークフロー

  1. checkout.sh --path-only でリポジトリのパスを解決します。
  2. そのパスを検索、読み取り、分析に使用します。
  3. 後で同じリポジトリを参照するときは、再度 checkout.sh を呼び出します。キャッシュされたチェックアウトが見つかり、更新されます。

編集が必要な場合

共有キャッシュを直接編集することは避けてください。タスク固有の変更には、別のワークツリーを作成するか、キャッシュされたチェックアウトをコピーしてください。

注意事項

  • owner/repo のホストは、デフォルトで github.com になります。

コメント