repo-scan
どのエコシステムにも独自の依存関係マネージャーがあるが、C++、Android、iOS、Web をまたいで「どのコードが本当に自分のもので、どれがサードパーティで、どれが余分な負担か」を教えてくれるツールはない。
適用場面
- 大規模なレガシーコードベースを引き継ぎ、全体的な構造を把握する必要がある場合
- 大規模なリファクタリング前——コアコード、重複コード、廃止コードを特定する
- パッケージマネージャーで宣言せずにソースに直接埋め込まれたサードパーティの依存関係を監査する
- モノレポの再編成に向けたアーキテクチャ決定記録を準備する
インストール
エージェントスキルをインストールする前に、ソースコードをレビューしてください。
インストール後、エージェントハーネスを再読み込みしてから、repo-scan を再度呼び出してください。この ECC ポインターは外部スキルをインストールするだけで、スキャン自体は実行しません。
コア機能
分析の深さレベル
動作原理
- リポジトリの表面を分類:ファイルを列挙し、各ファイルをプロジェクトコード、埋め込みサードパーティコード、ビルドアーティファクトとしてマークする。
- 埋め込みライブラリを検出:ディレクトリ名、ヘッダーファイル、ライセンスファイル、バージョンマーカーを検査して、バンドルされた依存関係とその可能性のあるバージョンを識別する。
- 各モジュールをスコアリング:ファイルをモジュールまたはサブシステムにグループ化し、所有権、重複度、保守コストに基づいて4つの判定のいずれかを割り当てる。
- 構造的リスクを強調:冗長なアーティファクト、重複したラッパー、古いベンダーコード、および抽出・再構築・廃止すべきモジュールを指摘する。
- レポートを生成:簡潔なサマリーとインタラクティブなHTML出力を返し、モジュールごとのドリルダウンにより監査結果を非同期でレビューできる。
例
50,000ファイルのC++モノレポで:
- FFmpeg 2.x(2015年版)がまだ使用されていることを発見
- 同じSDKラッパーが3回重複していることを発見
- 636 MBのコミット済みDebug/ipch/objビルドアーティファクトを識別
- 分類結果:3 MBのプロジェクトコード vs 596 MBのサードパーティコード
ベストプラクティス
- 初回監査は
standardの深さから始める - 100以上のモジュールを含むモノレポには
fastで素早く棚卸しする - リファクタリングが必要とフラグ立てされたモジュールに対して段階的に
deepを実行する - クロスモジュール分析の結果をレビューして、サブプロジェクト間の重複コードを検出する


