Rust Crate 文档提取器
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/rust-crate-documentation-extractor。
技能介绍
解决什么问题
Rust crate 的文档其实分散在好几个地方:本地跑 cargo doc 生成的 HTML、docs.rs 上的在线页面、源码注释里的示例,还有 rust by example 里的片段。想查某个 trait 的用法时,往往要在浏览器和本地文件之间来回翻,跨 crate 的引用(比如你的库依赖了 serde,你想确认某个类型的 Serialize 实现)更是无从下手。这个技能要解决的问题就是把这些来源聚合起来,构建一份可检索、带链接的 API 参考。
它如何工作
核心流程分三步:
- 本地文档构建:调用
cargo-doc(即cargo doc)为指定 crate 及其依赖生成文档,拿到第一手 API 条目。 - 在线元数据拉取:通过
docs.rs的 API 获取已发布版本的文档元数据,补充本地构建可能缺失的跨版本信息。 - AST 解析与索引:用
syn直接解析 Rust 源码的结构体、函数签名与 trait 定义,把注释(//////!)与代码实体对齐,生成结构化索引。
在此基础上它还能做两件有价值的事:一是跨 crate 链接,把文档中对其他 crate 的引用解析成可跳转的条目;二是示例提取,把散落在文档注释里的代码块抽出来,汇总成按 API 分组的示例集合。
适用边界
- 需要网络访问
docs.rs,受其 API 速率限制影响。 syn解析依赖源码本身语法合法,宏生成的代码块可能解析不全。- 跨 crate 链接质量取决于文档中
rustdoc链接的书写是否规范。
使用场景
- 接手一个大型 Rust 项目,需要快速理清多个依赖 crate 之间的 API 调用关系与跨库引用。
- 为团队内部库编写开发指南,需要把散落在各个 crate 源码注释里的示例代码统一提取并汇总。
- 离线环境下需要快速检索某个第三方 crate 的特定 trait 定义,不想逐个翻阅本地 HTML 文档。
适合人员
- Rust 后端工程师,在引入新第三方库时需要快速核对 API 签名与依赖文档以避免编译错误。
- 开源项目维护者,需要为复杂的多 crate 工作空间生成结构化且支持跨库跳转的 API 参考手册。
- 技术文档撰写者,在编写 Rust 库的使用教程时需要直接从源码中提取准确的代码片段与参数说明。