awesome-tree-sitter GitHub

awesome66 resources · 11 sections

tree-sitter

A curated list of Tree-sitter resources, tools, and learning material.

Tree-sitter is an incremental parsing system that produces concrete syntax trees suitable for fast syntax highlighting, code navigation, refactoring, and structural search.

tree README.md66 leaves

Official Resources

3
  • Website

    project home, docs, news.

  • Playground

    inspect parse trees in the browser.

  • Documentation

    parser usage guide.

Install Tree-sitter

2

Parsers

2

Bindings

5
  • JavaScript / TypeScript

    Node.js bindings.

  • Rust

    Rust crate for parsers.

  • Python

    Python bindings.

  • Go

    Go bindings.

  • Multi-language pack

    300+ pre-built grammars with unified bindings for Python, Node.js, Rust, Go, Java, Ruby, PHP, C#, and more.

Editors

8
  • Emacs

    Tree-sitter integration and modes.

  • Helix

    modal editor using Tree-sitter everywhere.

  • Lapce

    fast code editor with Tree-sitter highlighting.

  • Monaco

    Tree-sitter for the Monaco editor.

  • NeoVim

    Treesitter core (docs: neovim.io/doc/user/treesitter.html).

  • Notepad++

    Tree-sitter highlighting, folding and code navigation plugin.

  • Pulsar

    Atom community fork with Tree-sitter support.

  • Zed

    collaborative editor built on Tree-sitter.

Tools

33

Analysis / navigation7

  • vscode-anycode

    VS Code language features without servers.

  • bloop

    semantic search backed by Tree-sitter.

  • tree-climber

    structural code analysis.

  • zizmor

    static analysis via Tree-sitter.

  • basemind

    Code-map & code-search across 300+ languages built on tree-sitter: symbols, references, callers, and call graphs, served to AI agents over MCP.

  • omen

    code-health analysis (complexity, tech debt, hotspots, clones) via Tree-sitter.

  • VTCode

    terminal coding agent using tree-sitter-bash for fail-closed shell safety and bundled grammars for structural search.

Code highlighting1

  • arborium

    Tree-sitter powered syntax colors.

Code manipulation7

  • iswap.nvim

    swap nodes in NeoVim.

  • nvim-treesitter-textobjects

    text objects from syntax nodes.

  • nvim-treehopper

    leap through syntax nodes.

  • ts-movement

    navigate code by syntax units.

  • tree-sitter-fold

    folding driven by parse trees.

  • tree-edit

    structural editing via Tree-sitter.

  • uncomment

    strip comments from source across 30+ languages via Tree-sitter queries.

Conflict merge1

  • mergiraf

    semantic merge tool.

Diff4

  • difftastic

    syntax-aware diff viewer.

  • diffsitter

    Tree-sitter based diffing.

  • perspica

    semantic diff for code review: names each change, sets mechanical noise aside, and orders changes by call flow.

  • citydiff

    structural diff over a commit range, drawn as a 3D city of packages, declarations and calls.

Documentation1

  • doctree

    docs explorer using parse trees.

Formatting1

  • topiary

    formatter built on Tree-sitter grammars.

Graphs and relations2

Search / lint3

  • ast-grep

    structural search and rewrite.

  • tree-grepper

    grep syntax nodes.

  • tree-tags

    ctags generated from parse trees.

Secrets / security5

  • kingfisher

    secret scanning via Tree-sitter.

  • RepoAudit

    static analysis with Tree-sitter.

  • buttercup

    security-oriented parsing.

  • slice

    SAST using Tree-sitter queries.

  • semgrep

    pattern-based SAST.

Source code representation1

Tutorials

2

Playgrounds

4

Articles

4

Research

2

Talks

1