# kucherenko/jscpd

Copy/paste detector for programming source code, supports 223 formats. AI-ready with token-efficient reporter, skill and MCP server.

Repository: https://github.com/kucherenko/jscpd
Canonical: https://ross.abutalabs.com/products/jscpd
Homepage: https://jscpd.dev
Language: TypeScript
License: MIT
License Family: permissive
Topics: detector, quality, copy-paste, duplicates, cpd, code-quality, duplications, clones-detection, ai, coding-agents, skills, mcp, dry, skill, copy-paste-detection
Last push: 2026-08-25T13:39:04+00:00

## Health v2 (maintenance only)
Score: 99/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 99, release rhythm 98, longevity 100
- inputs: {"age_days": 4844, "days_push": 8, "days_rel": 15, "gap_med": 2, "n_releases_24m": 14}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 6057, forks 257 (observed 2026-08-28T04:09:34.681170+00:00)

## What it is
jscpd is a copy/paste detector that finds duplicated code blocks across 223+ programming languages and formats using the Rabin-Karp algorithm. Version 5 is a Rust-powered rewrite delivering a self-contained native binary 24-37x faster than the original TypeScript engine, with AI-ready reporting, agent skills, and a built-in MCP server.

## Use cases
- find duplicated code blocks across a codebase
- detect copy-pasted code in CI and fail builds above a threshold
- enforce DRY principles by measuring code duplication percentage
- let AI coding assistants check snippets for duplication via MCP
- generate HTML or SARIF duplication reports for code review
- refactor duplicated code with guided agent skills
- scan Vue, Svelte, Astro, and Markdown files for cross-format clones

## When to choose
- you need multi-language duplicate detection with 223+ supported formats
- you want a fast, self-contained native binary with no runtime dependencies
- you need CI/CD integration with thresholds, SARIF output, or pre-commit hooks
- you want AI assistants to detect and refactor duplication via MCP or agent skills
- you need git blame attribution for duplicated code

## When to avoid
- you need a Node.js programmatic API — only v4 (maintenance mode) provides it
- you need semantic or structural clone detection beyond token-based matching
- you rely on external LevelDB store backends, which v5 no longer supports
- you need AST-based similarity detection for renamed variables or reformatted code

## Facets
- artifact type: cli-tool
- maturity: active
- function: developer-tools, code-review, cli, mcp, parser, linter
- domain: developer-tools, programming-languages, large-language-models
- platform: cli, cross-platform, windows, rust, editor-plugin
- tags: copy-paste-detection, code-duplication, clone-detection, dry, code-quality, static-analysis, rabin-karp, ai-reporter, agent-skills, ci-cd, pre-commit-hooks, sarif, git-blame, rust-rewrite, command-line, automation, macos, linux, nodejs, docker

## Member repositories
- kucherenko/jscpd (main) score 99

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:09:34.681170+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-29T17:48:54.297420+00:00, confidence not recorded.
  - readme: https://github.com/kucherenko/jscpd (fetched 2026-08-28T04:09:34.681170+00:00, sha 4a475ce11f4c)
  - homepage: https://jscpd.dev (fetched 2026-08-29T08:45:27.417148+00:00, sha 070152369ce0)
  - site_page: https://jscpd.dev/getting-started/installation (fetched 2026-08-29T08:45:27.426273+00:00, sha 8b71b68a2844)
  - site_page: https://jscpd.dev/getting-started/supported-formats (fetched 2026-08-29T08:45:27.428128+00:00, sha 81e060f79afc)
  - site_page: https://jscpd.dev/getting-started/configuration (fetched 2026-08-29T08:45:27.432056+00:00, sha 4b53cdfb1c33)
  - site_page: https://jscpd.dev/getting-started/agent-skill (fetched 2026-08-29T08:45:27.439292+00:00, sha 77ac9e20d756)
  - site_page: https://jscpd.dev/getting-started/migration (fetched 2026-08-29T08:45:27.441052+00:00, sha 179ebb325763)
  - site_page: https://jscpd.dev/api (fetched 2026-08-29T08:45:27.430118+00:00, sha c5ff5bcf4ddc)
  - site_page: https://jscpd.dev/api/mcp-server (fetched 2026-08-29T08:45:27.435058+00:00, sha 0371bd473665)
  - site_page: https://jscpd.dev/reporters (fetched 2026-08-29T08:45:27.437246+00:00, sha 97b298d77783)
- Data as of 2026-08-30T08:39:29.467469+00:00.
