StreamKit+ Addon Developer Documentation
Integration addons extend StreamKit+ from an isolated worker process. Addon code runs inside a VM sandbox and uses global APIs (network, events, api, …) — no SDK imports inside the worker.
Categories
| Section | Description |
|---|---|
| Getting started | Architecture, installation, project layout |
| Lifecycle | How addons are loaded, restarted, and crash-loop protection |
| manifest.json | Manifest fields, types, and validation rules |
| Publishing and releases | GitHub release layout, catalog caching, and automatic version sync |
| TypeScript setup | tsconfig.json, typings, build output |
| Permissions | Capability flags and user approval |
| Settings schema | GenerateConfig() and settings UI |
| Localization | Per-locale strings in addon code |
| Security | Network restrictions, tokens, sandbox limits |
| OAuth and secrets | Token exchange via outbound HTTP (no built-in auth server API) |
Sandbox API
| Section | Description |
|---|---|
| API overview | All globals at a glance |
| events | Event bus and HTTP handler binding |
| network | HTTP client, endpoints, WebSocket, Socket.IO |
| api.config & storage | Params, app config, private file storage |
| addons (RPC) | Addon-to-addon requests |
| dashboard | Events widget, chat, overlay triggers |
| status, notify, ui | Status bar, notifications, OAuth result pages |
| Utilities | Timers, crypto, console, developer mode |
Addon categories
| Section | Description |
|---|---|
| Platform addons | platform.streaming, platform.donation |
| Overlay addons | Effects, static web, simple media |
| Widget addons | Persistent web pages and OBS sources |
| Application addons | In-app sandboxed windows |
| Game addons | In-game effects and input triggers |
Typings
Install sandbox declarations from npm — version must match the StreamKit+ release you target:
npm install --save-dev @rocketman-streamkit/types
See TypeScript setup for tsconfig.json and globals (declare global — no imports in addon code).