@streamfox/create-streamfox-plugin
v0.8.2
Published
Standalone CLI to scaffold StreamFox plugin projects
Downloads
1,221
Readme
create-streamfox-plugin
CLI scaffolder for StreamFox plugin projects.
Generated projects target the current @streamfox/plugin-sdk contract.
Default output is now simple/minimal:
- progressive
definePlugin(...)authoring style - IMDb-only IDs (
tt...) withids.imdb(...) - minimal handlers and resource declarations
- serve integration URLs (
url,installURL,launchURL)
Optional --advanced output includes richer examples:
- manifest safety/configuration/constraints/quality sections
- shared catalog
filterSets/sortSetshelpers - advanced transport/filter metadata and richer detail fields
ID semantics:
- media/title IDs identify the title itself, for example
tt1254207 - video IDs identify the video resource, for example
mainortt8599532:1:4 - strict IMDb IDs use
tt+ digits (ids.imdb("tt0133093"))
Recommended episodic video ID format:
{parentMediaID}:{season}:{episode}
Install
npm i -g @streamfox/create-streamfox-pluginThe installed command stays:
create-streamfox-pluginUsage
Interactive:
npx @streamfox/create-streamfox-pluginOr after global install:
create-streamfox-pluginNon-interactive:
create-streamfox-plugin my-plugin --yesCLI Options
| Option | Type | Default | Notes |
| ------------------------ | ------------- | ---------------------- | ------------------------------------------------------------------------------------------ |
| [directory] | positional | my-media-plugin | Output directory. |
| --ts | flag | true (unless --js) | Generate TypeScript template. |
| --js | flag | no | Generate JavaScript template. |
| --capabilities <a,b,c> | csv enum list | none | Selected capabilities. One of: catalog, meta, stream, subtitles, plugin_catalog. |
| --advanced | flag | false | Generate richer examples (advanced metadata/filters/transports). |
| --sdk-version <range> | string | ^0.7.2 | Dependency range for @streamfox/plugin-sdk. |
| --yes | flag | false | Skip prompts and use provided/default values. |
| -v, --version | flag | no | Display the current CLI version. |
Examples
Create a subtitles + meta + stream plugin with advanced examples:
create-streamfox-plugin streamfox-opensubs \
--ts \
--capabilities subtitles,meta,stream \
--advanced \
--sdk-version ^0.7.2 \
--yesWhat Gets Generated
src/plugin.(ts|js)with selected capabilities and handlers- default template is minimal and IMDb-focused
--advancedadds richer manifest/capability examples
src/server.(ts|js)that callsserve(...)and prints:- manifest URL
- install deeplink URL
- launch URL
test/plugin.test.(ts|js)smoke test (/manifest,/studio-config)README.md,package.json,.gitignore, and (for TS)tsconfig.json
Development
npm install
npm run build
npm testLocal manual test:
npm link
create-streamfox-plugin demo-plugin --yes