Rust-разработка бэкенд-сервисов на Axum и Tokio
engineering
rust-dev is a Claude Code skill that enforces a backend development standard for Rust projects built on Axum 0.8 and Tokio 1.x. It covers the full project lifecycle: toolchain commands (cargo fmt, clippy with -D warnings, cargo audit, cargo deny, cargo machete), pinned dependency versions (sqlx 0.8, serde 1, tracing 0.1), naming conventions, module layout, and visibility rules using pub(crate) by default. A dedicated section addresses async pitfalls: mandatory spawn_blocking for blocking calls, prohibition of std::sync::Mutex across .await points, cancellation-safe tokio::select! branches, and graceful shutdown via tokio::signal. Error handling follows a clear decision tree — thiserror for library crates, anyhow for binary top-level, and a custom AppError implementing IntoResponse for Axum handlers; .unwrap() and panic! are denied in production code via clippy configuration. The skill applies to *.rs, Cargo.toml, and Cargo.lock files; CLI, wasm, and embedded targets are explicitly out of scope.
- #rust
- #backend
- #async-programming
- #web-framework
- #code-standards