Skip to content

docs.cast

Record an animated SVG of a real interactive shell session.

Boots the shell from a scratch config with footman completion loaded (via --setup-completion; nushell sources the generated hook), types the script — everything after --, where <TAB>, <ENTER>, <WAIT> and friends are keys — and replays the capture through a terminal emulator into an animated, dependency- free SVG with the session's real timing. TAB completion, in motion, regenerated on every docs build so it cannot drift.

fm docs.cast [<keys> ...] --out=PATH [--shell={zsh|bash|fish|pwsh|nushell}] [--title=VALUE] [--width=INT] [--height=INT] [--prog=VALUE] [--cwd=PATH] [--pace=FLOAT] [--steady=FLOAT]
Parameter Type Default Description
<keys>... variadic
--out=PATH path required the animated SVG file to write
--shell={zsh|bash|fish|pwsh|nushell} zsh | bash | fish | pwsh | nushell "zsh" interactive shell to drive
--title=VALUE window title
--width=INT int 72 terminal columns
--height=INT int 14 terminal rows
--prog=VALUE "fm" CLI whose completion is installed
--cwd=PATH path directory the shell starts in; empty takes here
--pace=FLOAT float 1.2 seconds each keypress stays on screen
--steady=FLOAT float 1.0 scale the quiet-detection windows; raise on a loaded machine

Returns: a list of text

Example

$ fm docs.cast <keys> --out=<out>