Main
Use jscpd as a regression guard: run it in CI to keep copy/paste from silently spreading during fast iterations.
Tune it for agent refactors: set a token threshold so you catch true duplication without flagging common boilerplate.
Prefer the server mode when you need repeated queries across multiple repos or a UI/report pipeline.
Treat supported formats as a scope knob: start narrow (your main language), then expand once the baseline is clean.
README (excerpt)
jscpd
Copy/paste detector for programming source code, supports 223 formats. AI-ready with MCP server and token-efficient reporter.
Copy/paste is a common technical debt on a lot of projects. The jscpd gives the ability to find duplicated blocks implemented on more than 223 programming languages and digital formats of documents. The jscpd tool implements Rabin-Karp algorithm for searching duplications.
Packages of jscpd
| name | version | description |
|---|---|---|
| jscpd | main package for jscpd (cli and API for detections included) | |
| jscpd-server | jscpd server application |
Source-backed notes
- README states it supports 223 formats and provides both CLI and server installs (
npm install -g jscpd/jscpd-server). - Repo is MIT licensed and actively maintained (verified via GitHub API).
- README includes a
pnpm installpath for contributors (repo build instructions).
FAQ
- Is it only for JavaScript?: No—README says it supports 223 formats; run it against your repo language set.
- How do I install the CLI?: Use
npm install -g jscpd(README install section). - Can I run it as a service?: Yes—README mentions server mode (
jscpd-server).