#tree-sitter-grammar #incremental-parser #parser

bin+lib tree-sitter-cli

CLI tool for developing, testing, and using Tree-sitter parsers

42 releases

new 0.26.3 Dec 13, 2025
0.25.10 Sep 22, 2025
0.25.8 Jul 13, 2025
0.25.3 Mar 5, 2025
0.14.5 Feb 25, 2019

#2962 in Parser implementations

Download history 3396/week @ 2025-08-25 2699/week @ 2025-09-01 3581/week @ 2025-09-08 5378/week @ 2025-09-15 5521/week @ 2025-09-22 3710/week @ 2025-09-29 5476/week @ 2025-10-06 4071/week @ 2025-10-13 4260/week @ 2025-10-20 5087/week @ 2025-10-27 3156/week @ 2025-11-03 4004/week @ 2025-11-10 4243/week @ 2025-11-17 2487/week @ 2025-11-24 2848/week @ 2025-12-01 3071/week @ 2025-12-08

12,839 downloads per month
Used in highlight-ez

MIT and LGPL-3.0-or-later

2.5MB
57K SLoC

Rust 44K SLoC // 0.0% comments C 12K SLoC // 0.0% comments JavaScript 529 SLoC // 0.0% comments Bitbake 213 SLoC // 0.1% comments Python 119 SLoC Zig 95 SLoC Java 57 SLoC // 0.1% comments Swift 48 SLoC TypeScript 26 SLoC // 0.5% comments Go 18 SLoC // 0.2% comments C++ 13 SLoC

Tree-sitter CLI

crates.io badge npmjs.com badge

The Tree-sitter CLI allows you to develop, test, and use Tree-sitter grammars from the command line. It works on MacOS, Linux, and Windows.

Installation

You can install the tree-sitter-cli with cargo:

cargo install --locked tree-sitter-cli

or with npm:

npm install tree-sitter-cli

You can also download a pre-built binary for your platform from the releases page.

Dependencies

The tree-sitter binary itself has no dependencies, but specific commands have dependencies that must be present at runtime:

  • To generate a parser from a grammar, you must have node on your PATH.
  • To run and test parsers, you must have a C and C++ compiler on your system.

Commands

  • generate - The tree-sitter generate command will generate a Tree-sitter parser based on the grammar in the current working directory. See the documentation for more information.

  • test - The tree-sitter test command will run the unit tests for the Tree-sitter parser in the current working directory. See the documentation for more information.

  • parse - The tree-sitter parse command will parse a file (or list of files) using Tree-sitter parsers.

Dependencies

~16–35MB
~546K SLoC