--- name: dry description: Detect duplicate code and suggest DRY refactors using jscpd allowed-tools: [Bash, Read, Write, Glob, Grep] --- # DRY Check Detect duplicate code across your codebase using jscpd. ## Subcommands | Command | Description | |---------|-------------| | `dry` or `dry scan` | Run duplication scan | | `dry report` | Show last scan results | | `dry config` | Show current jscpd configuration | | `dry init` | Create project-specific jscpd.json | ## Parameters | Parameter | Description | Default | |-----------|-------------|---------| | `--threshold N` | Minimum token count for duplicate detection (higher = fewer matches) | jscpd default | | `--path ` | Directory to scan for duplicates | Current directory | ## Examples ```bash # Scan with higher threshold (find only large duplicates) /bluera-base:dry scan --threshold 100 # Scan specific directory /bluera-base:dry scan --path src/ # Combine both /bluera-base:dry scan --threshold 75 --path lib/ ``` ## Workflow **Phases:** Check jscpd → Scan codebase → Report duplicates → Suggest refactors ### 1. Check jscpd Installation ```bash command -v jscpd || npx jscpd --version ``` If not installed, suggest: `npm install -g jscpd` ### 2. Run Scan ```bash jscpd --reporters json --output .bluera/bluera-base/state/ . ``` ### 3. Parse Results Results are stored in `.bluera/bluera-base/state/jscpd-report.json` ### 4. Refactoring Guidance See skills/dry-refactor/SKILL.md for language-specific refactoring patterns.