code-health について
Repowiseによるコード健全性評価スキルです。LLMを呼び出さず、決定的なファイル指標でローカル分析します。開発者が整理やリファクタリングの優先順位を判断できるよう、リポジトリ全体または指定対象の結果を示します。
主な機能
- 01ファイルごとの健全性スコア
- 02リポジトリ整理の優先順位
- 03複雑度・凝集度・重複の指標
- 04影響度順のリファクタリング提案
- 05カバレッジと健全性の推移データ
活用シーン
- 01整理対象ファイルの優先順位付け
- 02リファクタリング前後のファイル評価
- 03カバレッジ取り込み後の未テスト箇所の特定
MCP 対応
Repowiseのget_health MCPツールで、リポジトリ全体または指定対象の健全性を取得します。問題、リファクタリング、カバレッジ、推移データも追加できます。
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ repowise-dev/ repowise --skill code-healthインストール後、Claude Code で/code-healthを入力して読み込まれたか確認します。
詳細
Repowise によるコードの健全性
Repowise は、決定的なマーカー(McCabe 複雑度、深いネスト、脳のように複雑なメソッド、クラスの凝集度(LCOM4)、巨大クラス、クローン検出、テストされていないホットスポット、関数単位の変更頻度、所有者の分散など)に基づいて、すべてのファイルを 1〜10 で評価します。LLM 呼び出しはゼロで、ローカルだけで分析します。重みは実際の不具合コーパスに照らして調整されているため、スコアが低いほど、単に「大きい」のではなく、バグが潜んでいる可能性が高いことを意味します。
渡す内容に応じてモードを選びます
- ダッシュボード:
get_health()(対象の指定なし):まずfix_firstに修正優先度順の一覧を表示し、続いてリポジトリレベルの KPI とスコアが最も低いファイルを表示します。「このコードベースの健全性はどうか?」「何を整理すればよいか?」を確認する場合は、ここから始めます。 - 対象指定 —
get_health(targets=["src/x.py", "src/y.py"]):ファイルごとのスコアと、そのスコアの要因となった具体的なマーカーの検出結果を表示します。リファクタリングの前後の比較や、なぜファイルに警告が付いたのかを説明する場合に使います。
便利な include フラグ
get_health(targets=[...], include=[...]):
"biomarkers"— 問題の内容と場所を示す検出結果の一覧を常に返します。"refactoring"— 決定的なリファクタリング提案を、影響度と労力の順に表示します。"coverage"— 取り込み済みの場合、カバレッジデータを表示します。"trend"— 最近の健全性スナップショットと、低下中/低下予測のシグナルを表示します。
include はブロックを追加し、only=[...] はブロックを除外します。
結果の使い方
- 「何をリファクタリングすればよいか?」を確認する場合は、ダッシュボードモードで
fix_firstを先頭に提示します。項目の詳細な手順と実行するテストを確認するには、get_health(fix_id=...)で開き、スコアだけでなく計画を提示します。 scoreではなくweighted_deficitで順位付けします。スコアは 1.0 が下限です。- 特定のファイルについては、スコア、上位 2〜3 件のマーカー検出結果、およびそれぞれの意味を平易な言葉で報告します。生のペイロードをそのまま出力するのは避けます。
- ファイルをクリーンと判断する前に
unresolvedを確認します。ここにある対象は何にも一致しておらず、not_indexedはrepowise updateの実行が必要であることを示します。 - 警告の付いたファイルを編集する前に、
get_risk(targets=[...])と照合します。健全性が低く、かつ変更頻度の高いホットスポットでもあるファイルは、特に慎重に扱う必要があります。 - 未テストのホットスポットやカバレッジに関する質問には、レポートを取り込むとカバレッジマーカーが有効になることを伝えます:
repowise coverage add cov.lcov(LCOV/Cobertura/Clover に対応。coverage.py の.coverageも、テストごとのマップを作成します)。続いてrepowise health --recomputeを実行すると、スコアに反映されます。
CLI による同等の操作
repowise health— KPI とスコアが最も低いファイルrepowise health --refactoring-targets— 影響度/労力の順に表示repowise health --trend— スナップショットと低下アラートrepowise coverage add <file>— カバレッジを取り込み、未テストのホットスポットを検出
エラー処理
get_health がリポジトリなしと報告した場合は、/repowise:init を提案します。テンプレートからレンダリングされた Wiki でも、コードの健全性は計算されます(LLM は不要です)。そのため、リポジトリがインデックス化されていれば常に利用できます。
コメント
Markdown 対応