<!-- 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, Ruiyang Wang, Claude, 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 |