Create an Extension
Create an extension
Section titled “Create an extension”Use this guide when you want to add general host-aware behavior to Cove, not only one metadata source.
What an extension is for
Section titled “What an extension is for”A Cove extension can contribute more than one narrow hook. Depending on the design, it can add:
- UI pages or panels
- backend APIs
- settings
- background jobs
- themes
- installable tools such as downloaders or scrapers
Build approach
Section titled “Build approach”Think about the extension in two parts:
- frontend contribution when users need a page, panel, settings surface, or visual integration
- backend contribution when you need APIs, jobs, events, storage, or other server-side behavior
Not every extension needs both, but many serious ones do.
Recommended implementation flow
Section titled “Recommended implementation flow”- Define the user-facing behavior first.
- Decide which parts belong in the UI and which belong in the backend.
- Keep permissions narrow and explicit.
- Build and test locally against a running Cove dev environment.
- Package the extension in the layout Cove expects before testing install flow.
Packaging expectations
Section titled “Packaging expectations”The host expects pre-built extension artifacts. That means:
- backend pieces should already be compiled
- frontend pieces should already be bundled
- install should not depend on runtime package restores
See Packaging for the detailed constraints.
Good first checks
Section titled “Good first checks”Before calling an extension ready:
- confirm it loads into a normal local Cove run
- confirm permission failures are understandable
- confirm any UI additions feel native to Cove instead of visually detached
- confirm any user-visible metadata changes preserve provenance