auto-summary on every PR — file-by-file, with a risk score and a one-line release note.
Your editor,
your way.
A TypeScript-native SDK for shipping commands, panels, and webhook listeners that fold the workspace into your existing stack — GitHub, Linear, Datadog, PagerDuty, every system you already pay for.
No iframe glue, no JSON-RPC choreography, no privileged plugin host. Extensions run in the same TypeScript runtime as the rest of the workspace, with the same typed event bus the orchestrator uses internally.
Four primitives.
No plugin host.
Commands, panels, webhooks, bus. The same primitives the workspace itself is built on. Nothing privileged, nothing hidden — every line of the SDK is in the public typings.
Keyboard-first registry. Every command is typed, discoverable from the palette, and bindable to a chord. Same surface the workspace uses internally — no privileged API.
Mount a React component as a sidebar, status bar, or modal panel. Or drop a vanilla webview in. Two-way RPC over a typed channel — no JSON.parse glue code.
Subscribe to typed events from any external system. The SDK signs, retries, deduplicates, and routes — you receive a fully-typed payload, not a raw request.
Listen to any agent event the workspace emits — plan started, hunk landed, run finished, gate awaiting. The same bus the orchestrator uses, exposed read-only.
Each integration ships with a typed client, signed webhook handler, and an audit-mapped event schema. Drop into your extension; the workspace handles auth, retries, and replay.
Install, register,
ship.
First extension in under five minutes. The SDK is published to npm; the CLI ships with the workspace; the manifest is verified at type-check time, not at upload.
- Step 01Install
Add the SDK to any TypeScript repo. Zero peer dependencies, zero codegen, zero post-install scripts.
$npm i @exai/extension-sdk - Step 02Register
Declare commands, panels, and webhook listeners in one factory call. The SDK verifies the manifest at type-check time.
$defineExtension({ id, commands, panels }) - Step 03Ship
Publish to the marketplace, your private registry, or pin to a single workspace. Versions are immutable; rollbacks are one command.
$exai ext publish
A catalogue, not
an app store.
Every extension is signed, sandboxed, and source-available. Install policy is governed at workspace, team, and tenant scope. Telemetry is off by default — and stays off unless you flip it.
stream every audit event into Splunk HEC — schema-mapped, replayable, governed.
group reviewable hunks by intent — one column per agent run, drag to merge or punt.
Bring your stack
into the workspace.
No more iframe hacks, no more brittle webhook glue, no more second-class plugin host. One SDK, one runtime, one set of types — for every internal tool your platform team owns.