mayros plugins

Manage Gateway plugins/extensions (loaded in-process).

Related:

Commands

bash
mayros plugins list
mayros plugins info <id>
mayros plugins enable <id>
mayros plugins disable <id>
mayros plugins uninstall <id>
mayros plugins doctor
mayros plugins update <id>
mayros plugins update --all

Bundled plugins ship with Mayros but start disabled. Use plugins enable to activate them.

All plugins must ship a mayros.plugin.json file with an inline JSON Schema (configSchema, even if empty). Missing/invalid manifests or schemas prevent the plugin from loading and fail config validation.

Install

bash
mayros plugins install <path-or-spec>
mayros plugins install <npm-spec> --pin

Security note: treat plugin installs like running code. Prefer pinned versions.

Npm specs are registry-only (package name + optional version/tag). Git/URL/file specs are rejected. Dependency installs run with --ignore-scripts for safety.

Supported archives: .zip, .tgz, .tar.gz, .tar.

Use --link to avoid copying a local directory (adds to plugins.load.paths):

bash
mayros plugins install -l ./my-plugin

Use --pin on npm installs to save the resolved exact spec (name@version) in plugins.installs while keeping the default behavior unpinned.

Uninstall

bash
mayros plugins uninstall <id>
mayros plugins uninstall <id> --dry-run
mayros plugins uninstall <id> --keep-files

uninstall removes plugin records from plugins.entries, plugins.installs, the plugin allowlist, and linked plugins.load.paths entries when applicable. For active memory plugins, the memory slot resets to memory-core.

By default, uninstall also removes the plugin install directory under the active state dir extensions root ($MAYROS_STATE_DIR/extensions/<id>). Use --keep-files to keep files on disk.

--keep-config is supported as a deprecated alias for --keep-files.

Update

bash
mayros plugins update <id>
mayros plugins update --all
mayros plugins update <id> --dry-run

Updates only apply to plugins installed from npm (tracked in plugins.installs).

When a stored integrity hash exists and the fetched artifact hash changes, Mayros prints a warning and asks for confirmation before proceeding. Use global --yes to bypass prompts in CI/non-interactive runs.