Rune Story CLI reference
Generated from the shared
System.CommandLineroot command insrc/story/Rune.Story.Cli. Hidden internal automation commands are excluded.
story
Rune Story CLI — export, preview, and inspect story YAML files.
Subcommands
| Command | Aliases | Description |
|---|---|---|
story export | — | Export a story YAML to an MP4 video file. |
story bake | — | Bake a story YAML and print the timeline without exporting video. |
story preview | — | Preview a story YAML in a window. |
story frame | — | Export a single story frame to a PNG image. |
story cues | — | Export every cue end frame to a PNG directory. |
story live | — | Present a story YAML in fullscreen interactive mode. |
story syntax | — | Print the Rune Story syntax reference (descriptors, the built-in host value registry/facets, Composite semantic Fields, compile-time references, and curated grammar). |
story voices | — | List or refresh available Azure Speech voices (cached under %LOCALAPPDATA%/Rune). |
story canvas | — | Host a Story preview for the GitHub Copilot App Canvas. |
Arguments
None.
Options
| Option | Aliases | Description | Arity | Default |
|---|---|---|---|---|
--version | — | Show version information | 0 | false |
--help | -?, -h, /?, /h | Show help and usage information | 0 | false |
story export
Export a story YAML to an MP4 video file.
Subcommands
None.
Arguments
| Argument | Description | Arity | Default |
|---|---|---|---|
input | Path to the story YAML file. | 1 | — |
Options
| Option | Aliases | Description | Arity | Default |
|---|---|---|---|---|
--output | -o | Output MP4 file path. Defaults to the input file name with .mp4 extension. | 1 | — |
--size | — | Output size: preset (720p, 1080p, 2k, 4k) or exact WxH (e.g. 1920x1080). Defaults to canvas size. | 1 | — |
--fps | — | Frames per second. | 1 | — |
--force | — | Overwrite the output file without prompting. | 0..1 | false |
--software | — | Use software (WARP) renderer instead of GPU. | 0..1 | false |
--auto-cue | — | Hold duration in seconds at each cue point (e.g. 5 for 5s). Per-cue durations override this. | 1 | — |
--warn-duration | — | Warn (non-fatal) when the baked story is longer than this many seconds; a bare flag uses 6000. Omit to disable. | 0..1 | — |
--encoder | — | Media encoder name to use for export. Defaults to built-in WMF for MP4. | 1 | — |
--tts-provider | — | Default text-to-speech provider for native literals (built-in: mock, windows; plugins may add more). Host voice facets default, male, and female route through the host platform provider. | 1 | — |
story bake
Bake a story YAML and print the timeline without exporting video.
Subcommands
None.
Arguments
| Argument | Description | Arity | Default |
|---|---|---|---|
input | Path to the story YAML file. | 1 | — |
Options
| Option | Aliases | Description | Arity | Default |
|---|---|---|---|---|
--size | — | Output size: preset (720p, 1080p, 2k, 4k) or exact WxH (e.g. 1920x1080). Defaults to canvas size. | 1 | — |
--fps | — | Frames per second. | 1 | — |
--software | — | Use software (WARP) renderer instead of GPU. | 0..1 | false |
--auto-cue | — | Hold duration in seconds at each cue point (e.g. 5 for 5s). Per-cue durations override this. | 1 | — |
--warn-duration | — | Warn (non-fatal) when the baked story is longer than this many seconds; a bare flag uses 6000. Omit to disable. | 0..1 | — |
--tts-provider | — | Default text-to-speech provider for native literals (built-in: mock, windows; plugins may add more). Host voice facets default, male, and female route through the host platform provider. | 1 | — |
story preview
Preview a story YAML in a window.
Subcommands
None.
Arguments
| Argument | Description | Arity | Default |
|---|---|---|---|
input | Path to the story YAML file. | 1 | — |
Options
| Option | Aliases | Description | Arity | Default |
|---|---|---|---|---|
--size | — | Output size: preset (720p, 1080p, 2k, 4k) or exact WxH (e.g. 1920x1080). Defaults to canvas size. | 1 | — |
--fps | — | Frames per second. | 1 | — |
--software | — | Use software (WARP) renderer instead of GPU. | 0..1 | false |
--auto-cue | — | Hold duration in seconds at each cue point (e.g. 5 for 5s). Per-cue durations override this. | 1 | — |
--warn-duration | — | Warn (non-fatal) when the baked story is longer than this many seconds; a bare flag uses 6000. Omit to disable. | 0..1 | — |
--no-watch | — | Disable file watching and hot reload in live/preview. | 0..1 | false |
--tts-provider | — | Default text-to-speech provider for native literals (built-in: mock, windows; plugins may add more). Host voice facets default, male, and female route through the host platform provider. | 1 | — |
story frame
Export a single story frame to a PNG image.
Subcommands
None.
Arguments
| Argument | Description | Arity | Default |
|---|---|---|---|
input | Path to the story YAML file. | 1 | — |
Options
| Option | Aliases | Description | Arity | Default |
|---|---|---|---|---|
--output | -o | Output PNG file path. Defaults to the story name plus selected time/frame. | 1 | — |
--size | — | Output size: preset (720p, 1080p, 2k, 4k) or exact WxH (e.g. 1920x1080). Defaults to canvas size. | 1 | — |
--fps | — | Frames per second. | 1 | — |
--force | — | Overwrite the output file without prompting. | 0..1 | false |
--software | — | Use software (WARP) renderer instead of GPU. | 0..1 | false |
--auto-cue | — | Hold duration in seconds at each cue point (e.g. 5 for 5s). Per-cue durations override this. | 1 | — |
--warn-duration | — | Warn (non-fatal) when the baked story is longer than this many seconds; a bare flag uses 6000. Omit to disable. | 0..1 | — |
--tts-provider | — | Default text-to-speech provider for native literals (built-in: mock, windows; plugins may add more). Host voice facets default, male, and female route through the host platform provider. | 1 | — |
--time | — | Story time in seconds to export. Defaults to 0 when --frame is omitted. | 1 | — |
--frame | — | Zero-based frame index to export. Mutually exclusive with --time. | 1 | — |
story cues
Export every cue end frame to a PNG directory.
Subcommands
None.
Arguments
| Argument | Description | Arity | Default |
|---|---|---|---|
input | Path to the story YAML file. | 1 | — |
Options
| Option | Aliases | Description | Arity | Default |
|---|---|---|---|---|
--output | -o | Output directory path. Defaults to the story name plus command-specific suffix. | 1 | — |
--size | — | Output size: preset (720p, 1080p, 2k, 4k) or exact WxH (e.g. 1920x1080). Defaults to canvas size. | 1 | — |
--fps | — | Frames per second. | 1 | — |
--force | — | Overwrite the output file without prompting. | 0..1 | false |
--software | — | Use software (WARP) renderer instead of GPU. | 0..1 | false |
--auto-cue | — | Hold duration in seconds at each cue point (e.g. 5 for 5s). Per-cue durations override this. | 1 | — |
--warn-duration | — | Warn (non-fatal) when the baked story is longer than this many seconds; a bare flag uses 6000. Omit to disable. | 0..1 | — |
--tts-provider | — | Default text-to-speech provider for native literals (built-in: mock, windows; plugins may add more). Host voice facets default, male, and female route through the host platform provider. | 1 | — |
story live
Present a story YAML in fullscreen interactive mode.
Subcommands
None.
Arguments
| Argument | Description | Arity | Default |
|---|---|---|---|
input | Path to the story YAML file. | 1 | — |
Options
| Option | Aliases | Description | Arity | Default |
|---|---|---|---|---|
--fps | — | Frames per second. | 1 | — |
--monitor | — | Zero-based monitor index for fullscreen (0 = primary). | 1 | 0 |
--software | — | Use software (WARP) renderer instead of GPU. | 0..1 | false |
--no-watch | — | Disable file watching and hot reload in live/preview. | 0..1 | false |
--tts-provider | — | Default text-to-speech provider for native literals (built-in: mock, windows; plugins may add more). Host voice facets default, male, and female route through the host platform provider. | 1 | — |
story syntax
Print the Rune Story syntax reference (descriptors, the built-in host value registry/facets, Composite semantic Fields, compile-time references, and curated grammar).
Subcommands
None.
Arguments
| Argument | Description | Arity | Default |
|---|---|---|---|
type | Optional sprite/action/animation type to show (e.g. 'rect' or 'chart/pie'). Omit for the full reference, token constructors, host voice facets, and curated grammar. | 0..1 | — |
Options
| Option | Aliases | Description | Arity | Default |
|---|---|---|---|---|
--format | — | Syntax reference format: 'md' or 'json'. | 1 | md |
--reference | -r | Reference story YAML whose plugins: are loaded so plugin-contributed object types are documented. The value-type/constructor appendix remains the built-in host registry. | 1 | — |
--output | -o | Output file path. Defaults to stdout. | 1 | — |
story voices
List or refresh available Azure Speech voices (cached under %LOCALAPPDATA%/Rune).
Subcommands
None.
Arguments
None.
Options
| Option | Aliases | Description | Arity | Default |
|---|---|---|---|---|
--refresh | — | Force refetch the Azure voice list, ignoring the local cache. | 0..1 | false |
--locale | — | Filter voices by locale (e.g. en-US) and list them. | 1 | — |
story canvas
Host a Story preview for the GitHub Copilot App Canvas.
Subcommands
None.
Arguments
| Argument | Description | Arity | Default |
|---|---|---|---|
input | Path to the story YAML file. | 1 | — |
Options
| Option | Aliases | Description | Arity | Default |
|---|---|---|---|---|
--port | — | Loopback port for the Canvas host. Use 0 to select an ephemeral port. | 1 | 0 |
--instance-id | — | Canvas instance identifier. | 1 | — |
--parent-pid | — | Extension process ID. The Canvas host exits when this process ends. | 1 | — |