// Plugin development
packaging
building a .kern file and seeding it for development.
packaging
a .kern file is a zip archive with a specific layout. you build it from your plugin source.
layout
my-plugin.kern (a zip)
├─ manifest.json (required)
├─ dist/
│ ├─ index.js (optional — the esm ui bundle)
│ └─ index.css (optional — injected into the shadow root)
└─ …any other assets your bundle referencesbuilding
build your ui bundle to dist/index.js (esm, exporting mount), then zip the manifest + dist/ (+ assets) into a .kern file. the kern app has a create_plugin_package helper that does the zipping for you against a validated manifest.
dev seeding
for local development you can drop a .kern into kern’s plugin directory (or double-click it to trigger kern://install) and the host will pick it up. this lets you iterate on a plugin without going through the registry.
// note
validate your manifest.json before zipping. the registry’s ci (phase a) unzips, parses the manifest, checks id/version/schema, and rejects malformed packages on the pr.