# banger hero demo — VHS tape
# Render with: vhs assets/demo.tape

Output assets/banger.gif

Require banger
Require ssh
Require curl

Set Shell "bash"
Set FontSize 14
Set LineHeight 1.4
Set Width 1200
Set Height 720
Set Padding 20
Set Theme "Catppuccin Frappe"
Set TypingSpeed 66ms

# Off-camera reset: enable bash syntax highlighting via ble.sh, prompt
# styling, drop any prior demo VM, and clear the screen.
Hide
Type "source ~/.local/share/blesh/ble.sh --noattach"
Enter
Sleep 200ms
Type "bleopt complete_auto_complete= complete_auto_history="
Enter
Sleep 100ms
Type `export PS1="\n$PS1"`
Enter
Sleep 200ms
Type "[[ ${BLE_VERSION-} ]] && ble-attach"
Enter
Sleep 400ms
Type "ble-face -s syntax_error fg=red"
Enter
Sleep 100ms
Type "banger vm kill demo 2>/dev/null; banger vm delete demo 2>/dev/null; clear"
Enter
Sleep 500ms
Show

Type "banger vm run --nat --name demo"
Enter
Wait+Line /demo:~#/
Sleep 1.4s

Type "uname -a"
Enter
Sleep 1.4s

Type "exit"
Enter
Wait
Sleep 700ms

Type "banger vm list"
Enter
Wait
Sleep 1.8s

Type "ssh demo.vm"
Enter
Wait+Line /demo:~#/
Sleep 500ms

Type "touch foo bar baz"
Enter
Sleep 700ms

Type "ls"
Enter
Sleep 1.4s

Type "exit"
Enter
Sleep 700ms

Type "banger vm stop demo"
Enter
Wait
Sleep 1s

Type "banger vm start demo"
Enter
Wait
Sleep 1s

Type "banger vm exec demo -- ls"
Enter
Wait
Sleep 1.4s

Type "banger vm exec demo -- docker run -d -p 80:80 nginx"
Enter
Wait
Sleep 1.6s

Type "banger vm ports demo"
Enter
Wait
Sleep 2s

Type "curl http://demo.vm"
Sleep 1.2s
Enter
Wait
Sleep 4s

Type "banger vm kill demo && banger vm delete demo"
Enter
Wait
Sleep 3s
