Treepeat - Tree-sitterを活用したコード類似度検出ツール

Show HN: Treepeat – Code similarity detection using Tree-sitter

Treepeatは、Tree-sitterのAST解析と局所性鋭敏ハッシュを組み合わせて、コードベース内の類似コードを検出するツールです。完全な重複だけでなく、空白や文字列を無視したニアデュプリケート、識別子を匿名化した構造的類似コードも見つけられます。類似度の閾値や最小行数を指定でき、差分表示やSARIF形式での出力でCIにも統合可能。Python、JavaScript、Go、Rustなど多言語に対応し、pip install treepeatで簡単に導入できます。

言語にとって意味のある重複コードブロック(クラスや関数)を見つけ、単なる行の重複ではない類似性を検出します。
  1. ryuuseijin

    これはまさに、重複コード検出を手伝いたかったところだ。エージェント型プログラミングでは、エージェントが大きなコードベースでヘルパー関数を大量に重複させる傾向があるため、今や現実的な問題になっている。

    結局、ベクトル検索を使う自分のツール[1]を書くことになった。動きはするが、大規模なコードベースでは使い物にならないほど遅くなることがある。

    これは試してみるよ。

    [1]: https://github.com/ninjaxtools/slopdex

  2. adityamishra241

    いいアプローチだね。ASTレベルの類似度は、単純なテキストマッチングよりもずっと役立ちそうだ。

  3. Game_Ender

    読めるREADMEをありがとう。少しAIの助けが入っているかもしれないが、簡潔でツールの使い方が明確だ。

この日のほかの記事

2026-09-24