<!-- Project Info -->
<a href="https://github.com/kreuzberg-dev/tree-sitter-language-pack/blob/main/LICENSE">
<img src="https://img.shields.io/badge/License-MIT-007ec6" alt="License" />
</a>
<a href="https://docs.tree-sitter-language-pack.kreuzberg.dev">
<img src="https://img.shields.io/badge/Docs-tree--sitter--language--pack-007ec6" alt="Documentation" />
</a>
A comprehensive collection of tree-sitter language parsers with polyglot bindings — 306 languages, one Rust core, downloaded on demand.
tree-sitter generates fast, incremental parsers from grammars for any programming language. As agentic tooling makes processing, inspecting, and analyzing code ever more critical, tree-sitter-language-pack bundles the most comprehensive collection of grammars available behind a single API.
The core is written in Rust with polyglot bindings for 15 other languages, plus a CLI and MCP server for working with code from the shell. Grammars are built into multi-platform binaries and downloaded on demand, so the package stays small while offering 300+ parsers.
| Feature | Description |
|---|---|
| 306 languages | Pre-compiled parsers at ABI 14 (backwards compatible with tree-sitter 0.21–0.26) |
| Code intelligence | Extract functions, classes, imports, docstrings, and symbols from source |
| Data extraction | Hierarchical key-value trees from 17 config/data formats (JSON, YAML, TOML, XML, CSV, …) |
| Host-native language API | get_language() returns native Language objects in Python, Node.js, Go, Java, C#, Kotlin, Swift, Zig, and C |
| On-demand downloads | Parsers are fetched on first use and cached locally for fast, offline reuse |
| Selective installation | Download only the languages you need; unused parsers are never downloaded |
| Polyglot bindings | Native bindings across 15 languages plus a C ABI for everything else |
| CLI & MCP server | ts-pack download to pre-fetch parsers; MCP integration for AI agents |
This pack includes 306 languages. See the full language list for every supported grammar with extensions and repository links.
⭐ Star this repo to show your support — it helps others discover tree-sitter-language-pack.
go get github.com/kreuzberg-dev/tree-sitter-language-pack/packages/go
See Go README for full documentation.
Available on Maven Central as dev.kreuzberg.treesitterlanguagepack:tree-sitter-language-pack. See Java README for the dependency snippet and current version.
Add {:tree_sitter_language_pack, "~> 1.0"} to your mix.exs dependencies. See Elixir README for full documentation.
npm install @kreuzberg/tree-sitter-language-pack-wasm
See WebAssembly README for full documentation.
Build from source as part of this workspace. See FFI README for full documentation.
cargo install ts-pack-cli
brew install kreuzberg-dev/tap/ts-pack
See CLI README for full documentation.
Install the tree-sitter-language-pack plugin from the kreuzberg-dev/plugins marketplace. It ships the tree-sitter-language-pack agent skills (parse and extract code intelligence from 300+ languages) and works with every major coding agent — expand your harness below.
/plugin marketplace add kreuzberg-dev/plugins
/plugin install tree-sitter-language-pack@kreuzberg
/plugins add https://github.com/kreuzberg-dev/plugins
Then search for tree-sitter-language-pack and select Install Plugin.
Settings → Plugins → Add from URL → https://github.com/kreuzberg-dev/plugins, then select tree-sitter-language-pack.
gemini extensions install https://github.com/kreuzberg-dev/plugins
droid plugin marketplace add https://github.com/kreuzberg-dev/plugins
droid plugin install tree-sitter-language-pack@kreuzberg
copilot plugin marketplace add https://github.com/kreuzberg-dev/plugins
copilot plugin install tree-sitter-language-pack@kreuzberg
Add the package to opencode.json:
{
"$schema": "https://opencode.ai/config.json",
"plugin": ["@kreuzberg/opencode-tree-sitter-language-pack"]
}
Full guides, the host-native language API, data extraction, the CLI and MCP server, and the complete language list live at docs.tree-sitter-language-pack.kreuzberg.dev.
Contributions are welcome! See CONTRIBUTING.md for guidelines.
Join our Discord community for questions and discussion.
MIT — see LICENSE for details.
All included tree-sitter grammars are permissively licensed (MIT, Apache-2.0, BSD, ISC, or similar). Copyleft licenses (GPL, AGPL, LGPL, MPL) are not accepted. See CONTRIBUTING.md for grammar inclusion criteria.
Can you improve this documentation? These fine people already did:
Na'aman Hirschfeld, talsheffer, Grant Jenks, kh3rld, Loki Coyote, gbtb, kb, Abdulrasheed Fawole, Pavel Pakhmutov, Ikko Eltociear Ashimine, Mamy Ratsimbazafy, 9prodhi, Karol Wojcik, Ruiyang Wang, Noah Gorstein, Manuel Vázquez Acosta, Andrey Popp & naingoolwinEdit on GitHub
cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |