c53f699714
- go plugin backends ship as release tarballs (per-platform binaries, checksums) that kandev installs from url/upload or filesystem sideload+sync, then spawns and supervises via hashicorp/go-plugin (unix socket / loopback tcp+automtls) - strict typed grpc contract (kandev.plugin.v1): DeliverEvent/InvokeTool/HandleWebhook plus a capability-gated host service (state, secrets, emit); author sdk in pkg/pluginsdk; packaging cli in cmd/plugin-pack - native frontend bundles: window.registerKandevPlugin + registry/host loader with dynamic routes, nav items, slots and ws handlers; plugins settings page with install dialog, sync button and enable/disable/uninstall - gated behind the plugins feature flag (prod off, dev/e2e on); covered by unit and integration tests plus playwright e2e against a real packaged fixture plugin Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
14 lines
824 B
Markdown
14 lines
824 B
Markdown
# Example plugin
|
|
|
|
`kandev-plugin-hello` is a standalone, importable reference implementation of
|
|
the kandev native-UI plugin contract (manifest + Go SDK backend, spawned by
|
|
kandev as a gRPC subprocess via `pkg/pluginsdk` + hand-written, no-build ES
|
|
module UI bundle) — it registers a "Hello" nav item and route, a
|
|
task-sidebar slot widget, a live WebSocket-driven counter, and a backend
|
|
tool/event/webhook, and is meant to be copied as the starting point for a
|
|
new plugin. It lives in its own git repository, sibling to this one, at
|
|
`../kandev-plugin-hello/` (see that repo's `README.md` for how to build,
|
|
package, and install it against a running kandev instance); see
|
|
`docs/plans/plugins/GRPC-CONTRACT.md` for the backend/transport contract and
|
|
`docs/plans/plugins/PLUGIN-API.md` for the frontend contract it implements.
|