Об этом проекте

jscpd — высокопроизводительный детектор дублированного кода с поддержкой 220+ языков программирования. Работая на движке Rust, он токенизирует исходный код с использованием языковых правил для комментариев и строк, а затем находит дублированные последовательности токенов с помощью скользящего хеша Рабина-Карпа. Он обнаруживает точные клоны, клоны Type-2 (переименованные идентификаторы/литералы) и близкие клоны Type-3 с настраиваемыми порогами сходства. Помимо дублирования, он предлагает обнаружение мертвого кода, ранжирование сложности, тренды дублирования по истории git и единую оценку здоровья. Он поставляется как самодостаточный бинарный файл через npm, PyPI, crates.io, Homebrew, Nix и Docker, а также GitHub Action для интеграции с CI. Он включает 15 репортеров (консоль, JSON, HTML, SARIF, Code Climate и др.), поддержку baseline для ограничения только новыми клонами и функции, готовые к ИИ, такие как токен-эффективный AI-репортер, устанавливаемые навыки агентов и встроенный MCP-сервер для ИИ-ассистентов.