Plugins
A plugin is a TypeScript package that adds its own database tables, API routes and admin pages to the CMS. Plugins are compiled into the API Worker at build time, so there is no runtime code loading.
Enable and disable
Section titled “Enable and disable”Open Installed Plugins in the admin sidebar (Admin and above). It lists every plugin bundled into your deployment with its version and an on/off switch.
- Toggling takes effect immediately, with no redeploy. A disabled plugin’s routes return
404and its sidebar entries disappear. - A plugin with dependencies stays off while those dependencies are off.
- With no saved choice, a bundled plugin is enabled.
- Disabling a plugin does not delete its data.
Adding a plugin that is not bundled yet is a code change and a redeploy: add the package and register it in apps/api/src/plugins/registered-plugins.ts.
Bundled plugins
Section titled “Bundled plugins”| Plugin | Purpose |
|---|---|
commerce |
Product catalog, cart, checkout, orders and Paystack payments |
hello |
A minimal example plugin used as a reference for authors |
When enabled, Commerce adds a Commerce group to the sidebar with Products, Categories, Customers, Orders and Settings. See Commerce for the catalog, cart, checkout, orders and Paystack payments.
Building a plugin
Section titled “Building a plugin”See Plugin development. The repository’s docs/PLUGINS.md is the full design record.