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
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-sdkThe templates are located in the templates folder.
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-toolsThen, to build this SDK, clone the repo, and type:
moon update && moon install
moon buildExamples can be found at: https://github.com/gmlewis/spin-moonbit-sdk-examples
To run an example, type:
$ cd examples/hello-world
$ spin up --buildthen 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.
The code has been updated to support compiler:
$ moon version --all
moon 0.1.20260209 (b129ae2 2026-02-09) ~/.moon/bin/moon
moonc v0.8.1+bd827dc85 (2026-02-09) ~/.moon/bin/moonc
moonrun 0.1.20260209 (b129ae2 2026-02-09) ~/.moon/bin/moonrun
moon-pilot 0.0.1-df92511 (2026-02-09) ~/.moon/bin/moon-pilot