clippy-advanced
SKILL.md
clippy-advanced - Advanced Clippy Configuration
Advanced Clippy configuration for comprehensive Rust linting, including custom rules, lint categories, disallowed methods, and IDE integration.
When to Use This Skill
| Use this skill when... | Use another tool instead when... |
|---|---|
| Configuring Clippy lint rules | Formatting code (use rustfmt) |
| Setting up CI linting for Rust | Building/compiling (use cargo build) |
| Customizing clippy.toml | Running tests (use cargo test) |
| Enforcing code standards | Managing dependencies (use cargo add) |
Installation
# Clippy is included with rustup
rustup component add clippy
# Verify installation
cargo clippy --version
# Update clippy with rust toolchain
rustup update
Basic Usage
# Run clippy on current project
cargo clippy
# Run on all targets (lib, bins, tests, examples, benches)
cargo clippy --all-targets
# Run with all features enabled
cargo clippy --all-features
# Run on workspace
cargo clippy --workspace --all-targets --all-features
# Show detailed lint explanations
cargo clippy -- -W clippy::all -A clippy::pedantic
# Treat warnings as errors
cargo clippy -- -D warnings
Lint Categories
| Category | Purpose | Default |
|---|---|---|
clippy::correctness |
Likely bugs | Deny |
clippy::complexity |
Overly complex code | Warn |
clippy::perf |
Performance issues | Warn |
clippy::style |
Code style | Warn |
clippy::suspicious |
Code that looks wrong | Warn |
clippy::pedantic |
Opinionated style | Off |
clippy::restriction |
Opt-in constraints | Off |
clippy::nursery |
Experimental | Off |
clippy::cargo |
Cargo.toml issues | Off |
Recommended Cargo.toml Configuration
[workspace.lints.clippy]
# Deny correctness issues (likely bugs)
correctness = "deny"
complexity = "warn"
perf = "warn"
style = "warn"
suspicious = "warn"
# Enable pedantic but allow some noisy lints
pedantic = "warn"
must_use_candidate = "allow"
missing_errors_doc = "allow"
# Enable some restriction lints selectively
clone_on_ref_ptr = "warn"
dbg_macro = "warn"
print_stdout = "warn"
todo = "warn"
unimplemented = "warn"
unwrap_used = "warn"
# Enable nursery lints (experimental)
use_self = "warn"
clippy.toml Essential Settings
Create clippy.toml in project root for thresholds and disallowed items:
cognitive-complexity-threshold = 15
too-many-lines-threshold = 100
too-many-arguments-threshold = 5
disallowed-methods = [
{ path = "std::env::var", reason = "Use std::env::var_os for better Unicode handling" },
{ path = "std::process::exit", reason = "Use Result propagation instead" },
]
disallowed-names = ["foo", "bar", "baz"]
Lint Suppression
// Function-level
#[allow(clippy::too_many_arguments)]
fn complex_function(a: i32, b: i32, c: i32, d: i32, e: i32, f: i32) {}
// Module-level (src/lib.rs)
#![warn(clippy::all)]
#![warn(clippy::pedantic)]
#![deny(clippy::unwrap_used)]
#![allow(clippy::module_name_repetitions)]
// Inline
#[allow(clippy::cast_possible_truncation)]
let x = value as u8;
Agentic Optimizations
| Context | Command |
|---|---|
| CI strict | cargo clippy --workspace --all-targets -- -D warnings |
| JSON output | cargo clippy --message-format=json |
| Compact errors | cargo clippy --message-format=short |
| Quick check | cargo clippy --message-format=short -- -D warnings |
| Pedantic check | cargo clippy -- -W clippy::pedantic -D clippy::correctness |
Quick Reference
Command-Line Flags
| Flag | Description |
|---|---|
--all-targets |
Check lib, bins, tests, examples, benches |
--all-features |
Enable all features |
--workspace |
Check entire workspace |
--message-format=json |
JSON output for tooling |
--message-format=short |
Compact error format |
-- -D warnings |
Treat warnings as errors |
-- -W clippy::pedantic |
Enable pedantic lints |
-- -A clippy::lint_name |
Allow specific lint |
Lint Levels
| Level | Attribute | Effect |
|---|---|---|
| Allow | #[allow(...)] |
Suppress lint |
| Warn | #[warn(...)] |
Show warning |
| Deny | #[deny(...)] |
Compile error |
References
For detailed configuration examples, CI integration, IDE setup, and best practices, see REFERENCE.md.
Weekly Installs
68
Repository
laurigates/clau…-pluginsGitHub Stars
13
First Seen
Jan 29, 2026
Security Audits
Installed on
opencode66
github-copilot66
codex66
gemini-cli66
cline64
cursor64