Skip to content

Plugin development

HarborClient plugins extend the app with installable packages: custom settings panels, sidebar views, request tabs, appearance themes, 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.

To install or manage plugins in the app, see Settings → Plugins or browse the plugin marketplace. This guide covers package layout, the manifest, APIs, examples, and the development workflow.

Guide

  • Install — add @harborclient/sdk to your plugin project
  • Quick start — minimal renderer and main entry examples
  • Package layout — directory structure for a .hcp package
  • Manifestmanifest.json fields, metadata, and contribution types
  • Permissions — capability model and install-time grants
  • Architecture — renderer vs main runtimes and plugin lifecycle
  • Building — bundling and packaging as .hcp
  • Dev workflow — unpacked loading, hot reload, and startup options
  • Renderer APIPluginContext, React/JSX, and host integration
  • UI contributions — settings panels, tabs, menus, and toolbar actions
  • Themes and storage — themes, commands, storage, and filesystem
  • Main API — HTTP hooks and IPC in the SES utilityProcess
  • Examples — request logger, audit tab, and Solarized theme
  • Marketplace — publish to the HarborClient plugin catalog
  • Performance — IPC and rendering best practices
  • Plugins vs scripts — how plugins differ from request scripts