repo-eval について
repo-eval は GitHub リポジトリの勢いとメンテナンス状況を採点し、結果を象限図に配置する Python スクリプトです。月ごとの推移を分析し、確認用の生指標もスコアと併記します。
主な機能
- 01勢いとメンテナンス状況を個別に採点
- 02月次指標からトレンドを算出
- 03スコアと併記する検証可能な生指標
- 04軸別評価と機械可読出力
- 05指標計算からボットアカウントを除外
活用シーン
- 01オープンソースリポジトリの活動傾向の比較
- 02人気が高くメンテナンスが低下するプロジェクトの特定
- 03成熟したリポジトリと衰退中のリポジトリの判別
- 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
手順
gh auth statusでログイン状態を確認します(メンテナンス状況の評価に必要です)。OSS Insight は 認証不要ですが、接続できる必要があります(一部のサンドボックスではapi.ossinsight.ioへのアクセスがブロックされます)。repo_eval.py OWNER/REPOを実行します。いずれかの軸にアクセスできない場合は、適切に縮退して 「不完全」と表示されます。必要に応じて--maintenance-only/--momentum-onlyを指定して再実行してください。- まず評価結果(象限)を確認し、生の指標と照らし合わせて妥当性を確認します。 スコアは透明性のある加重平均です。数値より指標を重視してください。
- 解釈する際は、REFERENCE.md のルールを適用してください。勢いが低くてもメンテナンス状況が安定し、バックログが 横ばいなら、衰退ではなく成熟です。CI がグリーンで最近コミットされていても、そのすべてがボットによるバージョン更新なら、 健全ではなく放置されています。
補足
- サードパーティ依存関係はありません。標準ライブラリと
ghCLI のみを使用します。 - ボットアカウント(
*[bot]、dependabot、renovate、github-actions など)は、コントリビューター、 応答時間、マージの統計を算出する前に除外されます。 - スター数やコントリビューター数の合計は減ることがないため、このスキルでは合計ではなく増加率と 推移を評価します。そのため、以前は盛んだったプロジェクトも衰退として評価されます。
- 活動が非常に活発なリポジトリでは、Issue/PR ページの取得上限により、実際の推移の対象期間が
--monthsより短くなることがあります。その場合、レポートには*_span_monthsと!の注記が表示され、 誤解を招く短い期間の傾きが算出されないよう、該当する推移はnullを返します。 - SaaS 型の OSS では、コントリビューターの集中度が高いのは想定内です(企業がメンテナーであるため)。 これはリスクとして報告されますが、評価で大きく減点されることはありません。ライセンスは評価対象外です。 別途確認してください(OSI 対 BSL/SSPL/ソース公開型、およびライセンスが変更されているかどうか)。
コメント
Markdown 対応