A plugin is just a signed zip. This page covers the build pipeline, the publishing options, and how operators install what you ship.Documentation Index
Fetch the complete documentation index at: https://docs.altnautica.com/llms.txt
Use this file to discover all available pages before exploring further.
Build the bundle
From your plugin folder (underextensions/<your-plugin>/ in the
ADOSExtensions monorepo):
pnpm build emits gcs/plugin.bundle.js. Verify it exists before
packing.
Pack
pack.sh lives at the monorepo root. From there, pass either the
folder name or a path:
- Builds the GCS bundle (skips if absent).
- Stages every file the manifest declares.
- Computes SHA-256 for each asset.
- Rewrites the
<computed-by-pack.sh>placeholders. - Zips into
dist/<plugin-id>-<version>.adosplug.
Sign
Sign with your Ed25519 private key:dist/com.example.my-plugin-1.0.0.signed.adosplug. The signature
covers the canonical manifest body; the signer key id is stamped
into signing.signer_key_id in the manifest.
ADOS_SIGNING_KEY_INLINE=1 accepts a base64 key in the env var
itself (used by GitHub Actions secrets):
Publish on GitHub
Tag your release with<plugin-folder>-v<version>:
altnautica/ADOSExtensions/.github/workflows/release.yml
runs tests, packs, signs, and uploads the .signed.adosplug to a
GitHub release. Copy it into your own repo and adjust the tag
prefix.
Operators install by downloading the .adosplug from your release
page.
Install on the GCS
In Mission Control -> Settings -> Plugins -> Install plugin:- Drag the
.adospluginto the dialog or click Choose file. - The host parses the archive and shows a manifest preview: name, version, signer, risk band, requested permissions.
- Approve required permissions (pinned on) and any optional permissions you want to grant.
- Click Install.
Install on the agent
Trust the publisher
A plugin signed by a key the agent does not know is rejected with exit code10. Add the public key to the agent’s trust list: