cargo-coupling - カップリング分析ツール (project)

SkillDev tools

A coupling analysis tool for Rust projects - measuring the 'right distance' in your code

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the cargo-coupling - カップリング分析ツール (project) skill

What this skill tells your AI

The instructions your AI receives, as published by nwiizo/cargo-coupling in .claude/skills/cargo-coupling/SKILL.md and read by ahel’s review.

Rust プロジェクトのカップリング分析を実行します。

基本コマンド

# 基本分析
cargo run -- coupling ./src

# サマリーのみ
cargo run -- coupling --summary ./src

# 日本語出力
cargo run -- coupling --summary --japanese ./src

# AI フレンドリー出力
cargo run -- coupling --ai ./src

# Git 履歴上のヘルス推移
cargo run -- coupling --history ./src
cargo run -- coupling --history=8 --git-months=12 --json ./src

# ベースラインとの差分 / ラチェットゲート
cargo run -- coupling --baseline main ./src
cargo run -- coupling --check --baseline main --fail-on=high ./src

分析オプション

# テストコードを除外
cargo run -- coupling --exclude-tests ./src

# 全ての問題を表示(Low 含む)
cargo run -- coupling --all ./src

# Not Analyzed (blind spots) を全文表示
cargo run -- coupling --blind-spots ./src

# Git 履歴分析をスキップ
cargo run -- coupling --no-git ./src

# 閾値を変更
cargo run -- coupling --max-deps 20 --max-dependents 25 ./src

特定用途コマンド

# ホットスポット(リファクタリング優先度)
cargo run -- coupling --hotspots ./src
cargo run -- coupling --hotspots=10 ./src

# 影響分析
cargo run -- coupling --impact <module> ./src

# 依存関係トレース
cargo run -- coupling --trace <function> ./src

# CI/CD 品質ゲート
cargo run -- coupling --check ./src
cargo run -- coupling --check --min-grade B ./src
cargo run -- coupling --check --baseline main --fail-on=high ./src

出力形式

# JSON 形式
cargo run -- coupling --json ./src

# ファイル出力
cargo run -- coupling -o report.md ./src

Web 可視化

# Web UI 起動
cargo run -- coupling --web ./src

# カスタムポート
cargo run -- coupling --web --port 8080 ./src

# ブラウザ自動起動なし
cargo run -- coupling --web --no-open ./src

設定ファイル

.coupling.toml で設定をカスタマイズ:

[thresholds]
max_dependencies = 15
max_dependents = 20

[analysis]
exclude_tests = true
prelude_modules = ["src/lib.rs", "src/prelude.rs"]
exclude = ["src/generated/*", "src/generated/**"]

[subdomains]
core = ["src/balance.rs", "src/metrics.rs"]
supporting = ["src/analyzer.rs", "src/report.rs", "src/cli_output.rs"]
generic = ["src/config.rs", "src/workspace.rs", "src/web/**"]

[analysis].exclude.coupling.toml が置かれたディレクトリ基準で評価される。 [subdomains] は core/supporting/generic を分類し、essential volatility と accidental volatility の判定に使われる。実例はリポジトリ直下の .coupling.toml を参照。

オプション一覧

オプション説明
--summary, -sサマリーのみ表示
--aiAI フレンドリー出力
--exclude-testsテストコード除外
--jsonJSON 形式出力
--webWeb UI 起動
--hotspots[=N]ホットスポット表示
--impact <MODULE>影響分析
--trace <ITEM>依存トレース
--history[=N]Git revision ごとのヘルス推移
--baseline <REF>ベースラインとの差分
--check品質ゲートチェック
--fail-on <SEVERITY>--check 失敗の severity 閾値
--japanese, --jp日本語出力
--allLow 含む全問題表示
--blind-spotsNot Analyzed 宣言を全文表示
--no-gitGit 分析スキップ

ヘルスグレード

グレード意味
AWell-balanced(優良)
BHealthy(健全)
CNeeds Attention(要注意)
DAt Risk(リスクあり)
FCritical(要対応)

Signals

GitHub stars
96
Forks
2
Last commit
Sep 2026
Advanced
Catalog kind
skill
Gateway key
cargo-coupling
Source
github.com/nwiizo/cargo-coupling