ConceptsUI Plugins

UI Plugins

Gestalt serves an embedded web app by default. You can replace it with a packaged UI bundle under ui.plugin.

Config Shape

ui:
  plugin:
    package: ./dist/my-ui

Or resolve a versioned UI package during init:

ui:
  plugin:
    source: github.com/acme/plugins/gestalt-ui
    version: 1.2.0

Manifest Requirements

A UI package uses the same manifest system as provider plugins, but the manifest kind is webui.

The manifest points at an asset root:

kinds:
  - webui
webui:
  asset_root: ui/out

Runtime Behavior

  • gestaltd init prepares the UI package and records it in lock state.
  • gestaltd serve --locked serves the prepared asset root.
  • If ui.plugin is omitted, Gestalt falls back to the built-in UI.