Rust Magic Linter
Add strict Clippy lint configurations to Rust projects. These "guardrails" help AI agents write better Rust code by turning best practices into compiler errors.
Workflow
- Verify this is a Rust project (check for
Cargo.toml) - Ask which preset the user wants (if not specified)
- Check if
[lints.*]sections already exist in Cargo.toml - Detect workspace vs single project (use
[workspace.lints.*]for workspaces) - Apply the configuration from assets
- Create
clippy.tomlfrom assets - Optionally offer
.cargo/deny.tomlandCONSTITUTION.md - Run
cargo clippyto verify
Presets
- minimal - Just panic guards:
unwrap,expect,panic,allow_attributes,dbg_macro,todo. Use for quick safety net with minimal code changes. - standard - Pedantic + async safety + output control. Recommended for most projects.
- maximum - All lint groups at deny level, minimal relaxations. Very strict, may require significant code changes.
Assets
All configuration files are in assets/:
assets/minimal.toml- Minimal presetassets/standard.toml- Standard preset (recommended)assets/maximum.toml- Maximum preset (strictest)assets/clippy.toml- Complexity thresholds for project rootassets/deny.toml- cargo-deny config for.cargo/deny.tomlassets/CONSTITUTION.md- Project rules template
Applying Configurations
- Read the appropriate preset from
assets/ - For workspaces: replace
[lints.with[workspace.lints. - Append to
Cargo.tomlwith a header comment - Copy
assets/clippy.tomlto project root - If user wants supply chain security: copy
assets/deny.tomlto.cargo/deny.toml - If user wants project rules: copy
assets/CONSTITUTION.mdto project root
Key Lints Explained
The most important lint is allow_attributes = "deny" - this prevents AI from bypassing errors by adding #[allow(clippy::...)]. The AI must actually fix the code.
Other critical lints:
unwrap_used,expect_used,panic- Force proper error handlingdbg_macro,todo- No debug leftovers or incomplete codeprint_stdout,print_stderr- Usetracingfor structured loggingawait_holding_lock- Prevent async deadlocks
Repository
https://github.com/vicnaum/rust-magic-linter
Converted and distributed by TomeVault — claim your Tome and manage your conversions.