Help us improve
Share bugs, ideas, or general feedback.
From rust-dev
Enforces strict Rust standards including FAIL FAST error handling, workspace architecture, dependency management with version scripts, and patterns for code reviews, projects, and compilation fixes.
npx claudepluginhub onsails/cc --plugin rust-devHow this skill is triggered — by the user, by Claude, or both
Slash command
/rust-dev:rust-devThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
1. **Edition 2024**: Always `edition = "2024"` in Cargo.toml
assets/workspace-template/Cargo.tomlassets/workspace-template/README.mdassets/workspace-template/project-cli/Cargo.tomlassets/workspace-template/project-cli/src/main.rsassets/workspace-template/project/Cargo.tomlassets/workspace-template/project/src/lib.rsreferences/dependency-guide.mdreferences/error-handling.mdreferences/module-organization.mdscripts/check_crate_version.pyAssists with Cargo.toml configuration, crate dependency management, project initialization, builds, tests, benchmarks, docs, troubleshooting, and best practices for Rust projects.
Scaffolds new Rust projects with best practices for Cargo.toml, linting (clippy, rustfmt), CI pipelines, and workspace organization.
Guides modern Rust development with Cargo, rustc, Clippy, Rustfmt; covers ownership, borrowing, lifetimes, async Tokio, concurrency, error handling, testing, and optimization.
Share bugs, ideas, or general feedback.
edition = "2024" in Cargo.toml? or return Err. Logging is NOT handling. See error-handling.mdx.x format (e.g., serde = "1.0"). Find latest with python3 scripts/check_crate_version.py <crate>thiserror (with backtrace) for libraries, anyhow for binaries/testsfrom_cli_args(), never Default that reads envenv::set_var in tests: Pass config through function parameterspub(crate) > pubconst or CLI argspython3 scripts/check_crate_version.py <crate-name> to find latest version[workspace.dependencies] in root Cargo.toml with x.x formatserde = { workspace = true }Common deps: thiserror = "2.0", anyhow = "1.0", tokio = { version = "1", features = ["full"] }, serde = { version = "1.0", features = ["derive"] }, clap = { version = "4.5", features = ["derive"] }
Use the template in assets/workspace-template/:
project/
├── Cargo.toml # Workspace root, no code
├── project/ # Library crate (thiserror)
│ ├── Cargo.toml
│ └── src/lib.rs
└── project-cli/ # Binary crate (anyhow + clap)
├── Cargo.toml
└── src/main.rs
Split modules when file exceeds ~500 lines or tests take 50%+ of file. See module-organization.md for patterns.
The most critical standard. See error-handling.md for full rules and examples.
Quick check: If you see if let Err or match ... Err without return Err or ?, it's a bug.
scripts/check_crate_version.py — Query crates.io for latest dependency versions