xref: /wasmtime-44.0.1/crates/wiggle/README.md (revision 6554077a)
1# wiggle
2
3Wiggle is a code generator for the host side of a `witx` interface. It is
4invoked as a Rust procedural macro.
5
6Wiggle is not specialized to any particular WebAssembly runtime. It is usable
7in at least Wasmtime and Lucet.
8
9## Learning more
10
11Read the docs on [docs.rs](https://docs.rs/wiggle/).
12
13There are child crates for [integrating with Wasmtime](https://github.com/bytecodealliance/wasmtime/tree/main/crates/wiggle) (this crate), and [Lucet](https://github.com/bytecodealliance/lucet/tree/main/lucet-wiggle).
14
15The [wasi-common crate](https://github.com/bytecodealliance/wasmtime/tree/main/crates/wasi-common) is implemented using Wiggle and the [wasmtime-wasi
16crate](https://github.com/bytecodealliance/wasmtime/tree/main/crates/wasi) integrates wasi-common with the Wasmtime engine.
17
18Andrew Brown wrote a great [blog post](https://bytecodealliance.org/articles/implementing-wasi-nn-in-wasmtime) on using Wiggle with Wasmtime.
19