kucherenko/jscpd

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

解决的问题

jscpd 是一个用于编程源代码的复制粘贴检测工具,可识别文件间的重复代码块。它帮助开发人员通过发现应重构为可重用组件的冗余逻辑来减少技术债务。

工作原理

该工具实现了 Rabin-Karp 算法来查找克隆代码。它是一个高性能的 Rust 引擎,可作为自包含的二进制文件分发。支持 224 种不同的语言格式,并能跨格式检测重复(例如,在 JavaScript 和 TypeScript 之间匹配克隆)。

适用人群

希望维护干净代码库的软件工程师和 DevOps 团队,以及需要通过专用报告器和协议识别并重构重复代码的 AI 编码助手。

主要亮点

  • 广泛的语言支持:支持 224 种格式,并具备跨格式检测能力。
  • AI 就绪集成:包含用于高效 LLM 输出的 AI 报告器、用于实时重复检查的 MCP 服务器,以及可安装的 AI 代理技能。
  • CI/CD 集成:提供 GitHub Action 和基础支持,仅对新重复进行构建拦截。
  • 高性能:使用 Rust 构建,速度优于许多传统复制粘贴检测工具。
  • 灵活的报告:提供 15 种不同的报告器,包括 SARIF、JSON 和 HTML。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目