mcpField
R
rust-systems

rust-systems

github.com/pproencaDevelopment22043 installsUpdated 11w ago
Repository

About rust-systems

rust-systems is a Rust best-practices skill for systems programming, CLI tools, and performance-critical applications. Its 52 rules cover project and module organization, naming, types and traits, and error handling.

Key features

  1. 0152 rules in five categories
  2. 02Cargo workspace and module organization
  3. 03Naming conventions for Rust code
  4. 04Type and trait design patterns
  5. 05Error handling guidance

Use cases

  1. 01Structure a multi-crate Rust project
  2. 02Review Rust modules and naming
  3. 03Design types, traits, and error handling
  4. 04Build systems tools or daemon processes

Install

Copy the command and run it in a terminal.

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

After installing, type/rust-systemsin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with 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

Details

From the project README

Rust Systems Programming Best Practices

Comprehensive Rust patterns and style conventions for systems programming, containing 52 rules across 5 categories. Designed for systems programming, CLI tools, and performance-critical applications.

When to Apply

Reference these guidelines when:

  • Writing new Rust code or modules
  • Organizing Rust project structure
  • Defining custom types, traits, or error handling
  • Reviewing Rust code for style consistency
  • Building systems tools, CLIs, or daemon processes

Rule Categories by Priority

PriorityCategoryImpactPrefix
1Project OrganizationHIGHorg-
2Module StructureHIGHmod-
3Naming ConventionsHIGHname-
4Type & Trait PatternsHIGHtype-
5Error HandlingHIGHerr-

Quick Reference

1. Project Organization (HIGH)
  • org-cargo-workspace - Use Cargo Workspace for Multi-Crate Projects
  • org-directory-naming - Use snake_case for All Directory Names
  • org-binary-library-separation - Separate Binary and Library Crates
  • org-feature-domain-grouping - Group Crates by Feature Domain
  • org-common-crate - Use Dedicated Common Crate for Shared Utilities
  • org-flat-crate-structure - Keep Crate Structure Flat
2. Module Structure (HIGH)
  • mod-explicit-declarations - Use Explicit Module Declarations in lib.rs
  • mod-colocated-tests - Co-locate Tests as test.rs Files
  • mod-submodule-organization - Use mod.rs for Multi-File Modules
  • mod-types-errors-files - Separate Types and Errors into Dedicated Files
  • mod-reexport-pattern - Use pub use for Clean API Re-exports
  • mod-conditional-compilation - Use cfg Attributes for Conditional Modules
3. Naming Conventions (HIGH)
  • name-function-snake-case - Use snake_case for Functions and Methods
  • name-type-pascal-case - Use PascalCase for Types
  • name-constant-screaming - Use SCREAMING_SNAKE_CASE for Constants
  • name-getter-prefix - Prefix Getter Functions with get_
  • name-boolean-predicates - Use is_, has_, should_ for Boolean Predicates
  • name-constructor-new - Use new for Constructors
  • name-conversion-to-from - Use to_ and from_ for Conversions
  • name-type-suffixes - Use Descriptive Suffixes for Type Specialization
  • name-field-unit-suffixes - Include Unit Suffixes in Field Names
  • name-module-snake-case - Use snake_case for Module Names
  • name-generic-parameters - Use Descriptive or Single-Letter Generic Parameters
  • name-lifetime-parameters - Use Single Lowercase Letters for Lifetimes
  • name-test-files - Name Test Files as test.rs
4. Type & Trait Patterns (HIGH)
  • type-option-nullable-fields - Use Option for Nullable Fields
  • type-standard-derives - Use Consistent Derive Order for Data Structs
  • type-builder-pattern - Use Builder Pattern with Method Chaining
  • type-associated-types - Use Associated Types for Related Type Relationships
  • type-phantom-data - Use PhantomData for Unused Generic Parameters
  • type-newtype-pattern - Use Newtype Pattern for Type Safety
  • type-enum-copy-simple - Derive Copy for Simple Enums
  • type-enum-variants - Use Enums for Type-Safe Variants
  • type-trait-impl-grouping - Group Related Trait Implementations Together
  • type-bitflags - Use bitflags! for Type-Safe Bit Flags
  • type-operator-overload - Implement Operator Traits for Domain Types
  • type-public-fields - Use Public Fields for Data Structs
  • type-async-trait - Use async_trait for Async Trait Methods
  • type-boxed-trait-objects - Use Box for Runtime Polymorphism
  • type-type-aliases - Use Type Aliases for Complex Generics
5. Error Handling (HIGH)
  • err-thiserror-enum - Use thiserror for Custom Error Types
  • err-result-alias - Define Module-Local Result Type Alias
  • err-path-context - Include Path Context in IO Errors
  • err-anyhow-context - Use context() and with_context() for Error Messages
  • err-bail-validation - Use bail! for Validation Failures
  • err-graceful-degradation - Use Graceful Degradation for Non-Critical Operations
  • err-panic-unrecoverable - Reserve panic! for Unrecoverable Situations
  • err-expect-message - Use expect() with Descriptive Messages
  • err-source-attribute - Use #[source] for Error Chaining
  • err-ok-or-else - Use ok_or_else for Expensive Error Construction
  • err-two-tier-strategy - Use Two-Tier Error Strategy

How to Use

Read individual reference files for detailed explanations and code examples:

Full Compiled Document

For the complete guide with all rules expanded: AGENTS.md

Comments

Markdown supported