The official development toolkit for building EKG.gg streaming widgets. Provides a local dev server with live preview, hot reloading, test events, and a build pipeline for publishing widgets to the EKG.gg marketplace.
npm create ekg@latest my-widget
cd my-widget
npm run devThis scaffolds a new widget project and starts the dev server at http://localhost:5173.
For a full guide on building widgets, see the Getting Started documentation.
Starts the local development server with:
- Live widget preview at configurable dimensions
- Hot reloading on file changes
- Settings panel for testing widget configuration
- Test event buttons for every supported event type
- Auto-generated TypeScript types from your manifest
Validates your manifest, compiles TypeScript, and outputs a dist/ folder ready to upload to the EKG.gg artist portal.
Re-downloads the EKG runtime files and regenerates TypeScript types without starting the dev server. Use --force to bypass the cache.
The devkit auto-generates an ekg.d.ts file from your manifest.json, providing full TypeScript autocomplete for ctx.settings and ctx.assets specific to your widget. Types update automatically as you edit the manifest.
The dev server downloads the EKG widget runtime (QuickJS WASM, event schemas, and type definitions) from the EKG.gg servers and caches them locally. Your widget script is compiled with tsdown and runs inside the same sandboxed environment used in production — so what you see locally is what streamers will see in OBS.