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.
- Parsing
Build syntax trees, choose a language, and handle parse errors.
- Code intelligence
Structure, imports, exports, symbols, comments, and docstrings — not just raw nodes.
- Chunking for LLMs
Split source at natural boundaries so chunks stay semantically intact.
- Download model
On-demand grammars, cache layout, manifest, and offline or CI workflows.
- 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¶
- Bugs and feature requests — Open an issue on GitHub
- Community chat — Join the Discord
- Contributing — Read the contributor guide