About this skill
---
name: repo-scan
description: クロススタックのソースコード資産監査——各ファイルを分類し、埋め込まれたサードパーティライブラリを検出し、各モジュールに対してインタラクティブなHTMLレポートとともに実用的な4段階の判定を提供する。
origin: community
---
# repo-scan
> どのエコシステムにも独自の依存関係マネージャーがあるが、C++、Android、iOS、Web をまたいで「どのコードが本当に自分のもので、どれがサードパーティで、どれが余分な負担か」を教えてくれるツールはない。
## 適用場面
* 大規模なレガシーコードベースを引き継ぎ、全体的な構造を把握する必要がある場合
* 大規模なリファクタリング前——コアコード、重複コード、廃止コードを特定する
* パッケージマネージャーで宣言せずにソースに直接埋め込まれたサードパーティの依存関係を監査する
* モノレポの再編成に向けたアーキテクチャ決定記録を準備する
## インストール
```bash
# Fetch only the pinned commit for reproducibility
mkdir -p ~/.claude/skills/repo-scan
git init repo-scan
cd repo-scan
git remote add origin https://github.com/haibindev/repo-scan.git
git fetch --depth 1 origin 2742664
git checkout --detach FETCH_HEAD
cp -r . ~/.claude/skills/repo-scan
```
> エージェントスキルをインストールする前に、ソースコードをレビューしてください。
## コア機能
| 機能 | 説明 |
|---|---|
| **クロススタックスキャン** | C/C++、Java/Android、iOS(OC/Swift)、Web(TS/JS/Vue)を一度にスキャン |
| **ファイル分類** | 各ファイルをプロジェクトコード、サードパーティコード、またはビルドアーティファクトとしてマーク |
| **ライブラリ検出** | 50以上の既知ライブラリ(FFmpeg、Boost、OpenSSL…)を識別しバージョン番号を抽出 |
| **4段階の判定** | コア資産 / 抽出・統合 / 再構築 / 廃止 |
| **HTMLレポート** | 階層的なドリルダウンナビゲーションに対応したインタラクティブなダークテーマページ |
| **モノレポサポート** | 階層的スキャンによるサマリー + サブプロジェクトレポート |
## 分析の深さレベル
| レベル | 読み取りファイル数 | 適用場面 |
|---|---|---|
| `fast` | モジュールあたり1〜2個 | 大規模ディレクトリの素早い棚卸し |
| `standard` | モジュールあたり2〜5個 | デフォルト監査、完全な依存関係 + アーキテクチャチェック |
| `deep` | モジュールあたり5〜10個 | スレッド安全性、メモリ管理、API一貫性チェックを追加 |
| `full` | 全ファイル | 統合前の包括的レビュー |
## 動作原理
1. **リポジトリの表面を分類**:ファイルを列挙し、各ファイルをプロジェクトコード、埋め込みサードパーティコード、ビルドアーティファクトとしてマークする。
2. **埋め込みライブラリを検出**:ディレクトリ名、ヘッダーファイル、ライセンスファイル、バージョンマーカーを検査して、バンドルされた依存関係とその可能性のあるバージョンを識別する。
3. **各モジュールをスコアリング**:ファイルをモジュールまたはサブシステムにグループ化し、所有権、重複度、保守コストに基づいて4つの判定のいずれかを割り当てる。
4. **構造的リスクを強調**:冗長なアーティファクト、重複したラッパー、古いベンダーコード、および抽出・再構築・廃止すべきモジュールを指摘する。
5. **レポートを生成**:簡潔なサマリーとインタラクティブなHTML出力を返し、モジュールごとのドリルダウンにより監査結果を非同期でレビューできる。
## 例
50,000ファイルのC++モノレポで:
* FFmpeg 2.x(2015年版)がまだ使用されていることを発見
* 同じSDKラッパーが3回重複していることを発見
* 636 MBのコミット済みDebug/ipch/objビルドアーティファクトを識別
* 分類結果:3 MBのプロジェクトコード vs 596 MBのサードパーティコード
## ベストプラクティス
* 初回監査は `standard` の深さから始める
* 100以上のモジュールを含むモノレポには `fast` で素早く棚卸しする
* リファクタリングが必要とフラグ立てされたモジュールに対して段階的に `deep` を実行する
* クロスモジュール分析の結果をレビューして、サブプロジェクト間の重複コードを検出する
## リンク
* [GitHub リポジトリ](https://github.com/haibindev/repo-scan)