`npm install` should be working now, let me look at the tests, I think they've just gotten out of date. Note that there's a known issue in the core tests whereby tree-sitter seems to get stuck in a loop on zero-length token.

EDIT: Yes @John Murray it's the core grammar that has the zero-length token, not the expr one! (corrected).

From the udl directory, you should be able to do tree-sitter build --wasm (I use emscripten on Windows via scoop rather than the docker tooling) followed by tree-sitter playground to test. As I mentioned to Dmitry, I'll add some notes about getting started with contributing, it's mostly per the tree-sitter parser development docs, but I've found a few things that help!

Best place to start is the documentation for developing tree-sitter grammars, you'll need the tree-sitter-cli tooling (via homebrew on the Mac, or scoop on Windows).

https://tree-sitter.github.io/tree-sitter/index.html

I tend to just use the tree-sitter tools directly as per the tree-sitter-cli documentation -- tree-sitter generate to process the grammar into the state machine, then tree-sitter build followed by tree-sitter playground for testing the grammar in the playground.

In the meantime, I will add a section on getting started with contributing to the README!