Skip to content

tree-sitter-language-pack

Tree-sitter-language-pack bundles 306 tree-sitter grammars behind a single Rust core with native bindings for Python, TypeScript, Rust, Go, Java, Ruby, Elixir, PHP, WebAssembly, and more. Parsers download on demand and cache locally. One API surface for parsing, code intelligence, and syntax-aware chunking for LLM workflows. It ships as libraries per ecosystem plus the ts-pack CLI.


Explore the Docs

  • Getting started

Install for your language, download parsers, and parse your first file.

Installation · Quick start

  • Parsing

Build syntax trees, choose a language, and handle parse errors.

Parsing guide

  • Code intelligence

Structure, imports, exports, symbols, comments, and docstrings — not just raw nodes.

Code intelligence guide

  • Chunking for LLMs

Split source at natural boundaries so chunks stay semantically intact.

Chunking guide

  • Download model

On-demand grammars, cache layout, manifest, and offline or CI workflows.

Download model

  • API reference

Full reference for Python, TypeScript, Rust, Go, Java, Ruby, Elixir, PHP, WASM, C FFI, and the CLI.


Part of kreuzberg.dev

Tree-sitter-language-pack is built by the kreuzberg.dev team, the same people behind a family of Rust-core, polyglot-bindings libraries.


Document extraction for 90+ formats: PDF, Office, images, HTML, and more.


Universal LLM API client: one API surface across many providers, proxy and MCP servers included.


Fast HTML to Markdown conversion with a Rust core and matching bindings.


Getting help