@rocketman-streamkit/addon-generator
v1.0.8
Published
Scaffold a StreamKit+ integration addon project with TypeScript typings, manifest, and GitHub release workflow
Downloads
1,273
Maintainers
Readme
@rocketman-streamkit/addon-generator
Interactive CLI to scaffold a StreamKit+ integration addon project: manifest.json, worker or static web files, TypeScript typings from @rocketman-streamkit/types, and GitHub Actions for releases.
Usage
npx @rocketman-streamkit/addon-generator
npx @rocketman-streamkit/addon-generator ./my-streamkit-addon
npx @rocketman-streamkit/addon-generator --output addons/demoAlias binary: create-streamkit-addon.
Pass a path (relative or absolute) as the first argument (or via -o / --output) to skip the output-directory prompt. Run with --help for all options.
The wizard runs in English with a colored terminal UI. It will ask for:
- Output directory (skipped when passed on the command line)
- Addon category — platform (streaming/donation), overlay, overlay info, widget, application, game
- Variant — full worker, static web only, or simple media overlay (where applicable)
- Worker language — JavaScript or TypeScript (when a worker is needed)
- Manifest fields —
id(ORG/REPO), localized name/description, version,app_version, icon, permissions, optionalplatform/depends_on - Type-specific options — web entry file,
web_contents, media file for simple overlays - Optional RocketMan catalog sync workflow (GitHub OIDC —
id-token: write, no repository secrets) - Release workflow trigger — git tag push
v*(default) or push tomain
The generator fetches the latest @rocketman-streamkit/types version from npm and pins it in the scaffolded package.json (TypeScript projects).
Generated project
Typical layout (varies by category):
my-streamkit-addon/
├── manifest.json
├── README.md
├── AGENT.md # context for AI assistants (docs links, architecture, rules)
├── package.json
├── scripts/build.mjs # copies/bundles src/ → dist/
├── src/
│ ├── logo.png
│ ├── index.ts # or index.js (worker addons)
│ ├── index.html # web UI (overlay / widget / application)
│ ├── style.css
│ └── app.ts / app.js
├── tsconfig.json # TypeScript worker projects
└── .github/workflows/
├── release.yml # GitHub Release (dist/ → main.zip + manifest + icon)
└── rocketman-sync.yml # optional catalog syncRelease workflow
The included release.yml workflow:
- Triggers on
workflow_dispatchand either tag pushv*(default) or push tomain(chosen in the generator) - Reads
versionfrommanifest.json - Runs
npm run buildto populatedist/ - Fails if a GitHub Release for
v{version}already exists - Uploads
main.zip(contents ofdist/),dist/manifest.json, and the icon fromdist/
See Publishing and releases in the public addon docs.
Documentation
- Public addon API: rocketman-streamkit.github.io/types
License
MIT — see LICENSE.
