Nelua

A simple cart might look like this:

And then you can compile to a cart with:

mkdir -p cart
curl https://raw.githubusercontent.com/notnullgames/null0/refs/heads/main/carts/nelua/null0.nelua > null0.nelua
curl https://raw.githubusercontent.com/notnullgames/null0/refs/heads/main/carts/c/null0.h > null0.h
nelua main.nelua -r --cc "/opt/wasi-sdk/bin/clang" -o ./cart/main.wasm
cd cart
zip -rq ../mygame.null0 .

See build.sh for an example of how I build for this example-site.

For nelua command, you can use --cflags="-I WHEREVER_NULL0_H_IS" if null0.h is in another location.

For zip command, you can skip packaging some files (like .DS_Store and *.nelua) with -x ".DS_Store" "__*" "*.nelua" (after all the other options.)