myrax.plugin.toml (or plugin.toml) at its root. This is
the complete set of fields the panel reads — anything else is ignored.
Top level
| Field | Required | Default | Meaning |
|---|---|---|---|
id | yes | — | lowercase a-z 0-9 - _ only; used in URLs, the data dir and window.myrax[id] |
name | no | id | display name in the panel |
version | no | 0.0.0 | shown in the UI and used to cache-bust assets |
myrax | no | — | minimum panel version, e.g. ">=0.1.0" |
[ui]
| Field | Default | Meaning |
|---|---|---|
mode | native if entry is set | only native is supported — the entry is imported as an ES module into the panel |
entry | — | path to the JS module exporting register(myrax), relative to the plugin root |
styles | [] | stylesheets to load before the entry; relative paths are served from /addons/{id}/ with cache busting |
[runtime]
Omit the section if the plugin is frontend-only.| Field | Default | Meaning |
|---|---|---|
enabled | false | start a backend process with the plugin |
command | — | executable; relative paths resolve against the plugin directory |
args | [] | arguments |
transport | tcp | tcp or unix |
port | 0 | TCP port; 0 means the panel picks a free one and passes it via MYRAX_PLUGIN_PORT |
transport = "unix" the panel passes a socket path in
MYRAX_PLUGIN_SOCKET instead of a port. See Runtime
for the full contract.
[access]
| Field | Default | Meaning |
|---|---|---|
level | trusted | the only level today — plugins run with the panel’s privileges |
Parsing notes
- Values are simple TOML: strings, booleans, integers and one-line string arrays. Nested tables are not supported.
# commentsare allowed on their own line or after a value.- A missing or invalid
idfails the install with an explicit error.