gmlewis/spin-moonbit-sdk
March 31, 2026 ยท View on GitHub
This is an experimental Spin SDK for the MoonBit programming language. Please expect breaking changes while still experimenting with the API.
This is based on this blog post: https://www.moonbitlang.com/blog/component-model and this GitHub example: https://github.com/moonbitlang/moonbit-docs/tree/464356567270284446244cccecd101c04e9806f8/examples/wasi-http
Templates
If you wish to install MoonBit templates for the Spin CLI tool (v3), you can run:
spin templates install --git https://github.com/gmlewis/spin-moonbit-sdk
The templates are located in the templates folder.
Build (SDK Development)
Before building, you must have already installed the MoonBit programming language
and the Spin CLI tool. You also need version v1.236.0 or later of wasm-tools.
To install MoonBit, follow the instructions here (it is super-easy with VSCode): https://www.moonbitlang.com/download/
If you already have the Rust programming language installed, you can install wasm-tools by typing:
cargo install --locked wasm-tools
Then, to build this SDK, clone the repo, and type:
moon update && moon install
moon build
Examples
Examples can be found at: https://github.com/gmlewis/spin-moonbit-sdk-examples
To run an example, type:
$ cd examples/hello-world
$ spin up --build
then from another terminal, hit the endpoint with curl:
$ curl -i localhost:3000/hello
HTTP/1.1 200 OK
content-type: text/plain
transfer-encoding: chunked
date: Sat, 17 Aug 2024 00:15:14 GMT
Hello, World!
Each example contains a README. Please refer to the README for additional commands and setup instructions.
It might also be required to issue an update command: moon update to retrieve the latest dependencies.
Status
The code has been updated to support compiler:
$ moon version --all
moon 0.1.20260330 (c527f57 2026-03-30) ~/.moon/bin/moon
moonc v0.8.4+4d98d95d4 (2026-03-30) ~/.moon/bin/moonc
moonrun 0.1.20260330 (c527f57 2026-03-30) ~/.moon/bin/moonrun
moon-pilot 0.0.1-df92511 (2026-03-30) ~/.moon/bin/moon-pilot