Help us improve
Share bugs, ideas, or general feedback.
From first-plan
Analyzes Rust projects on Cargo.toml detection: identifies binaries/libs/workspaces, extracts patterns in async (Tokio/async-std), errors (thiserror/anyhow), web (Axum/Actix-web/Rocket), testing, logging.
npx claudepluginhub vynazevedo/first-plan --plugin fpHow this skill is triggered — by the user, by Claude, or both
Slash command
/fp:lens-rustThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
| Sinal | Variante |
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.
Enforces idiomatic Rust patterns for ownership/borrowing, error handling with anyhow/thiserror, enums, traits, concurrency, and crate design.
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.
| Sinal | Variante |
|---|---|
[[bin]] em Cargo.toml ou src/main.rs | Binário |
[lib] em Cargo.toml ou src/lib.rs | Lib |
axum / actix-web / rocket / warp em deps | HTTP API |
tonic em deps | gRPC |
tokio em deps | Async runtime tokio |
async-std em deps | Async runtime async-std |
clap em deps + bin | CLI |
tauri em deps | Tauri (desktop) |
bevy | Game/3D |
[workspace] em Cargo.toml | Workspace (monorepo Rust) |
src/main.rs ou src/bin/<name>.rssrc/lib.rs + módulostests/ integration testsexamples/ exemplosbenches/ benchmarksthiserror (typed errors)anyhow (boxed errors em apps)? operator usageSend + Sync constraintstokio::spawn)tokio::sync::mpsc, crossbeam)derive macros customizados (sinal: dependências de proc-macro crates)macro_rules! definidos no projeto#[test] unit tests inlinetests/ integrationcriterion para benchmarksproptest, quickcheck (property testing)mockall (mocks)wiremock (HTTP mocks)axum:
async fn(...) -> impl IntoResponseState, Json, Path, Query)actix-web:
web::Data, web::Jsontracing ecosystem (tracing + tracing-subscriber + tracing-opentelemetry)log crate + env_logger (legacy)cargo-make, just em vez de Makefileclippy.toml, rustfmt.tomlMSRV (minimum supported Rust version)Padrão. Atenção:
02-conventions/errors.md - thiserror vs anyhow vs custom02-conventions/di.md - Rust geralmente usa State/Context structs em vez de DI clássicoAumentar:
clippy.toml strict + zero warnings nos commits recentesReduzir:
unsafe blocks em código não-justificado por SAFETY: commentunwrap() / expect() em produção sem justificativaunwrap() sem expect("razão") em produçãoclone() excessivo (smell de fight com borrow checker)Arc<Mutex<T>> quando RwLock ou channel resolveria melhorpanic! em lib (deveria retornar Result)