Skip to content

Plugin development

HarborClient plugins extend the app with installable packages: custom settings panels, sidebar views, request tabs, appearance themes, File → Import handlers, HTTP hooks, and persistent storage. Each plugin ships as a HarborClient plugin file (.hcp) containing a manifest.json and bundled JavaScript. A .hcp file is a normal ZIP archive — the extension is a naming convention only, not a separate container format. Plugins use the same hc namespace as request scripts, but with a broader API suited to long-lived extensions.

Themes are plugins too: declare contributes.themes, register with hc.themes.register (or point the contribution at a Theme Designer export via "import": "exported.json" with no JavaScript entry), and include "categories": ["themes"] when the package should appear under File → Themes rather than File → Plugins.

To install or manage plugins in the app, see Plugins (File → Plugins) or browse the plugin marketplace. For theme packages, see Themes (File → Themes). This guide covers package layout, the manifest, APIs, examples, and the development workflow.

Looking for inspiration? Explore the HarborClient developer blog for deep dives, recipes, and real-world plugin patterns.

Guide

  • Install — add @harborclient/sdk to your plugin project
  • Quick start — minimal renderer and main entry examples
  • Manifest — package layout, manifest.json fields, permissions, and contribution types
  • Architecture — renderer vs main runtimes and plugin lifecycle
  • Building — bundling and packaging as .hcp
  • Dev workflow — unpacked loading, hot reload, and startup options
  • APIhc.* reference by namespace (UI, HTTP, Host, Themes, …)
  • Index — alphabetical hc.* method index
  • Components — interactive component explorer (Storybook)
  • Examples — HTTP hooks, themes, import handlers, AI/MCP, sidebar replacement, and more
  • Marketplace — publish to the HarborClient plugin catalog