repo-audit について
ホットスポット検出、コードの所有状況分析、シークレットスキャンで Git 履歴を調べるコマンドラインスキルです。変更リスクや貢献者の活動、認証情報の漏えいを確認する保守担当者やレビュアー向けです。
主な機能
- 01変更頻度の高いファイルの検出
- 02貢献者の担当状況と活動の報告
- 03Git 履歴内のシークレットスキャン
- 04パス、日付、作者、ブランチによる絞り込み
- 05表、CSV、JSON 形式での結果出力
活用シーン
- 01高リスクなコードレビューの優先順位付け
- 02リファクタリング候補ファイルの特定
- 03コード知識に基づくレビュアーの割り当て
- 04リポジトリ履歴に残る認証情報漏えいの確認
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ zebbern/ claude-code-guide --skill repo-auditインストール後、Claude Code で/repo-auditを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
LICENSEscripts/hotfiles.shownership.shsecret-scan.sh詳細
リポジトリ監査 — Git 履歴の詳細分析
Git リポジトリを 3 つの観点から分析します。ホットスポットファイルの検出、コード所有権の分析、シークレット漏えいのスキャンです。
機能概要
1. ホットスポットファイル分析(scripts/hotfiles.sh)
リポジトリ内で最も頻繁に変更されたファイルを特定し、次の点を把握するのに役立ちます。
- リスクの高いコード領域(頻繁な変更は不安定さの可能性を示します)
- コードレビューで特に注意すべきファイル
- 分割やリファクタリングが必要な可能性のあるモジュール
使い方:
bash scripts/hotfiles.sh [options]
| オプション | 説明 | デフォルト |
|---|---|---|
--repo PATH | リポジトリのパス | 現在のディレクトリ |
--top N | 上位 N 件のファイルを表示 | 20 |
--since DATE | 開始日(例:2024-01-01) | なし |
--until DATE | 終了日 | なし |
--author AUTHOR | 作成者で絞り込む | なし |
--format FORMAT | 出力形式:table / csv / json | table |
2. コード所有権分析(scripts/ownership.sh)
実際のコード所有権を分析し、指定した範囲内で貢献者ごとに次の情報を報告します。
- コミット数と割合
- 変更行数(追加/削除)
- 最終活動日
使い方:
bash scripts/ownership.sh [options]
| オプション | 説明 | デフォルト |
|---|---|---|
--repo PATH | リポジトリのパス | 現在のディレクトリ |
--path SUBPATH | 特定のサブディレクトリまたはファイルを分析 | リポジトリ全体 |
--top N | 上位 N 人の貢献者を表示 | 10 |
--since DATE | 開始日 | なし |
--format FORMAT | 出力形式:table / csv / json | table |
3. シークレット漏えいスキャン(scripts/secret-scan.sh)
削除済みのコミットを含む Git 履歴全体をスキャンし、一般的なシークレットや機密情報を検出します。
- AWS アクセスキー/シークレットキー
- GitHub/GitLab/Slack トークン
- SSH 秘密鍵
- 一般的な API キー、パスワード、シークレットのパターン
使い方:
bash scripts/secret-scan.sh [options]
| オプション | 説明 | デフォルト |
|---|---|---|
--repo PATH | リポジトリのパス | 現在のディレクトリ |
--branch BRANCH | 特定のブランチをスキャン | すべてのブランチ |
--since DATE | 開始日 | なし |
--format FORMAT | 出力形式:table / csv / json | table |
--severity LEVEL | 最低重大度レベル:low / medium / high | low |
ユースケース
- セキュリティ監査:本番環境へのデプロイ前に履歴をスキャンし、漏えいしたシークレットを検出します
- コードレビューの効率化:ホットスポットファイルを特定し、リスクの高い領域のレビューを優先します
- チームの連携:誰がコードのどの部分に詳しいかを把握し、それに応じてレビューを割り当てます
- 技術的負債の評価:頻繁に変更されるファイルは、リファクタリングの有力な候補です
依存関係
git(>= 2.20)bash(>= 4.0)- 標準的な Unix ユーティリティ:
awk、sort、head、grep
追加の依存関係や有料 API は必要ありません。
コメント
Markdown 対応