Skip to main content
A plugin repo is the plugin directory itself — manifest at the root, nothing to build server-side unless you ship a compiled runtime.

Repo layout

Vendor your frontend dependencies (the Terminal plugin ships xterm.js in web/vendor/) — plugin assets are served by the panel, there is no npm step and no CDN at runtime.

Installing from a repo

Anyone can install straight from GitHub:
The panel clones the repo, reads the manifest, copies the plugin into /var/lib/myrax and remembers the source URL. From then on:

Versioning

Bump version in the manifest on every release. It matters beyond display:
  • The panel serves plugin JS and CSS with a ?v=<version> query, so a bump invalidates browser caches — users get your new frontend without hard-refreshing.
  • myrax (e.g. ">=0.1.0") declares the minimum panel version you support.

Local development loop

The built-in store

The store catalog is compiled into the panel (internal/plugins/store.go) — an entry maps a short name like terminal to its repo URL plus a description and tags. Adding a plugin to it is a pull request to Myrax; everything else installs by URL with no registration at all.