Appearance
Publish a Wago plugin
Package a reusable Wago plugin, preview exactly what will ship, then publish it to the public plugin registry.
New plugin authors should finish Write your first plugin and Test a plugin before tagging a release.
Publishing requires a public GitHub repository and a Wago registry account. The dry run works before login.
Prepare the plugin
sh
wago init --pluginSkip this command if the plugin already exists. The wizard collects the package metadata and creates the release files.
A publishable manifest points to public source and keeps discovery metadata under package. Wago plugins are open source.
Declare every privileged Wago integration as an exact Authority with a human reason and enforceable scope. Declare package requirements separately from typed, major-versioned Contracts. Provider catalogs return values from Providers(); they never self-register from init.
Sign in
sh
wago auth loginRefresh the catalog
sh
wago plugin catalogRun the plugin tests. Then check that no definition changed during the test run:
sh
wago plugin catalog --checkCommit and tag
sh
git add wago.json wago.providers.json register
git commit -m "Prepare plugin v0.1.0"Tag that commit and push it:
sh
git tag v0.1.0
git push origin HEAD v0.1.0The version in the tag, manifest, and definitions must match.
Preview publication
sh
wago plugin publish --dry-runPublish
sh
wago plugin publishThe publish dry run only prints the planned mutation. Actual publishing first checks the local catalog against the committed snapshot, then downloads the exact tagged Go module. Its wago.json package metadata and wago.providers.json must match the local release, and its h1: checksum is sent with the request. Local code runs only for the local drift check; Wago does not execute code from the downloaded tag.
The registry independently downloads that same exact module and checksum, reads both artifacts without executing plugin code, and rejects any mismatch. Consumers later review the stored immutable definitions before plugin code is downloaded or built; linked definitions must match their reviewed digests.
