Files
OwnCord/Server/plugin/examples/hello/README.md
T

30 lines
995 B
Markdown
Raw Normal View History

# hello plugin
Phase C Step 9 — proof-of-life plugin used by `Server/plugin/plugin_test.go`.
## Manifest
`plugin.json` declares the `commands`, `events`, and `storage` capabilities.
The manifest is the only file the default (no-`-tags wazero`) build needs —
the registry persists it into the plugins table without executing the .wasm.
## Building the WASM
The .wasm binary is intentionally NOT checked in. Build it locally with TinyGo
or any other WASM toolchain that emits a module exporting `command_dispatch`,
`on_event`, and `_start`:
```sh
# TinyGo example (writes hello.wasm into this directory)
tinygo build -o hello.wasm -target wasi ./main.go
```
A trivial main.go that satisfies the host API is sketched in
`Server/plugin/sandbox_wazero.go`'s docstring.
## Tests
`Server/plugin/plugin_test.go` exercises the manifest parser and the loader
against this directory. It does not require the .wasm to be present —
manifest-only validation is the default-build coverage path.