ワンクリックで
check-similarity-ts
// 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.
// 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.
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 Rust code using AST-based similarity analysis. Use when working with .rs 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).
| name | check-similarity-ts |
| description | 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. |
| argument-hint | [path] [--threshold 0.85] [--print] |
| allowed-tools | Bash(similarity-ts *) Bash(cargo run -p similarity-ts *) Read Grep Glob |
| paths | **/*.ts,**/*.tsx,**/*.js,**/*.jsx |
Run similarity-ts on the target project to detect duplicate functions and types, then analyze results and propose refactoring.
If similarity-ts is not installed:
cargo install similarity-ts
similarity-ts $ARGUMENTS
If no arguments given:
similarity-ts . --threshold 0.85 --min-tokens 25
For type-level duplicates (interfaces, type aliases):
similarity-ts . --threshold 0.85 --experimental-types
For each high-priority pair, show before/after code with concrete implementation.
| Option | Description |
|---|---|
--threshold <0-1> | Similarity threshold (default: 0.85) |
--min-tokens <n> | Skip functions with fewer AST nodes (recommended: 20-30) |
--print | Show actual code snippets |
--experimental-types | Enable type/interface similarity detection |
--experimental-overlap | Enable partial overlap detection |
--extensions <ext> | File extensions to check (comma-separated) |
--filter-function <name> | Filter by function name |
--filter-function-body <text> | Filter by function body content |
--fail-on-duplicates | Exit code 1 if duplicates found |