con un clic
check-similarity-rs
// Detect duplicate Rust code using AST-based similarity analysis. Use when working with .rs files and looking for code duplication or refactoring opportunities.
// Detect duplicate Rust code using AST-based similarity analysis. Use when working with .rs files and looking for code duplication or refactoring opportunities.
Detect duplicate MoonBit code using AST-based similarity analysis. Use when working with .mbt files and looking for code duplication, refactoring opportunities, or enforcing code quality.
Detect duplicate Python code using AST-based similarity analysis. Use when working with .py files and looking for code duplication or refactoring opportunities.
Detect duplicate code using AST-based similarity analysis. Auto-selects the right tool based on file types in the project (similarity-ts for TypeScript/JavaScript, similarity-py for Python, similarity-mbt for MoonBit, similarity-rs for Rust, etc).
Detect duplicate TypeScript/JavaScript code using AST-based similarity analysis. Use when working with .ts/.tsx/.js/.jsx files and looking for code duplication or refactoring opportunities.
| name | check-similarity-rs |
| description | Detect duplicate Rust code using AST-based similarity analysis. Use when working with .rs files and looking for code duplication or refactoring opportunities. |
| argument-hint | [path] [--threshold 0.85] [--print] |
| allowed-tools | Bash(similarity-rs *) Bash(cargo run -p similarity-rs *) Read Grep Glob |
| paths | **/*.rs |
Run similarity-rs on the target Rust project to detect duplicate functions, struct/enum definitions, and impl methods, then analyze results and propose refactoring.
If similarity-rs is not installed:
cargo install similarity-rs
similarity-rs $ARGUMENTS
If no arguments given:
similarity-rs . --threshold 0.85 --min-lines 5
For struct/enum similarity:
similarity-rs . --threshold 0.85 --experimental-types
new() constructors with field initializationFrom/Into implementationsFor each high-priority pair, show before/after code with Rust idioms.
| Option | Description |
|---|---|
--threshold <0-1> | Similarity threshold (default: 0.85) |
--min-lines <n> | Skip functions shorter than n lines (default: 3) |
--min-tokens <n> | Skip functions with fewer AST nodes |
--print | Show actual code snippets |
--experimental-types | Enable struct/enum similarity detection |
--filter-function <name> | Filter by function name |
--fail-on-duplicates | Exit code 1 if duplicates found |
fn<T: Trait> with trait bounds? chain