askill
preferences-rust-development

preferences-rust-developmentSafety 100Repository

Rust development conventions covering domain modeling, error handling, API design, testing, performance, and type-level programming. Load when working with .rs files or Rust projects.

7 stars
1.2k downloads
Updated 2/19/2026

Package Files

Loading files...
SKILL.md

Rust development

This guide integrates functional domain modeling (FDM) with pragmatic Rust practices from Microsoft engineers.

Primary lens: Functional domain modeling - type-driven design encoding business logic in the type system, making invariants explicit and violations compile-time errors.

Complementary guidance: Microsoft Pragmatic Rust Guidelines - industry best practices for API design, testing, performance, and safety.

Philosophical reconciliations:

  • Panic semantics: Panics for true programming bugs only (contract violations, impossible states). Domain and infrastructure errors use Result types. Good type design reduces both panic surface and error handling complexity.
  • Dependency injection: Prefer concrete types for domain logic, enums for testable I/O (sans-io), generics for algorithm parameters, dyn Trait only for true runtime polymorphism. This hierarchy complements FDM's emphasis on explicit, type-safe dependencies.
  • Type-driven design: Both approaches emphasize making invalid states unrepresentable. Smart constructors, state machines, and strong types eliminate bug categories.

Role in multi-language architectures: Rust often serves as the base IO/Result layer in multi-language monad transformer stacks, providing memory-safe, high-performance foundations for effect composition.

Contents

This guide is organized into focused topic files for easy navigation and AI agent efficiency.

FileDescription
01-functional-domain-modeling.mdCore FDM patterns: smart constructors, state machines, workflows, aggregates, error classification; advanced patterns: phantom types, const generics, NonEmpty collections; Pattern 6: The Decider pattern (fmodel-rust) for event-sourced command handling
02-error-handling.mdCanonical error structs, thiserror/anyhow/miette, Result composition, railway-oriented programming, applicative validation, #[must_use] enforcement
03-panic-semantics.mdWhen to panic vs return Result, programming bugs vs domain errors
04-api-design.mdNaming, dependency injection hierarchy, builders, sans-io pattern, serialization boundaries, command/event struct patterns
05-testing.mdMockable I/O, property-based testing, feature-gated test utilities
06-documentation.mdCanonical doc sections, module docs, doc tests
07-performance.mdHot paths, throughput optimization, async yield points, allocators
08-structured-logging.mdTracing, message templates, OpenTelemetry conventions
09-unsafe-code.mdValidation requirements, Miri testing, soundness guarantees
10-tooling.mdCode quality, linting, dependency management
11-concurrency.mdCapability-secure concurrency: deny capabilities, actor patterns, channel primitives, structured concurrency
12-distributed-systems.mdDistributed patterns: idempotency keys, saga orchestration, transactional outbox, event sourcing integration
13-type-level-programming.mdStrategic library extensions: typenum, frunk, nutype for type-level programming; compile-time assertions; anti-patterns to avoid

References

Primary sources

This document integrates guidance from:

  • Functional domain modeling: See ~/.claude/commands/preferences/domain-modeling.md for universal patterns, ~/.claude/commands/preferences/architectural-patterns.md for application structure, ~/.claude/commands/preferences/railway-oriented-programming.md for error composition
  • Microsoft Pragmatic Rust Guidelines: https://microsoft.github.io/rust-guidelines/agents/all.txt - comprehensive production Rust guidance from Microsoft engineers
  • Rust API Guidelines: https://rust-lang.github.io/api-guidelines/ - official Rust API design checklist

Related documents

  • ~/.claude/commands/preferences/distributed-systems.md - universal distributed systems decision framework
  • ~/.claude/commands/preferences/theoretical-foundations.md - category-theoretic underpinnings
  • ~/.claude/commands/preferences/algebraic-data-types.md - sum/product type patterns

Install

Download ZIP
Requires askill CLI v1.0+

AI Quality Score

65/100Analyzed 2/12/2026

A high-level index and philosophical guide for Rust development standards. It defines core principles (error handling, dependency injection) but delegates specific implementation details to referenced local files. It contains hardcoded local paths, limiting portability.

100
90
50
50
60

Metadata

Licenseunknown
Version-
Updated2/19/2026
Publishercameronraysmith

Tags

apigithubllmobservabilitytesting