cargo-generate 可快速搭建符合 rust 社区惯例的项目模板,支持自动注入 clippy、rustfmt、模块骨架、ci 基线及文档占位符,避免手动配置 cargo.toml、目录结构、测试桩等重复工作。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

快速搭建一个符合 Rust 社区惯用实践的项目代码模板,避免从零配置 Cargo.toml、目录结构、测试桩、CI 基线和文档占位符时反复踩坑。
初始化标准 crate 结构
在终端中执行 cargo new --lib my_project。这会生成 src/lib.rs 和 Cargo.toml,且默认启用 edition = "2021",无需手动修改基础版本声明。
进入项目目录后,立即运行 cargo build --quiet 验证能否通过空模块编译。如果报错提示 missing main function,说明你误用了 --bin,此时删掉整个目录重来——【--lib 是模板起点的硬性前提】。
补全工程化支撑文件
方法一:手动创建必要文件
在项目根目录下依次创建:.gitignore(填入 /target 和 Cargo.lock)、README.md(至少包含 # my_project 和一行简介)、.github/workflows/ci.yml(内容为 rust-stable + cargo check + test 的最小 GitHub Actions 模板)。
方法二:用 cargo-generate 一键拉取
先安装工具:cargo install cargo-generate;再执行:cargo generate --git https://github.com/rust-lang/cargo-generate-rust-template.git --name my_project。它会自动注入 clippy 配置、rustfmt.toml 和模块组织建议,但注意:生成后要手动删掉示例中的 src/bin/ 目录,否则 cargo test 会因 bin crate 缺少 main 而失败。
配置可维护的模块骨架
第一步:在 src/lib.rs 顶部添加模块声明
pub mod error; → pub mod utils; → pub mod domain;
第二步:为每个模块创建对应目录与入口文件
执行:mkdir -p src/error src/utils src/domain;然后分别创建 src/error/mod.rs(内容为 #[derive(Debug)] pub struct Error;)、src/utils/mod.rs(留空)、src/domain/mod.rs(写一句 /// Core business types.)。
第三步:暴露公共接口
在 src/lib.rs 底部追加 pub use error::Error; 和 pub use utils::*;。这一步决定外部 crate 能否直接调用你的类型,漏写 pub use 就等于把模块锁死在内部。
注入最小可用测试与文档桩
在 src/lib.rs 最底部添加:
#[cfg(test)]mod tests { #[test] fn it_works() { assert_eq!(2 + 2, 4); }}
在 README.md 开头插入文档生成命令提示:```shell cargo doc --no-deps --document-private-items ```。Rustdoc 默认不渲染私有项,加 --document-private-items 才能在本地预览完整 API 结构,这对早期协作评审很关键。











