An open-source AI agent that brings the power of Gemini directly into your terminal.
Jscpd
Copy/paste detector for source code. 220+ languages, Rust engine, SARIF/HTML/badge reporters, GitHub Action, MCP server for AI agents.
Install
npx jscpd .claude mcp add jscpd -- npx jscpd .{
"mcpServers": {
"jscpd": {
"command": "npx",
"args": [
"jscpd",
"."
]
}
}
}Install command taken from the project's README or registry entry. Always review code before running it.
README excerpt
Read full README on GitHub →jscpd
Duplicate code detector for 220+ languages — plus dead code, complexity hotspots, duplication trends over git history, and one health score for the whole codebase. Rust engine, self-contained binary, AI-ready with an MCP server and a token-efficient reporter.
Documentation: https://jscpd.dev
jscpd tokenizes each of its 224 supported formats the way that language defines it — its own comment and string rules, not generic text — then finds duplicated token sequences across files with a rolling Rabin-Karp hash. Opt-in passes catch copies that differ only in names or values (Type-2) or that have a few edited lines (Type-3), and an experimental one uses a code embedding model for functions that do the same thing written differently (Type-4). See How detection works for the full mechanism, and Supported formats for the full list.
Beyond duplicates, jscpd also finds dead code (--dead-code), ranks files by complexity (--complexity), tracks duplication over git history (--history), and rolls it all into one health score (--health) — see Features below.
Quick Start
# macOS / Linux
curl -fsSL https://jscpd.dev/install.sh | bash
# Windows (PowerShell)
irm https://jscpd.dev/install.ps1 | iex
# No install — run once with npx (Node.js)
npx jscpd .
Then scan a project:
jscpd /path/to/code
Other install methods
| Method | Command | Notes |
|---|---|---|
| npm | npm install -g jscpd |
Installs the jscpd command; prebuilt binary, no Node.js at runtime |
npm (cpd command) |
npm install -g cpd |
Same binary, exposed as cpd |
| PyPI | pip install jscpd |
Platform wheels with both commands; also pipx install jscpd, uv tool install jscpd, or uvx jscpd . to run without installing |
| Cargo | cargo install jscpd |
Builds from crates.io; installs both jscpd and cpd |
| Homebrew | brew install jscpd |
macOS / Linux |
| Nix | nix run github:kucherenko/jscpd -- /path/to/code |
Or nix profile install github:kucherenko/jscpd |
| Docker | docker run --rm -v "$PWD:/src" ghcr.io/kucherenko/jscpd . |
Multi-arch image built from the release binaries |
GitHub Action
- uses: kucherenko/jscpd@v5
with:
threshold: 5
Uploads SARIF results to GitHub Code Scanning by default. See CI & Pre-Commit Hooks for all inputs and outputs.
Documentation
| Document | Description |
|---|---|
| Rust engine | Installation, CLI reference, reporters, baseline, summary, complexity, dashboard, blame, config file |
| AI-Ready | AI reporter, agent skills, MCP server |
| Editors | jscpd --lsp, the language server: setup for Neovim, Helix, Sublime Text, Emacs and JetBrains IDEs |
| Programming API | Rust API (cpd-finder crate) |
| CI & Pre-Commit Hooks | GitHub Action, Docker image, pre-commit hooks |
| Packages | npm packages and crates that make up a release |
| Supported formats | All 224 formats with their file extensions |
| Runnable demos | One fixtures/<feature>-demo/ directory per feature, each README lists the commands with their expected output |
Features
Similar plugs
The fastest path to AI-powered full stack observability, even for lean teams.
⭐AI-driven public opinion & trend monitor with multi-platform aggregation, RSS, and smart alerts. 告别信息过载,你的 AI 舆情监控助手与热点筛选工具!聚合多平台热点 + RSS 订阅,支持关键词精准筛选。AI 智能筛选新闻 + AI 翻译 + AI…
An open source, extensible AI agent that goes beyond code suggestions - install, execute, edit, and test with any LLM
AI Agent Assistant & development framework that integrates lots of IM platforms, LLMs, plugins and AI feature, and can be your openclaw alternative.