tree-sitter-language-pack

July 4, 2026 · View on GitHub

Xberg

tree-sitter-language-pack

Bindings Rust Python Node.js WASM Java Go C# PHP Ruby Elixir Dart Kotlin Swift Zig C FFI
<!-- Project Info -->
<a href="https://github.com/xberg-io/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.xberg.io">
	<img src="https://img.shields.io/badge/Docs-tree--sitter--language--pack-007ec6" alt="Documentation" />
</a>
Join Discord

A comprehensive collection of tree-sitter language parsers with polyglot bindings — 306 languages, one Rust core, downloaded on demand.

What and Why?

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 306 parsers.

When is this the right tool? Parsing code → use tree-sitter. Parsing many languages → use a language pack. Doing either from a non-C ecosystem with a single dependency → that is the gap this pack fills: it fans tree-sitter out to 15 languages behind one install.

Features

FeatureDescription
306 languagesPre-compiled parsers at ABI 14 (backwards compatible with tree-sitter 0.21–0.26)
Code intelligenceExtract functions, classes, imports, docstrings, and symbols from source
Data extractionHierarchical key-value trees from 17 config/data formats (JSON, YAML, TOML, XML, CSV, …)
Host-native language APIget_language() returns native Language objects in Python, Node.js, Go, Java, C#, Kotlin, Swift, Zig, and C
On-demand downloadsParsers are fetched on first use and cached locally for fast, offline reuse
Prefetch & warmingprefetch() loads (and downloads) every grammar you need up front, so hot loops only parse
Bundled querieshighlights, injections, locals, tags, indents, and folds .scm queries per language, with a process-wide compiled-query cache (Rust)
Selective installationDownload only the languages you need; unused parsers are never downloaded
Polyglot bindingsNative bindings across 15 languages, including a C ABI for everything else
CLI & MCP serverts-pack download to pre-fetch parsers; MCP integration for AI agents

Supported Languages

This pack includes 306 languages. See the full language list for every supported grammar with extensions and repository links.

Grammars & Bundled Queries

Each grammar bundles a subset of the six standard tree-sitter query types. The table below shows which .scm queries ship with every grammar.

