一个面向工程实践的 Rust 项目模板,内置现代开发最佳实践。
- 中文 | English
rct 是一个开箱即用的 Rust 工程模板,帮助你从项目一开始就具备完善的工程化能力。
无需手动搭建工具链,rct 已内置完整开发流程,包括:
- 代码质量控制
- 依赖安全检查
- 版本管理与变更日志
- CI/CD 自动化支持
无需重复配置,专注业务开发。
- 基于
cargo generate一键生成项目 - 支持模板变量替换,灵活定制项目结构
- 集成
cargo clippy+cargo fmt typos拼写检查- 默认包含基础 lint 约束与 Rust 版本声明
-
使用
cargo-deny检查:- 许可证合规
- 安全漏洞(advisories)
- 重复依赖
- 集成
cargo-cliff - 支持 Conventional Commits
- 遵循语义化版本(SemVer)
- 预置 GitHub Actions 结构
- 可快速接入自动化构建 / 测试 / 发布
- 支持 Windows / macOS / Linux
# 如果尚未安装 Rust
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
rustup update stable
# 项目生成工具
cargo install cargo-generate
# 工程工具链
cargo install cargo-deny cargo-cliff typos-cli cargo-make cargo-nextestcargo generate --git https://github.com/lhui-dev/rct --name my-appcd my-app
cargo buildcargo make do一条命令完成:格式化 → 检查 → 测试
cargo make release单独执行提交和生成 CHANGELOG。
内置基于 cargo-make 的自动化任务系统。
cargo make doformat → deny → typos → check → clippy → test
cargo make releasecommit → changelog
cargo make format
cargo make clippy
cargo make testcargo build
cargo test
cargo fmt
cargo clippy -- -D warningscargo version --bump 1.0.0
cargo cliff -o CHANGELOG.md --tag 1.0.0cargo deny check.
├── src/
├── .github/
├── Cargo.toml
├── deny.toml
├── cliff.toml
├── typos.toml
├── Makefile.toml
├── README.en.md
├── README.md
└── LICENSE
支持通过 cargo-generate.toml 定义模板变量,实现初始化时动态替换,例如 Cargo.toml 中的 description、authors 和 repository。
生成项目后,记得把 cliff.toml 里的仓库地址改成你自己的仓库地址。
当前模板仍保留固定包名 rct,这样模板仓库本身还能继续正常执行 cargo check;如果你希望生成时连包名也一起改,我可以继续把它改成“纯模板模式”。
欢迎提交 Issue、PR 或建议,一起完善这个模板。
MIT License
为 Rust 开发者打造 ❤️