Skip to content

The plugin space and registries

The Plugins panel can watch a plugin space — a folder or URL holding several plugins — and scan it at startup. Its settings (Plugin manager section) are:

  • Plugin space: a URL (https://…, or /plugins/ for something served by the app) or an absolute folder on disk (desktop only).
  • Scan on startup: install every plugin listed in the space, disabled, each time the app starts. Plugins that disappeared from the space are removed.
  • Registries: one catalogue URL per line, used by the Discover section.

A space is described by an index.json at its root; entries are relative to it:

{
"version": 1,
"plugins": [
{ "id": "notes-tsx", "entry": "notes-tsx/index.js" },
{ "id": "demo-shared-a", "entry": "demo-shared-a/index.js" }
]
}

A registry is a single JSON file describing plugins available for import:

{
"version": 1,
"name": "Sample registry",
"plugins": [
{
"id": "notes-tsx",
"name": "Notes (TSX)",
"description": "Note editor built with TypeScript and React.",
"author": "Framework samples",
"version": "1.0.0",
"entry": "/plugins/notes-tsx/index.js",
"homepage": "https://example.com/notes-tsx"
}
]
}

entry may be relative to the registry file. Importing copies the bundle (and its ui.json when there is one) into the space and adds it to index.json; when the space cannot be written to — a URL space, or the browser — the plugin is installed directly from its URL instead, disabled. Imported plugins are never enabled automatically: a plugin runs with the same access as the app, so enable it yourself once you trust it.

Ready-to-try values: space /plugins/, registry /sample-registry.json.

Documentation under CC BY 4.0 · © SCFlow contributors ·Back to supplychainflow.org