LanguageRepositoryABIhighlightsinjectionslocalsindentsfoldstags
Ablusagi-coffee/tree-sitter-abl15
ActionscriptRileran/tree-sitter-actionscript14
Adabriot/tree-sitter-ada14
Agdatree-sitter/tree-sitter-agda14
ALSShadowS/tree-sitter-al15
Angulardlvandenberg/tree-sitter-angular14
Apexaheber/tree-sitter-sfapex14
ArduinoObserverOfTime/tree-sitter-arduino14
Asciidoccathaysia/tree-sitter-asciidoc14
ASMrush-rs/tree-sitter-asm14
Astrovirchau13/tree-sitter-astro14
AwkBeaglefoot/tree-sitter-awk14
Bashtree-sitter/tree-sitter-bash14
Bassvito/tree-sitter-bass14
Batchdavidevofficial/tree-sitter-batch14
Beancountpolarmutex/tree-sitter-beancount14
Bibtexlatex-lsp/tree-sitter-bibtex14
Biceptree-sitter-grammars/tree-sitter-bicep14
Bitbaketree-sitter-grammars/tree-sitter-bitbake14
BladeEmranMR/tree-sitter-blade14
Brightscriptajdelcimmuto/tree-sitter-brightscript14
BSLalkoleft/tree-sitter-bsl14
Ctree-sitter/tree-sitter-c14
C3c3lang/tree-sitter-c314
CaddySamonitari/tree-sitter-caddy14
Cairotree-sitter-grammars/tree-sitter-cairo14
Cap'n Prototree-sitter-grammars/tree-sitter-capnp14
CedarDuskSystems/tree-sitter-cedar14
CedarschemaDuskSystems/tree-sitter-cedar14
Celbufbuild/tree-sitter-cel14
Cfmlcfmleditor/tree-sitter-cfml14
Chatitotree-sitter-grammars/tree-sitter-chatito14
Chucktymbalodeon/tree-sitter-chuck14
CircomDecurity/tree-sitter-circom14
Clarityxlittlerag/tree-sitter-clarity14
Clojuresogaiu/tree-sitter-clojure14
Cmakeuyha/tree-sitter-cmake14
Cobolnolanlwin/tree-sitter-cobol14
Commentstsewd/tree-sitter-comment14
CommonlisptheHamsta/tree-sitter-commonlisp14
Cooklangaddcninblue/tree-sitter-cooklang14
Cornjakestanger/tree-sitter-corn14
Cpontree-sitter-grammars/tree-sitter-cpon14
Cpptree-sitter/tree-sitter-cpp15
Crystalkeidax/tree-sitter-crystal14
Csharptree-sitter/tree-sitter-c-sharp15
CSStree-sitter/tree-sitter-css14
Csttree-sitter-grammars/tree-sitter-cst14
CSVamaanq/tree-sitter-csv14
CUDAtree-sitter-grammars/tree-sitter-cuda14
Cueeonpatapon/tree-sitter-cue14
Cylcelliotfontaine/tree-sitter-cylc14
Dgdamore/tree-sitter-d14
DartUserNobody14/tree-sitter-dart14
DesktopValdezFOmar/tree-sitter-desktop14
Devicetreejoelspadin/tree-sitter-devicetree14
Dhalljbellerb/tree-sitter-dhall14
Difftree-sitter-grammars/tree-sitter-diff14
Djottreeman/tree-sitter-djot14
Dockerfilecamdencheek/tree-sitter-dockerfile14
Dotrydesun/tree-sitter-dot14
Doxygentree-sitter-grammars/tree-sitter-doxygen14
DTDtree-sitter-grammars/tree-sitter-xml14
Earthfileglehmann/tree-sitter-earthfile14
EbnfRubixDev/ebnf14
EditorconfigValdezFOmar/tree-sitter-editorconfig14
Edsuyha/tree-sitter-eds14
Eexconnorlay/tree-sitter-eex14
Elixirelixir-lang/tree-sitter-elixir14
Elmrazzeee/tree-sitter-elm14
Elsaglapa-grossklag/tree-sitter-elsa14
Elvishelves/tree-sitter-elvish14
Emacs LispWilfred/tree-sitter-elisp14
Embeddedtemplatetree-sitter/tree-sitter-embedded-template14
Enforcesimonvic/tree-sitter-enforce14
ErlangWhatsApp/tree-sitter-erlang14
F#ionide/tree-sitter-fsharp15
FacilityFacilityApi/tree-sitter-facility14
Faustkhiner/tree-sitter-faust14
FennelTravonteD/tree-sitter-fennel14
Fidlgoogle/tree-sitter-fidl14
Firrtltree-sitter-grammars/tree-sitter-firrtl14
Fishram02z/tree-sitter-fish14
FoamFoamScience/tree-sitter-foam14
ForthAlexanderBrevig/tree-sitter-forth14
Fortranstadelmanma/tree-sitter-fortran15
Fsharp Signatureionide/tree-sitter-fsharp14
Functree-sitter-grammars/tree-sitter-func14
Gapgap-system/tree-sitter-gap14
GdscriptPrestonKnopp/tree-sitter-gdscript14
Gdshaderairblast-dev/tree-sitter-gdshader14
GherkinSamyAB/tree-sitter-gherkin14
Git Configthe-mikedavis/tree-sitter-git-config14
Git Rebasethe-mikedavis/tree-sitter-git-rebase14
gitattributesObserverOfTime/tree-sitter-gitattributes14
gitcommitgbprod/tree-sitter-gitcommit14
gitignoreshunsambongi/tree-sitter-gitignore14
Gleamgleam-lang/tree-sitter-gleam14
Glimmerember-tooling/tree-sitter-glimmer14
GLSLtheHamsta/tree-sitter-glsl14
GNtree-sitter-grammars/tree-sitter-gn14
gnuplotdpezto/tree-sitter-gnuplot15
Gotree-sitter/tree-sitter-go14
Godot ResourcePrestonKnopp/tree-sitter-godot-resource14
Gomodcamdencheek/tree-sitter-go-mod14
Gosumtree-sitter-grammars/tree-sitter-go-sum14
Gotmplngalaiko/tree-sitter-go-template14
Goworkomertuc/tree-sitter-go-work14
Gpgtree-sitter-grammars/tree-sitter-gpg-config14
Graphqlbkegley/tree-sitter-graphql14
Grengren-lang/tree-sitter-gren14
GroovyDecodetalkers/tree-sitter-groovy14
Gstlaunchtree-sitter-grammars/tree-sitter-gstlaunch14
Hackslackhq/tree-sitter-hack14
Haretree-sitter-grammars/tree-sitter-hare14
Haskelltree-sitter/tree-sitter-haskell14
Haxevantreeseba/tree-sitter-haxe14
HCLMichaHoffmann/tree-sitter-hcl14
Heexphoenixframework/tree-sitter-heex14
Hjsonwinston0410/tree-sitter-hjson14
HLSLtheHamsta/tree-sitter-hlsl14
Hoconantosha417/tree-sitter-hocon14
Hoonurbit-pilled/tree-sitter-hoon14
HTMLtree-sitter/tree-sitter-html14
Htmldjangointerdependence/tree-sitter-htmldjango14
HTTPrest-nvim/tree-sitter-http14
Hurlpfeiferj/tree-sitter-hurl14
Hyprlangtree-sitter-grammars/tree-sitter-hyprlang14
Idriskayhide/tree-sitter-idris14
Inijustinmk/tree-sitter-ini14
Ispctree-sitter-grammars/tree-sitter-ispc14
Jaiconstantitus/tree-sitter-jai15
JanetGrayJack/tree-sitter-janet14
Javatree-sitter/tree-sitter-java14
Javadocrmuir/tree-sitter-javadoc14
JavaScripttree-sitter/tree-sitter-javascript14
Jinja2dbt-labs/tree-sitter-jinja214
Jqflurie/tree-sitter-jq14
Jsdoctree-sitter/tree-sitter-jsdoc14
JSONtree-sitter/tree-sitter-json14
JSON5Joakker/tree-sitter-json514
Jsonnetsourcegraph/tree-sitter-jsonnet14
Juliatree-sitter/tree-sitter-julia14
JustIndianBoy42/tree-sitter-just14
Kclkcl-lang/tree-sitter-kcl14
Kconfigtree-sitter-grammars/tree-sitter-kconfig14
KDLtree-sitter-grammars/tree-sitter-kdl14
Kotlinfwcd/tree-sitter-kotlin14
LaTeXlatex-lsp/tree-sitter-latex14
LeanJulian/tree-sitter-lean15
Ledgercbarrete/tree-sitter-ledger14
Lessrhino1998/tree-sitter-less14
Linkerscripttree-sitter-grammars/tree-sitter-linkerscript14
Liquidhankthetank27/tree-sitter-liquid14
LLVMbenwilliamgraham/tree-sitter-llvm14
LuaMunifTanjim/tree-sitter-lua14
Luadoctree-sitter-grammars/tree-sitter-luadoc14
Luaptree-sitter-grammars/tree-sitter-luap14
Luautree-sitter-grammars/tree-sitter-luau14
Magikkrn-robin/tree-sitter-magik14
Makealemuller/tree-sitter-make14
Markdowntree-sitter-grammars/tree-sitter-markdown14
Markdown Inlinetree-sitter-grammars/tree-sitter-markdown14
MATLABacristoffers/tree-sitter-matlab14
Mermaidmonaqa/tree-sitter-mermaid14
MesonDecodetalkers/tree-sitter-meson14
Mlirartagnon/tree-sitter-mlir14
MojoHerringtonDarkholme/tree-sitter-mojo14
Movetree-sitter-grammars/tree-sitter-move14
NASMnaclsn/tree-sitter-nasm14
NetlinxNorgate-AV/tree-sitter-netlinx14
nginxopa-oz/tree-sitter-nginx14
Nickelnickel-lang/tree-sitter-nickel14
NimaMOPel/tree-sitter-nim14
Ninjaalemuller/tree-sitter-ninja14
Nixnix-community/tree-sitter-nix14
Norgnvim-neorg/tree-sitter-norg14
Norg Metanvim-neorg/tree-sitter-norg-meta14
Nqctree-sitter-grammars/tree-sitter-nqc14
Nushellnushell/tree-sitter-nu14
Objctree-sitter-grammars/tree-sitter-objc14
OCamltree-sitter/tree-sitter-ocaml14
OCaml Interfacetree-sitter/tree-sitter-ocaml14
Ocamllexatom-ocaml/tree-sitter-ocamllex14
Odintree-sitter-grammars/tree-sitter-odin14
Openscadbollian/tree-sitter-openscad14
Orgmilisims/tree-sitter-org14
PascalIsopod/tree-sitter-pascal14
Pemtree-sitter-grammars/tree-sitter-pem14
Perltree-sitter-perl/tree-sitter-perl15
PGNrolandwalker/tree-sitter-pgn14
PHPtree-sitter/tree-sitter-php14
Phpdocclaytonrcarter/tree-sitter-phpdoc14
Pklapple/tree-sitter-pkl14
POtree-sitter-grammars/tree-sitter-po14
Poe Filtertree-sitter-grammars/tree-sitter-poe-filter14
Ponytree-sitter-grammars/tree-sitter-pony14
Postscriptsmoeding/tree-sitter-postscript14
Powershellairbus-cert/tree-sitter-powershell14
Printftree-sitter-grammars/tree-sitter-printf14
PrismaLumaKernel/tree-sitter-prisma14
PrologRukiza/tree-sitter-prolog14
PromqlMichaHoffmann/tree-sitter-promql14
Propertiestree-sitter-grammars/tree-sitter-properties14
Protocol Bufferscoder3101/tree-sitter-proto14
PrqlPRQL/tree-sitter-prql14
PSVamaanq/tree-sitter-csv14
Pugzealot128/tree-sitter-pug14
Puppettree-sitter-grammars/tree-sitter-puppet14
PureScriptpostsolar/tree-sitter-purescript14
Pymanifesttree-sitter-grammars/tree-sitter-pymanifest14
Pythontree-sitter/tree-sitter-python14
QLtree-sitter/tree-sitter-ql14
QMLyuja/tree-sitter-qmljs14
Qmldirtree-sitter-grammars/tree-sitter-qmldir14
Querytree-sitter-grammars/tree-sitter-query14
Rr-lib/tree-sitter-r14
Racket6cdh/tree-sitter-racket14
RasiFymyte/tree-sitter-rasi14
Razortris203/tree-sitter-razor15
RBSjoker1007/tree-sitter-rbs14
re2ctree-sitter-grammars/tree-sitter-re2c14
Readlinetree-sitter-grammars/tree-sitter-readline14
Regextree-sitter/tree-sitter-regex14
RegoFallenAngel97/tree-sitter-rego14
Requirementstree-sitter-grammars/tree-sitter-requirements14
Rescriptrescript-lang/tree-sitter-rescript14
reStructuredTextstsewd/tree-sitter-rst14
RobotHubro/tree-sitter-robot14
Rocfaldor20/tree-sitter-roc14
Rontree-sitter-grammars/tree-sitter-ron14
RtfGoodNotes/tree-sitter-rtf14
Rubytree-sitter/tree-sitter-ruby14
Rusttree-sitter/tree-sitter-rust14
Scalatree-sitter/tree-sitter-scala15
Scheme6cdh/tree-sitter-scheme14
SCSStree-sitter-grammars/tree-sitter-scss14
Slangtree-sitter-grammars/tree-sitter-slang15
Smalitree-sitter-grammars/tree-sitter-smali14
Smalltalktom95/tree-sitter-smalltalk14
Smithyindoorvivants/tree-sitter-smithy14
SmlMatthewFluet/tree-sitter-sml14
Snakemakeosthomas/tree-sitter-snakemake14
SolidityJoranHonig/tree-sitter-solidity14
Soufflelangston-barrett/tree-sitter-souffle14
Sourcepawnnilshelmig/tree-sitter-sourcepawn14
SparqlGordianDziwis/tree-sitter-sparql14
SQLDerekStride/tree-sitter-sql14
Sql Bigquerytakegue/tree-sitter-sql-bigquery14
Squirreltree-sitter-grammars/tree-sitter-squirrel14
Ssh ConfigObserverOfTime/tree-sitter-ssh-config14
StanWardBrian/tree-sitter-stan14
Starlarktree-sitter-grammars/tree-sitter-starlark14
Superhtmlkristoff-it/superhtml14
SvelteHimujjal/tree-sitter-svelte14
SwayFuelLabs/tree-sitter-sway14
Swiftalex-pinkus/tree-sitter-swift14
Systemveriloggmlarumbe/tree-sitter-systemverilog15
TablegenFlakebi/tree-sitter-tablegen14
Tacttact-lang/tree-sitter-tact14
Tcllewis6991/tree-sitter-tcl14
TealeuclidianAce/tree-sitter-teal14
Templvrischmann/tree-sitter-templ14
Terauncenter/tree-sitter-tera14
Terraformtree-sitter-grammars/tree-sitter-hcl14
Testtree-sitter-grammars/tree-sitter-test14
TextprotoPorterAtGoogle/tree-sitter-textproto14
Thrifttree-sitter-grammars/tree-sitter-thrift14
Tlaplustlaplus-community/tree-sitter-tlaplus14
TmuxFreed-Wu/tree-sitter-tmux15
Todotxtarnarg/tree-sitter-todotxt14
TOMLtree-sitter-grammars/tree-sitter-toml14
TSVamaanq/tree-sitter-csv14
TSXtree-sitter/tree-sitter-typescript14
TurtleGordianDziwis/tree-sitter-turtle14
Twiggbprod/tree-sitter-twig14
TypeScripttree-sitter/tree-sitter-typescript14
Typespechappenslol/tree-sitter-typespec14
TyposcriptTeddytrombone/tree-sitter-typoscript14
Typstuben0/tree-sitter-typst14
udevtree-sitter-grammars/tree-sitter-udev14
Ungrammartree-sitter-grammars/tree-sitter-ungrammar14
Uxntaltree-sitter-grammars/tree-sitter-uxntal14
Vnedpals/tree-sitter-v14
VbCodeAnt-AI/tree-sitter-vb-dotnet14
Verilogtree-sitter/tree-sitter-verilog14
VHDLalemuller/tree-sitter-vhdl14
Vhscharmbracelet/tree-sitter-vhs14
Vimtree-sitter-grammars/tree-sitter-vim14
Vimdocneovim/tree-sitter-vimdoc14
Vrlbelltoy/tree-sitter-vrl14
Vuetree-sitter-grammars/tree-sitter-vue14
Wastmkatychev/tree-sitter-wasm14
Watmkatychev/tree-sitter-wasm14
WGSLszebniok/tree-sitter-wgsl14
Wgsl Bevytree-sitter-grammars/tree-sitter-wgsl-bevy14
Witbytecodealliance/tree-sitter-wit14
X86asmbearcove/tree-sitter-x86asm14
Xcomposetree-sitter-grammars/tree-sitter-xcompose14
XMLtree-sitter-grammars/tree-sitter-xml14
YAMLtree-sitter-grammars/tree-sitter-yaml14
Yucktree-sitter-grammars/tree-sitter-yuck14
Zigmaxxnino/tree-sitter-zig14
Ziggykristoff-it/ziggy14
Ziggy Schemakristoff-it/ziggy14
Zshgeorgeharker/tree-sitter-zsh14
Star tree-sitter-language-pack on GitHub

