Rust Crate 文档扫描器
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/rust-crate-docs-scanner。
技能介绍
解决什么问题
Rust crate 的公开 API 散落在 rustdoc 生成的 HTML 里。当你想审计某个依赖的接口范围——哪些 trait 被导出、哪些 impl 块存在于当前版本、哪些 derive macro 被引入——通常只能打开 docs.rs 手动翻找。在代码评审或依赖升级的场景中,这种人工核对既慢又容易遗漏。
核心工作方式
这个技能用两条数据源重建 API 索引:
- rustdoc JSON 输出:编译器产出的结构化 JSON,包含每个公开项的签名与路径
- cargo-doc 元数据:提供 crate 级别的构建信息,比如目标版本和 feature 组合
索引的公开 API 面覆盖:
trait定义及其方法impl块,包括针对 trait 和具体类型的实现- derive macro 的导出情况
跨 crate 引用通过 docs.rs 集成链接:当被扫描的 crate 依赖了其他 crate 时,对应文档页面会被解析并挂接到本地索引中,避免断链。
适用边界
- 只覆盖公开 API 面,
pub(crate)与私有项不在扫描范围内 - 依赖 docs.rs 上文档的可访问性,离线环境或 docs.rs 未构建的目标版本可能缺失链接
- 不分析宏展开后的实际行为,只登记宏的导出元数据
使用场景
- 依赖升级评审时,需要快速核对某个 crate 导出了哪些 trait 和 impl 以评估破坏性变更范围
- 合并第三方库前,想确认它依赖的外部 crate 文档是否能正常链接,避免开发中遇到断链
- 为团队库补齐 API 索引时,需要批量扫描所有公开 trait、impl 和 derive macro 并归档
- 排查文档与源码不一致时,通过 rustdoc JSON 比对实际导出的 API 表面是否与声明一致
适合人员
- Rust 库维护者,需要审计自身 crate 的公开 API 范围并在版本迭代时追踪接口变化
- 后端工程师,负责在引入新依赖前评估其 trait 和 impl 的暴露程度是否满足安全要求
- DevOps 工具开发者,需要为团队内部的 crate 文档站点生成自动化索引和依赖链接
- 技术选型负责人,想对比候选 crate 的 API 表面复杂度以判断长期维护成本