Publishing & operating a plugin
Three ways to publish
- In the app — Settings → Developer → Plugins → Publish a plugin…:
paste your
manifest.json, attachplugin.jsif you ship tools, set a price and visibility. - The API —
POST /v1/pluginswith your API key:{ manifest, priceCredits?, visibility?, bundleStorageId? }(upload the bundle first via the ticket → PUT → commit flow). - From CI — the
corte-plugins-marketplace
repo shows the full pattern: a version-diffing batch publisher
(
npm run publish) that compares each plugin's local version against the marketplace and publishes only what's new or ahead, wired to a GitHub Actions workflow that runs on merge tomainwith the API key held as an Actions secret. Release flow: bumppluginVersionin a PR → merge → exactly the bumped plugins go live.
Versioning
Every publish is a new immutable version — you can never overwrite one. Users are pinned to the version they installed until they accept an update, and updates that change your permission set force a re-review of the new permissions. Design consequence: never break or remove asset URLs an old version references; users may be pinned to it indefinitely.
Pricing and earnings
Set a credit price at publish (0 = free; omit to keep the current price). Buyers are charged once — updates and re-installs are free — and you earn 70% of every sale, granted to your balance as purchased credits, which never expire. Your own installs are free. Earnings show per plugin in your Publishing list and on each plugin's detail page.
Visibility: private plugins
Publish with visibility private and the plugin is invisible on the marketplace — its detail page and install endpoint return "not found" for everyone but you — while working exactly like any installed plugin in your own workspace. Use it for personal tooling, or to stage and self-test a release before flipping it public. Visibility is sticky across version updates: it only changes when you explicitly set it.
Delisting
Delisting hides your plugin from the marketplace and blocks new installs. Existing users keep everything — their pinned version, the bundle, and their purchase (past buyers can even reinstall). Publishing a new version relists. There are no refunds on delist; users lose nothing.
Your plugin's health
Each plugin's detail page under Settings → Developer → Plugins shows:
- Installs and lifetime earnings
- Tool telemetry: runs, errors, and average latency — overall and per tool — reported by the host in small batches
- Version history
Telemetry is outcome-and-latency only: the platform never collects tool arguments, results, or user content on your behalf.