mcpField
R
rust-deps-visualizer

rust-deps-visualizer

github.com/actionbookDevelopment1.6k3.1k installsUpdated 9w ago
Repository

About rust-deps-visualizer

A command-line skill that renders a Rust project's dependency tree as ASCII art. It reads Cargo.toml and cargo tree output, with options to limit depth and display feature flags.

Key features

  1. 01ASCII dependency tree output
  2. 02Configurable tree depth
  3. 03Feature flag display
  4. 04Cargo metadata and tree parsing

Use cases

  1. 01Inspect a project's dependencies
  2. 02Limit output for large dependency trees
  3. 03Review enabled crate features

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/actionbook/rust-skills --skill rust-deps-visualizer

After installing, type/rust-deps-visualizerin Claude Code to confirm it loaded.

Details

From the project README

Rust Dependencies Visualizer

Generate ASCII art visualizations of your Rust project's dependency tree.

Usage

/rust-deps-visualizer [--depth N] [--features]

Options:

  • --depth N: Limit tree depth (default: 3)
  • --features: Show feature flags

Output Format

Simple Tree (Default)
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
Feature-Aware Tree
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]

Implementation

Step 1: Parse Cargo.toml for direct dependencies

cargo metadata --format-version=1 --no-deps 2>/dev/null

Step 2: Get full dependency tree

cargo tree --depth=${DEPTH:-3} ${FEATURES:+--features} 2>/dev/null

Step 3: Format as ASCII art tree

Use these box-drawing characters:

  • ├── for middle items
  • └── for last items
  • │ for continuation lines

Visual Enhancements

Dependency Categories
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
Size Visualization (Optional)
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

Workflow

  1. Check for Cargo.toml in current directory
  2. Run cargo tree with specified options
  3. Parse output and generate ASCII visualization
  4. Optionally categorize by purpose (runtime, dev, build)

Related Skills

WhenSee
Crate selection advicem11-ecosystem
Workspace managementm11-ecosystem
Feature flag decisionsm11-ecosystem

Comments

Markdown supported