⭐ Star this repo to show your support — it helps others discover tree-sitter-language-pack.

Quick Start

Language Packages

Rust
cargo add tree-sitter-language-pack

See Rust README for full documentation.

Python
pip install tree-sitter-language-pack

See Python README for full documentation.

Node.js
npm install @xberg-io/tree-sitter-language-pack

See Node.js README for full documentation.

Go
go get github.com/xberg-io/tree-sitter-language-pack/packages/go

See Go README for full documentation.

Java

Available on Maven Central as io.xberg.treesitterlanguagepack:tree-sitter-language-pack. See Java README for the dependency snippet and current version.

C#
dotnet add package XbergIo.TreeSitterLanguagePack

See .NET README for full documentation.

Ruby
gem install tree_sitter_language_pack

See Ruby README for full documentation.

PHP
composer require xberg-io/tree-sitter-language-pack

See PHP README for full documentation.

Elixir

Add {:tree_sitter_language_pack, "~> 1.0"} to your mix.exs dependencies. See Elixir README for full documentation.

WebAssembly
npm install @xberg-io/tree-sitter-language-pack-wasm

See WebAssembly README for full documentation.

Dart / Flutter
dart pub add tree_sitter_language_pack

See Dart README for full documentation.

Kotlin (Android)

Available on Maven Central as io.xberg.tslp.android:tree-sitter-language-pack-android. See Kotlin Android README for the dependency snippet and current version.

