Agent skill
cargo-lint
Run cargo fmt and clippy with consistent flags in sequence. Formats code first, then runs clippy with auto-fixes. Trigger when asked to lint, check, or format Rust code.
Stars
163
Forks
31
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/development/cargo-lint
SKILL.md
Cargo Lint
Overview
Standardize linting by running cargo fmt and cargo clippy in sequence with consistent flags. Formats code first, then applies clippy suggestions automatically.
Quick Start
- Run
skills/cargo-lint/scripts/run_lint.shfrom repository root. - Review and fix any formatting issues first.
- Allow clippy to apply auto-fixes, then review changes.
- Rerun script until all checks pass.
Workflow
- Format first:
cargo fmt --allformats all code in the workspace. - Lint with clippy:
cargo clippy --all-features --fix --allow-dirty --message-format=short - Environment:
NO_COLOR=1- Disables color outputCARGO_TERM_COLOR=never- Ensures cargo output is colorless
- Execution order: Formatting must succeed before clippy runs.
- Fix mode:
--fix --allow-dirtyapplies safe automatic fixes to all files.
Best Practices
- Order matters: Always run
cargo fmtbeforecargo clippyto avoid style conflicts. - Disable colors: Use colorless output for CI and log parsing.
- Workspace scope: Lint entire workspace with
--all-featuresto catch feature-gated issues. - Review auto-fixes: Inspect changes made by
--fixbefore committing. - Run from root: Execute from repository root for proper workspace resolution.
- Consistent flags: Use the same lint configuration across all environments.
Common Variations
Check formatting without applying
bash
cargo fmt --all -- --check
Run clippy without auto-fix
bash
cargo clippy --all-features --message-format=short -- -D warnings
Lint specific package
bash
cargo fmt -p <package-name>
cargo clippy -p <package-name> --all-features
Clippy Configuration
- Auto-fix mode:
--fixapplies suggestions automatically - Allow dirty:
--allow-dirtypermits fixes in uncommitted files - Message format:
--message-format=shortprovides concise output - All features:
--all-featureschecks feature-gated code
Failure Handling
- Formatting failures: Fix code to match rustfmt style guidelines.
- Clippy warnings: Address lints or add
#[allow(...)]attributes where appropriate. - Review changes: If clippy modifies code, review before committing.
- Restage files: After auto-fixes, restage modified files for commit.
Didn't find tool you were looking for?