Loading...
Loading...
Use when asking about Rust code style or best practices. Keywords: naming, formatting, comment, clippy, rustfmt, lint, code style, best practice, P.NAM, G.FMT, code review, naming convention, variable naming, function naming, type naming
npx skill4agent add thurbeen/rust-skills coding-guidelines| Rule | Guideline |
|---|---|
No | |
| Iterator convention | |
| Conversion naming | |
| Static var prefix | |
| Rule | Guideline |
|---|---|
| Use newtypes | |
| Prefer slice patterns | |
| Pre-allocate | |
| Avoid Vec abuse | Use arrays for fixed sizes |
| Rule | Guideline |
|---|---|
| Prefer bytes | |
Use | When might modify borrowed data |
Use | Over string concatenation with |
| Avoid nested iteration | |
| Rule | Guideline |
|---|---|
Use | Not |
| When value guaranteed |
| Assertions for invariants | |
| Rule | Guideline |
|---|---|
| Meaningful lifetimes | |
| Avoid panic |
| Shadowing for transformation | |
| Rule | Guideline |
|---|---|
| Identify lock ordering | Prevent deadlocks |
| Atomics for primitives | Not Mutex for bool/usize |
| Choose memory order carefully | Relaxed/Acquire/Release/SeqCst |
| Rule | Guideline |
|---|---|
| Sync for CPU-bound | Async is for I/O |
| Don't hold locks across await | Use scoped guards |
| Rule | Guideline |
|---|---|
| Avoid unless necessary | Prefer functions/generics |
| Follow Rust syntax | Macro input should look like Rust |
| Deprecated | Better | Since |
|---|---|---|
| | 1.70 |
| | 1.80 |
| | - |
| | - |
| | - |
| | 2018 |
Naming: snake_case (fn/var), CamelCase (type), SCREAMING_CASE (const)
Format: rustfmt (just use it)
Docs: /// for public items, //! for module docs
Lint: #![warn(clippy::all)]