kucherenko/jscpd

Copy/paste detector for source code. 220+ languages, Rust engine, SARIF/HTML/badge reporters, GitHub Action, MCP server for AI agents.

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 24 minutes ago
Added to GitGenius on September 10th, 2026
Created on May 29th, 2013
Open Issues & Pull Requests: 45 (+0)
GitHub issues: Enabled
Number of forks: 262
Total Stargazers: 6,195 (+0)
Total Subscribers: 28 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 5.9 hours
Mean response time: 119.7 days
90th percentile: 412.2 days
Tracked items: 121

How this project is maintained

Around half of the issues opened in the past year never receive a reply. Only 18% of open issues come from outside the core team — the tracker reads mainly as internal planning. Only 10% of issues opened in the past year have been closed. Three people close 95% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 22
New in 7 days: 27
Closed in 7 days: 14
Avg open age: 75 days
Stale 30+ days: 4
Stale 90+ days: 3

Recent activity

Opened in 7 days: 6
Closed in 7 days: 13
Comments in 7 days: 2
Events in 7 days: 10

Top labels

  • feature (24)
  • bug (12)
  • help wanted (8)
  • enhancement (6)
  • documentation (5)
  • request-format-support (3)
  • hacktoberfest-accepted (2)
  • rust (1)

Detailed Description

jscpd is a copy-paste detector for source code that identifies duplicated code blocks across files in over 220 programming languages using a Rust engine.

The tool implements the Rabin-Karp algorithm to find exact duplicates and offers optional passes to detect Type-2 clones that differ only in variable or function names, and Type-3 clones with minor edits or matching structure. Each detected clone is reported with its classification and a similarity score, helping developers identify and refactor redundant code.

Teams should adopt jscpd if they want to enforce the DRY principle across codebases and need broad language support without language-specific tooling. It suits projects of any size and integrates into CI/CD pipelines through a GitHub Action that uploads SARIF results to GitHub Code Scanning. The tool ships as a self-contained binary with no runtime dependencies, available through npm, PyPI, Cargo, Homebrew, Nix, and Docker. For teams working with AI agents, the project includes an MCP server and token-efficient reporter designed for integration with coding assistants.

The project maintains active development with regular updates to the Rust engine and continuous expansion of supported formats. Documentation is comprehensive, covering the CLI, reporters, CI integration, and a programming API for the underlying Rust library. The repository includes runnable demo fixtures for each feature with expected output, supporting developers in understanding and validating the tool's behavior.