What problem does it solve?
Rust projects often stall due to confusing ownership and lifetimes, inconsistent error-handling choices, and uncertainty about the right async runtime and testing patterns.
Core Features & Use Cases
- Error-handling decision guidance: chooses library-grade errors with thiserror vs application-grade propagation with anyhow, including guidance for mixed crates and adding context.
- Async/runtime selection: recommends tokio, embassy, or simpler blocking approaches based on workload and constraints, plus multi-threaded vs single-threaded executor selection.
- Ownership and concurrency patterns: clarifies when to use moves, borrows, Rc/Arc, and interior mutability like RefCell/Mutex/RwLock.
- Implementation and quality heuristics: emphasizes Rust 2024 edition considerations, common robust patterns (newtypes, builder/type-state), iterator/parallelism practices, and verification checklists (fmt/clippy/test/audit).
Quick Start
Ask for help applying the Rust skill guidance to your repository’s failing code by stating the crate type (library, binary, or mixed), the async needs (yes/no and runtime constraints), and the specific error messages you see when running tests or clippy.