About code-quality
A Rust code-quality skill for developers that combines clean-code principles with practical quality gates. It covers formatting, linting, security audits, coverage, documentation, and dependency checks.
Key features
- 01Formatting and Clippy checks
- 02Security and dependency audits
- 03Coverage and documentation targets
- 04Rust error-handling and async guidance
- 05Clean-code principles and anti-patterns
Use cases
- 01Setting quality gates for a Rust workspace
- 02Reviewing Rust code for maintainability issues
- 03Checking dependency usage and duplication
Install
Copy the command and run it in a terminal.
$
npx skills add https:/ / github.com/ d-o-hub/ rust-self-learning-memory --skill code-qualityAfter installing, type/code-qualityin Claude Code to confirm it loaded.
Bundled filesquality-dimensions.md
Details
From the project READMECode Quality
Unified skill for Rust code quality and clean code development.
Quick Commands
./scripts/code-quality.sh fmt # Format check
./scripts/code-quality.sh clippy --workspace # Lint with clippy
./scripts/code-quality.sh audit # Security audit
./scripts/code-quality.sh check # Run all quality gates
./scripts/quality-gates.sh # Full gates (coverage 90%)
Quality Gates
| Check | Command | Target |
|---|---|---|
| Format | ./scripts/code-quality.sh fmt | 100% compliant |
| Lint | ./scripts/code-quality.sh clippy --workspace | Zero warnings |
| Audit | cargo audit | No known vulnerabilities |
| Coverage | cargo llvm-cov --html | >=90% |
| Docs | cargo doc --no-deps | All public APIs |
Rust Quality Dimensions
| Dimension | Focus |
|---|---|
| Structure | Files <500 LOC, clear modules |
| Error Handling | Custom Error, Result, ? operator (no unwrap) |
| Async | spawn_blocking for CPU work, no blocking in async |
| Testing | >=90% coverage, AAA pattern, cargo nextest + doctests |
| Security | Parameterized SQL, env vars, no hardcoded secrets |
Clean Code Principles
SOLID: Single Responsibility, Open-Closed, Liskov Substitution, Interface Segregation, Dependency Inversion
DRY/KISS/YAGNI: Extract common code, simple solutions, build what's needed now
Anti-Patterns
| Bad | Fix |
|---|---|
| Excessive clone | Use borrowing or Arc |
| Unnecessary unwrap | Use ? operator |
| Deep nesting | Extract methods |
| Large functions | Split (<50 LOC) |
| Deadlocks | Release locks before .await |
Dependency Monitoring
cargo tree -d | grep -cE "^[a-z]" # Count duplicates (target: <100)
cargo machete && cargo shear # Find unused deps
Code Review Output Format
# Code Quality Report
Score: X/100 | Critical Issues: N | Warnings: M
- Structure: [Status] | Error Handling: [Status] | Testing: [Status]
1. [Issue] - File:line - Fix: [Recommendation]
References
quality-dimensions.md, ADR-036 (Dependency Deduplication), ADR-032 (Disk Space)
Comments
Markdown supported