Swift

Available via Swift Package Manager. See Swift README for the SwiftPM package URL and current version.

Zig
zig fetch --save <release tarball url>

See Zig README for full documentation.

C/C++ (FFI)

Build from source as part of this workspace. See FFI README for full documentation.

CLI
cargo install ts-pack-cli
brew tap xberg-io/homebrew-tap
brew install xberg-io/homebrew-tap/ts-pack

Or run without a persistent install (the proxy package fetches the native binary):

npx @xberg-io/ts-pack-cli parse <file>
uvx --from ts-pack-cli ts-pack parse <file>

See CLI README for full documentation.

MCP Server

The CLI bundles an MCP server for integration with AI agents. Start it with:

ts-pack mcp

The server runs over stdio by default. For HTTP transport:

ts-pack mcp --transport http --host 127.0.0.1 --port 8011

Register with Claude Code:

claude mcp add ts-pack -- ts-pack mcp

Or add to your Claude Desktop config at ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "ts-pack": {
      "command": "ts-pack",
      "args": ["mcp"]
    }
  }
}

The MCP server exposes 8 tools: parse, process, detect_language, list_languages, info, download, cache_dir, and clean_cache. It also provides resources for the available language catalog and a prompt for code analysis.

The marketplace plugin from xberg-io/plugins auto-registers the server — see AI Coding Assistants below to install it instead of manual registration.

