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-devThis skill is limited to using the following tools:
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.pySearches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Searches prompts.chat for AI prompt templates by keyword or category, retrieves by ID with variable handling, and improves prompts via AI. Use for discovering or enhancing prompts.
Checks Next.js compilation errors using a running Turbopack dev server after code edits. Fixes actionable issues before reporting complete. Replaces `next build`.
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