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。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案