关于 rust-deps-visualizer
将 Rust 项目的依赖树生成为 ASCII 图示的命令行技能。它读取 Cargo.toml 和 cargo tree 输出,并可限制深度或显示 feature 标记。
主要功能
- 01生成 ASCII 依赖树
- 02设置树深度
- 03显示 feature 标记
- 04解析 Cargo 元数据与依赖树
适用场景
- 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 可视化图
- 可选地按用途分类(运行时、开发、构建)
相关技能
| 适用场景 | 查看 |
|---|---|
| Crate 选择建议 | m11-ecosystem |
| 工作区管理 | m11-ecosystem |
| 功能标志决策 | m11-ecosystem |
评论
支持 Markdown