{"repo":"kucherenko/jscpd","free":true,"listed":false,"github":"https://github.com/kucherenko/jscpd","clone":"git clone https://github.com/kucherenko/jscpd.git","description":"Copy/paste detector for programming source code, supports 223 formats. AI-ready with token-efficient reporter, skill and MCP server.","language":"TypeScript","stars":6014,"topics":["detector","quality","copy-paste","duplicates","cpd","code-quality","duplications","clones-detection","ai","coding-agents"],"license":"MIT","category":"dev-tools","readme_excerpt":"jscpd Copy/paste detector for programming source code. Supports 224+ formats. AI-ready with MCP server and token-efficient reporter. Now with a Rust-powered engine — 24-37x faster. jscpd implements the Rabin-Karp algorithm to find duplicated code blocks across files. Quick Start Documentation Document Description ---------- ------------- TypeScript (v4.x) Node.js engine — CLI, reporters, config, detection modes Rust (v5.x) Rust engine — installation, CLI, reporters, blame, Rust API AI-Ready AI reporter, agent skills, MCP server Programming API TypeScript and Rust programmatic APIs CI & Pre-Commit Hooks GitHub Action, pre-commit hooks Packages Monorepo package and crate overview Two Engines TypeScript (v4) Rust (v5) --- --- --- npm package jscpd@4 jscpd@5 or cpd CLI command jscpd jscpd (from jscpd@5 ) or cpd (from cpd ) Speed Baseline 24-37x faster Formats 224 223 Node.js required Yes No (self-contained binary) Programming API TypeScript ( jscpd() , detectClones() ) Rust ( cpd-finder crate) LevelDB store Yes No Reporters 13 13 jscpd@5 installs the jscpd command. The cpd npm package installs the cpd command. Both contain the same Rust binary. For both command names from a single install, use crates.io: cargo install jscpd . What's New v5.0.x — Rust Engine jscpd v5 is a ground-up Rust rewrite that ships as jscpd@5 (installs the jscpd command) or cpd (installs the cpd command). Self-contained binary — no Node.js runtime required. Same interface, 24-37x faster: - All CLI options f","default_branch":null,"files":null,"tree":[],"storefront":"/r/kucherenko","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/kucherenko/jscpd/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}