| name | mbt-wasip1-tools |
| description | Build small MoonBit WASIp1 CLI tools using the peter-jerry-ye/wasi library, focused on simple read/write tasks (echo, cat, wc, simple file ops). Use when creating or updating CLI examples, scripts, or skills for this repo. |
MoonBit WASIp1 Tools
Use the examples
- Copy a project from
assets/and modify it. - Each example is a complete MoonBit project with a README.
- Build with
moon build -C <example-dir>and run withwasmtime run --dir host::guest <wasm>.
Path resolution (WASIp1)
- There is no cwd. All paths resolve against preopened directories.
- Resolution uses longest-prefix matching on preopen names.
- Relative paths must match a preopen prefix (for example,
foo/barrequires a preopen namedfoo). - Absolute paths only work when a preopen name starts with
/(for example,--dir /host::/). - If no prefix matches, fail immediately. Do not fall back to trial-and-error.
Unified stdio
@wasi/stdio.stdinimplements@sync_io.Readerand@io.Reader.@wasi/stdio.stdoutand@wasi/stdio.stderrimplement@sync_io.Writerand@io.Writer.
References
references/api.mdsummarizes the core I/O and fs APIs.