shell-scene
shell-scene records your terminal sessions and creates web presentations featuring them.
Install dependencies
This software is developed and tested on GNU/Linux. Support for other operating systems is not a priority right now.
Required system packages
On Fedora Linux:
sudo dnf install asciinema tmux ttyd uv
On Arch Linux:
sudo pacman -S asciinema tmux ttyd uv
On other Linux distros, asciinema and tmux are probably available in your package manager, but you may need to manually install uv and build ttyd yourself.
Install shell-scene
Download the latest release for your platform.
Or build and install via cargo (crates.io/crates/shell-scene):
cargo install shell-scene
Tab completion
To install tab completion support, put this in your ~/.bashrc (assuming you use Bash):
### Bash completion for shell-scene (Put this in ~/.bashrc)
source <(shell-scene completions bash)
If you don't like to type out the full name shell-scene, you can make
a shorter alias (h), as well as enable tab completion for the alias
(h):
### Alias shell-scene as h (Put this in ~/.bashrc):
alias h=shell-scene
complete -F _shell-scene -o bashdefault -o default h
Completion for Zsh and/or Fish has also been implemented, but the author has not tested this:
### Zsh completion for shell-scene (Put this in ~/.zshrc):
autoload -U compinit; compinit; source <(shell-scene completions zsh)
### Fish completion for shell-scene (Put this in ~/.config/fish/config.fish):
shell-scene completions fish | source
Usage
$ shell-scene
Usage: shell-scene [OPTIONS] [COMMAND]
Commands:
record Record an asciicast via ttyd
completions Generates shell completions script (tab completion)
help Print this message or the help of the given subcommand(s)
Options:
--log <LEVEL> Sets the log level, overriding the RUST_LOG environment variable. [possible values: trace, debug, info, warn, error]
-v Sets the log level to debug.
-h, --help Print help
-V, --version Print version
Development
See DEVELOPMENT.md