mcpField
R
repo-eval

repo-eval

github.com/wilbeibi開発272 回インストール4 日前に更新
リポジトリ

repo-eval について

repo-eval は GitHub リポジトリの勢いとメンテナンス状況を採点し、結果を象限図に配置する Python スクリプトです。月ごとの推移を分析し、確認用の生指標もスコアと併記します。

主な機能

  1. 01勢いとメンテナンス状況を個別に採点
  2. 02月次指標からトレンドを算出
  3. 03スコアと併記する検証可能な生指標
  4. 04軸別評価と機械可読出力
  5. 05指標計算からボットアカウントを除外

活用シーン

  1. 01オープンソースリポジトリの活動傾向の比較
  2. 02人気が高くメンテナンスが低下するプロジェクトの特定
  3. 03成熟したリポジトリと衰退中のリポジトリの判別
  4. 04メンテナンス指標と月次変化の確認

インストール

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

$npx skills add https://github.com/wilbeibi/wilbeibi-skills --skill repo-eval

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

同梱ファイルREFERENCE.mdscripts/repo_eval.py

詳細

repo-eval

GitHub リポジトリを 勢い(人気の推移)と メンテナンス状況 (どれだけ適切に運営されているか)で0〜100点で評価し、象限に配置します。2つの軸は独立しています。人気は高いものの放置されているリポジトリもあれば、ニッチでも申し分なく運営されているリポジトリもあります。必ず両方を合わせて読み、片方だけで判断しないでください。

  • 勢いはOSS Insight API(認証不要)から取得します: スター数の推移、Issue/PR 作成者の推移、組織別の内訳。
  • メンテナンス状況はgh(既存の認証情報)から取得します:初回応答までの時間、マージまでの時間、 PR 承認率、Issue の半減期、オープン PR の滞留期間、リリース頻度、セルフマージ率、 コントリビューターの集中度、CI。これらは12か月以上の期間(--months、デフォルトは18か月)について月ごとに算出し、 傾きを当てはめます。そのため、現在の水準だけでなく推移が評価を左右します(例:応答時間が徐々に 増加している=衰退、横ばい=成熟)。

スクリプトはスコアとともに生の指標を必ず表示します。評価の根拠は検証可能で、 ブラックボックスではありません。各指標の定義、評価しきい値、注意点(スカッシュマージ、ボットのノイズ、成熟と衰退の違い)はREFERENCE.mdを参照してください。

クイックスタート

# Full evaluation (needs network for OSS Insight + an authenticated gh)
python3 scripts/repo_eval.py vercel/next.js

# One axis at a time
python3 scripts/repo_eval.py vercel/next.js --momentum-only
python3 scripts/repo_eval.py vercel/next.js --maintenance-only

# Machine-readable (includes the per-month trend series under maintenance.monthly)
python3 scripts/repo_eval.py vercel/next.js --json

# Widen the maintenance trend window, or use weekly star granularity for young repos
python3 scripts/repo_eval.py vercel/next.js --months 24
python3 scripts/repo_eval.py vercel/next.js --period week

# Verify the metric math offline (no network)
python3 scripts/repo_eval.py --selftest

手順

  1. gh auth statusでログイン状態を確認します(メンテナンス状況の評価に必要です)。OSS Insight は 認証不要ですが、接続できる必要があります(一部のサンドボックスではapi.ossinsight.ioへのアクセスがブロックされます)。
  2. repo_eval.py OWNER/REPOを実行します。いずれかの軸にアクセスできない場合は、適切に縮退して 「不完全」と表示されます。必要に応じて--maintenance-only/--momentum-onlyを指定して再実行してください。
  3. まず評価結果(象限)を確認し、生の指標と照らし合わせて妥当性を確認します。 スコアは透明性のある加重平均です。数値より指標を重視してください。
  4. 解釈する際は、REFERENCE.md のルールを適用してください。勢いが低くてもメンテナンス状況が安定し、バックログが 横ばいなら、衰退ではなく成熟です。CI がグリーンで最近コミットされていても、そのすべてがボットによるバージョン更新なら、 健全ではなく放置されています。

補足

  • サードパーティ依存関係はありません。標準ライブラリとgh CLI のみを使用します。
  • ボットアカウント(*[bot]、dependabot、renovate、github-actions など)は、コントリビューター、 応答時間、マージの統計を算出する前に除外されます。
  • スター数やコントリビューター数の合計は減ることがないため、このスキルでは合計ではなく増加率と 推移を評価します。そのため、以前は盛んだったプロジェクトも衰退として評価されます。
  • 活動が非常に活発なリポジトリでは、Issue/PR ページの取得上限により、実際の推移の対象期間が --monthsより短くなることがあります。その場合、レポートには*_span_monthsと!の注記が表示され、 誤解を招く短い期間の傾きが算出されないよう、該当する推移はnullを返します。
  • SaaS 型の OSS では、コントリビューターの集中度が高いのは想定内です(企業がメンテナーであるため)。 これはリスクとして報告されますが、評価で大きく減点されることはありません。ライセンスは評価対象外です。 別途確認してください(OSI 対 BSL/SSPL/ソース公開型、およびライセンスが変更されているかどうか)。

コメント