← ClaudeAtlas

ia-rust-systemslisted

Rust patterns for CLI tools, backend services, and general application code. Use when working with Rust, Cargo workspaces, axum/tokio services, clap CLIs, async concurrency, or configuring clippy, rustfmt, cargo-nextest, or Cargo.toml.
iliaal/whetstone · ★ 20 · AI & Automation · score 84
Install: claude install-skill iliaal/whetstone
# Rust Systems & Services Covers modern application-layer Rust (edition 2024): CLIs, web services, libraries. Not `no_std`/embedded. ## Tooling | Tool | Purpose | |------|---------| | `cargo` | Build, dep management, script runner | | `clippy` | Lint (`cargo clippy --workspace --all-targets -- -D warnings`) | | `rustfmt` | Formatter (`cargo fmt --all`) | | `cargo-nextest` | Test runner, noticeably faster than `cargo test`, better isolation | | `cargo-deny` | License + advisory + duplicate-dep checks | | `cargo-machete` | Find unused dependencies | - Pin `rust-toolchain.toml` per repo so every contributor and CI uses the same compiler. - `cargo update -p <crate>` for single-package upgrades. `cargo update` rewrites everything — avoid in PR diffs. - `Cargo.lock` goes in version control for binaries *and* libraries (modern guidance; reproducibility wins). ## Workspaces Multi-crate projects use a workspace with layered crates. Dependencies point inward only. ``` Cargo.toml # [workspace] members + [workspace.dependencies] crates/ protocol/ # Shared types, no deps on other workspace crates storage/ # Persistence, depends on protocol service/ # Business logic, depends on protocol + storage cli/ # Binary, depends on everything ``` - Centralize versions in `[workspace.dependencies]`, reference as `foo = { workspace = true }` in members. - Keep the leaf-most crate (`protocol` / types) dependency-free so every other crate can depend on i