rust-deps-visualizer について
Rust プロジェクトの依存関係ツリーを ASCII 図で表示するコマンドラインスキルです。Cargo.toml と cargo tree の出力を使い、深さの制限や feature フラグの表示に対応します。
主な機能
- 01ASCII 依存ツリーの出力
- 02ツリー深度の指定
- 03feature フラグの表示
- 04Cargo メタデータとツリーの解析
活用シーン
- 01プロジェクトの依存関係確認
- 02大規模な依存ツリーの出力制限
- 03有効な crate feature の確認
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ actionbook/ rust-skills --skill rust-deps-visualizerインストール後、Claude Code で/rust-deps-visualizerを入力して読み込まれたか確認します。
詳細
Rust 依存関係ビジュアライザー
Rust プロジェクトの依存関係ツリーを ASCII アートで生成します。
使用方法
/rust-deps-visualizer [--depth N] [--features]
オプション:
--depth N:ツリーの深さを制限します(デフォルト:3)--features:フィーチャーフラグを表示します
出力形式
シンプルなツリー(デフォルト)
my-project v0.1.0
├── tokio v1.49.0
│ ├── pin-project-lite v0.2.x
│ └── bytes v1.x
├── serde v1.0.x
│ └── serde_derive v1.0.x
└── anyhow v1.x
フィーチャーを考慮したツリー
my-project v0.1.0
├── tokio v1.49.0 [rt, rt-multi-thread, macros, fs, io-util]
│ ├── pin-project-lite v0.2.x
│ └── bytes v1.x
├── serde v1.0.x [derive]
│ └── serde_derive v1.0.x (proc-macro)
└── anyhow v1.x [std]
実装
ステップ 1: Cargo.toml を解析して直接依存関係を取得します
cargo metadata --format-version=1 --no-deps 2>/dev/null
ステップ 2: 依存関係ツリー全体を取得します
cargo tree --depth=${DEPTH:-3} ${FEATURES:+--features} 2>/dev/null
ステップ 3: ASCII アートのツリーとして整形します
次の罫線文字を使用します:
- 中間の項目には
├──を使用します - 最後の項目には
└──を使用します - 継続行には
│を使用します
視覚的な強化
依存関係のカテゴリ
my-project v0.1.0
│
├─[Runtime]─────────────────────
│ ├── tokio v1.49.0
│ └── async-trait v0.1.x
│
├─[Serialization]───────────────
│ ├── serde v1.0.x
│ └── serde_json v1.x
│
└─[Development]─────────────────
├── criterion v0.5.x
└── proptest v1.x
サイズの可視化(任意)
my-project v0.1.0
├── tokio v1.49.0 ████████████ 2.1 MB
├── serde v1.0.x ███████ 1.2 MB
├── regex v1.x █████ 890 KB
└── anyhow v1.x ██ 120 KB
─────────────────
Total: 4.3 MB
ワークフロー
- カレントディレクトリに Cargo.toml があるか確認します
- 指定されたオプションで
cargo treeを実行します - 出力を解析し、ASCII ビジュアライゼーションを生成します
- 必要に応じて用途別(ランタイム、開発、ビルド)に分類します
関連スキル
| 場合 | 参照先 |
|---|---|
| クレート選択に関するアドバイス | m11-ecosystem |
| ワークスペース管理 | m11-ecosystem |
| フィーチャーフラグの選択 | m11-ecosystem |
コメント
Markdown 対応