SuperAPI AI 工具集

building-rust-crates

编程与开发

查看项目

更新于 10-16 03:39

技能介绍

用途:这是一个 Rust 项目规范技能,帮助把 crate 从搭建、测试推进到发布,重点是让质量门禁真正生效,避免“能编译但对下游不友好”的包。

主要能力与规范:Cargo.toml 要点包括显式固定 edition、用 rust-version 声明 MSRV、设置 license/description/repository(crates.io 要求),依赖使用最小兼容版本而非精确锁定,可选依赖用 feature 门控。项目结构上库代码放 src/lib.rs,二进制放 src/main.rs 或 src/bin/;库不提交 Cargo.lock,二进制/应用提交。CI 门禁需同时运行 cargo fmt --all --check、cargo clippy --all-targets --all-features -- -D warnings、cargo test --all-features,其中 -D warnings 是关键,否则 clippy 仅打印警告并返回 0。MSRV 要在 CI 矩阵中单独用准确版本测试,否则不应保留 rust-version 声明。feature 卫生要求测试 --no-default-features 与 --all-features,因为 Cargo 会在依赖图中统一 feature;一个 feature 不得隐式依赖另一个 feature 的条目。库代码不要对 Result/Option 使用 unwrap/expect,应返回真实错误类型(库用 thiserror,二进制用 anyhow)。发布前运行 cargo publish --dry-run,再 cargo publish(版本不可重用,只能 yank);可用 cargo-release 自动化版本提升、打标签与发布,破坏性变更需自行升主版本。

适用场景:Rust 库或应用的日常开发、CI 配置与 crates.io 发布。

限制与暂未提供:资料未给出完整 Cargo.toml、CI workflow、clippy 配置文件,也未提供具体插件安装命令或收费标准。