For detailed setup, transport options, and tool reference, see the MCP Server guide.

AI Coding Assistants

Install the tree-sitter-language-pack plugin from the xberg-io/plugins marketplace. It ships the tree-sitter-language-pack agent skills (parse and extract code intelligence from 306 languages) and works with every major coding agent — expand your harness below.

Claude Code
/plugin marketplace add xberg-io/plugins
/plugin install tree-sitter-language-pack@xberg-io
Codex CLI
/plugins add https://github.com/xberg-io/plugins

Then search for tree-sitter-language-pack and select Install Plugin.

Cursor

Settings → Plugins → Add from URL → https://github.com/xberg-io/plugins, then select tree-sitter-language-pack.

Gemini CLI
gemini extensions install https://github.com/xberg-io/plugins
Factory Droid
droid plugin marketplace add https://github.com/xberg-io/plugins
droid plugin install tree-sitter-language-pack@xberg-io
GitHub Copilot CLI
copilot plugin marketplace add https://github.com/xberg-io/plugins
copilot plugin install tree-sitter-language-pack@xberg-io
opencode

Add the package to opencode.json:

{
  "$schema": "https://opencode.ai/config.json",
  "plugin": ["@xberg-io/opencode-tree-sitter-language-pack"]
}

Documentation

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.xberg.io.

Part of Xberg

  • Xberg — document intelligence: text, tables, metadata from 91+ formats with optional OCR.
  • Xberg Enterprise — managed extraction API with SDKs, dashboards, and observability.
  • crawlberg — web crawling and scraping with HTML→Markdown and headless-Chrome fallback.
  • html-to-markdown — fast, lossless HTML→Markdown engine.
  • liter-llm — universal LLM API client with native bindings for 14 languages and 143 providers.
  • tree-sitter-language-pack — tree-sitter grammars and code-intelligence primitives.
  • alef — the polyglot binding generator that produces every per-language binding across the 5 polyglot repos.

Contributing

Contributions are welcome! See CONTRIBUTING.md for guidelines.

Join our Discord community for questions and discussion.

License

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.