Skip to content

Extension overview

Cove’s extension system is meant to support product capabilities, not only narrow hooks. This page explains the version and design boundaries; use the reference pages for package terminology.

Three version values answer different questions:

  • The Cove application version identifies the running host and the contracts it implements.
  • The Cove.Sdk package version identifies the compile-time helpers and host contracts used to build an extension. A Cove.Sdk package reference does not set the minimum Cove host version.
  • The manifest’s minCoveVersion is a declared compatibility floor for the application version. It does not select a Cove.Sdk package and is not proof that an extension works on every newer host. Supported Install from URL and registry installers enforce minCoveVersion. For compiled extensions, startup dependency validation reports a version mismatch as a dependency problem, but the current initialization path may still initialize a package placed directly on disk. Manifest-only bundle and scraper-pack packages are outside the compiled-extension set, so startup validation does not report their Cove-version mismatch.

Build against the Cove.Sdk version matching the Cove release you test. Set minCoveVersion to the oldest Cove release you have actually verified, and retest before claiming compatibility with older or newer releases. Install through a supported installer; do not treat startup validation of a manually copied package as compatibility enforcement.

An extension can combine several contributions across backend and frontend extension points. Use the Extension-point catalog for current interfaces and the UI extension reference for the frontend boundary.

The model lets users add capabilities while Cove retains control of lifecycle, composition, authorization, and a consistent application shell.

Extensions should:

  • request the minimum permissions needed
  • expose behavior clearly enough for administrators to review
  • preserve provenance when changing user-visible metadata
  • keep UI additions consistent with the rest of Cove