Treepeat - Поиск дубликатов и похожего кода на основе Tree-sitter
Show HN: Treepeat – Code similarity detection using Tree-sitter
Treepeat — это инструмент для анализа кодовой базы, который находит дублирующиеся, почти одинаковые и структурно похожие блоки кода. В отличие от построчных диффов, он использует Tree-sitter для разбора AST и локально-чувствительное хеширование, что позволяет выявлять дубликаты на уровне функций и классов, игнорируя пробелы, строки и имена. Поддерживаются Python, JavaScript, TypeScript, Go, Rust, Java, Kotlin, SQL и другие языки. Настраиваемые правила нормализации (none, default, loose) и порог схожести помогают адаптировать поиск под задачу. Установка через pip, вывод в консоль или SARIF для CI.
«Treepeat находит не просто повторяющиеся строки, а смысловые дубликаты кода — классы и функции, — что делает рефакторинг и поддержку кода значительно проще».