SuperAPI AI 工具集

rust-workspace

编程与开发

查看项目

更新于 10-15 21:48

技能介绍

用途:决定一个 Rust 项目应包含多少 crate、它们如何组织与相互依赖。其配套技能 rust-module-layout 负责决定单个 crate 内部 src/ 的布局。

主要能力:单 crate 与多 crate workspace 的决策(含五个具体触发条件的决策树);项目驱动的布局模式——小型根扁平、混合/按域分组、crates/ 容器、嵌套子工作区、根包;虚拟清单与根包的取舍及迁移;工作区级共享配置 [workspace.package]、[workspace.dependencies]、[workspace.lints];依赖方向 DAG(types → core → sdk → server → binary);诊断与重构“混合根包”反模式;crate 命名、发布与版本协调。

使用方式:创建工作区需手动编写根虚拟清单(没有 cargo workspace new),选定成员拓扑后运行 cargo new --lib <路径>;模板可用 cargo-generate。成员通过 version.workspace = true、serde.workspace = true、[lints] workspace = true 继承共享配置。用 cargo tree 与 cargo tree --invert --package <名> 检查依赖方向。

适用场景:判断是否拆分工作区、配置 Cargo 工作区、重构混合根包、排查根级只构建一个 crate、跨成员共享依赖、校验依赖方向。

限制:不涉及 Cargo.toml 的 [dependencies] 语法与特性解析(见 rust-cargo-build)、crate 内 src/ 布局(见 rust-module-layout)、Rust 语法基础(见 rust-stable)、测试组织(见 rust-testing)。前置要求为 Rust 所有权与基本模块语法。该技能不收集、存储或传输任何用户数据。资料未提供收费与价格信息。