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 で構築されており、スピードに優れ、多くの従来のコピーペースト検出ツールを上回ります。
  • 柔軟なレポート: SARIF、JSON、HTML を含む 15 種類のレポーターを提供しています。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト