mcpField
R
rust-systems

rust-systems

github.com/pproenca开发22043 次安装11 周前更新
代码仓库

关于 rust-systems

rust-systems 是面向系统编程、命令行工具和性能敏感应用的 Rust 实践技能。52 条规则涵盖项目与模块组织、命名、类型与 trait,以及错误处理。

主要功能

  1. 01五类共 52 条规则
  2. 02Cargo workspace 与模块组织
  3. 03Rust 代码命名约定
  4. 04类型与 trait 设计模式
  5. 05错误处理指南

适用场景

  1. 01组织多 crate 的 Rust 项目
  2. 02审查 Rust 模块与命名
  3. 03设计类型、trait 和错误处理
  4. 04构建系统工具或守护进程

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/pproenca/dot-skills --skill rust-systems

安装后在 Claude Code 中输入/rust-systems确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

AGENTS.md
README.md
metadata.json
assets/templates/
_template.md
references/
_sections.md
err-anyhow-context.md
err-bail-validation.md
err-expect-message.md
err-graceful-degradation.md
err-ok-or-else.md
err-panic-unrecoverable.md
err-path-context.md
err-result-alias.md
err-source-attribute.md
err-thiserror-enum.md
err-two-tier-strategy.md
mod-colocated-tests.md
mod-conditional-compilation.md
mod-explicit-declarations.md
mod-reexport-pattern.md
mod-submodule-organization.md
mod-types-errors-files.md
name-boolean-predicates.md
name-constant-screaming.md
name-constructor-new.md
name-conversion-to-from.md
name-field-unit-suffixes.md
name-function-snake-case.md
name-generic-parameters.md
name-getter-prefix.md

详细介绍

Rust 系统编程最佳实践

涵盖系统编程的综合 Rust 模式和风格约定,包含 5 个类别中的 52 条规则。适用于系统编程、CLI 工具和性能关键型应用。

适用场景

在以下情况参考这些指南:

  • 编写新的 Rust 代码或模块
  • 组织 Rust 项目结构
  • 定义自定义类型、trait 或错误处理
  • 审查 Rust 代码以确保风格一致
  • 构建系统工具、CLI 或守护进程

按优先级划分的规则类别

优先级类别影响前缀
1项目组织高org-
2模块结构高mod-
3命名约定高name-
4类型与 trait 模式高type-
5错误处理高err-

快速参考

1. 项目组织(高)
  • org-cargo-workspace - 多 crate 项目使用 Cargo Workspace
  • org-directory-naming - 所有目录名均使用 snake_case
  • org-binary-library-separation - 分离二进制 crate 和库 crate
  • org-feature-domain-grouping - 按功能领域对 crate 分组
  • org-common-crate - 使用专用的 common crate 存放共享实用工具
  • org-flat-crate-structure - 保持 crate 结构扁平
2. 模块结构(高)
  • mod-explicit-declarations - 在 lib.rs 中使用显式模块声明
  • mod-colocated-tests - 将测试与代码放在一起,使用 test.rs 文件
  • mod-submodule-organization - 多文件模块使用 mod.rs
  • mod-types-errors-files - 将类型和错误分别放入专用文件
  • mod-reexport-pattern - 使用 pub use 实现清晰的 API 重导出
  • mod-conditional-compilation - 使用 cfg 属性实现条件模块
3. 命名约定(高)
  • name-function-snake-case - 函数和方法使用 snake_case
  • name-type-pascal-case - 类型使用 PascalCase
  • name-constant-screaming - 常量使用 SCREAMING_SNAKE_CASE
  • name-getter-prefix - Getter 函数使用 get_ 前缀
  • name-boolean-predicates - 布尔谓词使用 is_、has_、should_ 前缀
  • name-constructor-new - 构造函数使用 new
  • name-conversion-to-from - 转换使用 to_ 和 from_
  • name-type-suffixes - 类型特化使用描述性后缀
  • name-field-unit-suffixes - 字段名包含单位后缀
  • name-module-snake-case - 模块名使用 snake_case
  • name-generic-parameters - 泛型参数使用描述性名称或单字母名称
  • name-lifetime-parameters - 生命周期参数使用单个小写字母
  • name-test-files - 测试文件命名为 test.rs
4. 类型与 trait 模式(高)
  • type-option-nullable-fields - 可空字段使用 Option
  • type-standard-derives - 数据结构采用一致的 derive 顺序
  • type-builder-pattern - 使用支持方法链式调用的 Builder 模式
  • type-associated-types - 相关类型之间的关系使用关联类型
  • type-phantom-data - 未使用的泛型参数使用 PhantomData
  • type-newtype-pattern - 使用 Newtype 模式确保类型安全
  • type-enum-copy-simple - 为简单枚举派生 Copy
  • type-enum-variants - 使用枚举实现类型安全的变体
  • type-trait-impl-grouping - 将相关 trait 实现放在一起
  • type-bitflags - 使用 bitflags! 实现类型安全的位标志
  • type-operator-overload - 为领域类型实现运算符 trait
  • type-public-fields - 数据结构使用公有字段
  • type-async-trait - 异步 trait 方法使用 async_trait
  • type-boxed-trait-objects - 使用 Box 实现运行时多态
  • type-type-aliases - 复杂泛型使用类型别名
5. 错误处理(高)
  • err-thiserror-enum - 使用 thiserror 定义自定义错误类型
  • err-result-alias - 定义模块本地的 Result 类型别名
  • err-path-context - 在 IO 错误中包含路径上下文
  • err-anyhow-context - 使用 context() 和 with_context() 提供错误消息
  • err-bail-validation - 使用 bail! 处理验证失败
  • err-graceful-degradation - 对非关键操作采用优雅降级
  • err-panic-unrecoverable - 仅在不可恢复的情况下使用 panic!
  • err-expect-message - 使用带有描述性消息的 expect()
  • err-source-attribute - 使用 #[source] 链接错误
  • err-ok-or-else - 对开销较大的错误构造使用 ok_or_else
  • err-two-tier-strategy - 使用双层错误策略

如何使用

阅读各个参考文件,了解详细说明和代码示例:

完整合并文档

如需查看包含所有展开规则的完整指南:AGENTS.md

评论

支持 Markdown