Settings

Theme

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

github.com

39 points by 91awebsi · 3 comments · 1 min read

Reader

treepeat is a tool that finds similarities in your codebase.

Find duplicate code blocks meaningful to the language (classes/functions), not just lines.

Find near-duplicates: ignore whitespace, strings, high level AST nodes such as function and names.

Find structurally similar code: anonymize identifiers, constants, etc.

Pull requests welcome: This is very much an proof of concept - I'm happy with it, but I haven't supported very many languages at present.

Languages supported: astro, bash, css, go, html, javascript, lua, markdown (plus codeblocks), python, sql, typescript, java, kotlin, rust, yaml

2 threads
ryuuseijin

This is what I wanted to help with duplicate code detection, which is now a real problem with agentic programming since the agent tends to duplicate helper functions a lot in bigger codebases.

I ended up writing my own tool [1] that uses vector search, which works but can be unusably slow in large codebases.

I will give this a shot.

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

bradleyy

Thanks for posting this; I'm very interested in finding similar chunks of code in an AST-ish fashion, and using tree-sitter seems perfect.

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection