creating-plugins
Installation
SKILL.md
Creating EmDash Plugins
EmDash plugins extend the CMS with hooks, storage, settings, admin UI, API routes, and custom Portable Text block types. All plugins are TypeScript packages.
Plugin Types
EmDash has two plugin formats:
| Type | Format | Admin UI | Where it runs |
|---|---|---|---|
| Standard | definePlugin({ hooks, routes }) |
Block Kit | Isolate on Cloudflare, in-process elsewhere |
| Native | createPlugin() / definePlugin() with id+version |
React or Block Kit | Always in host isolate |
Standard is the default. Most plugins should use it. Standard plugins can be published to the marketplace and work in both trusted and sandboxed modes.
Native is an escape hatch for plugins that need React admin components, direct DB access, or custom Astro components. Native plugins can only run in plugins: [] -- they cannot be sandboxed or published to the marketplace.