Skip to content

Commit 2ca41b4

Browse files
feat(demos): Hermes skinned TUI VHS recordings
1 parent 529f65f commit 2ca41b4

5 files changed

Lines changed: 79 additions & 33 deletions

File tree

demos/demo.gif

-114 KB
Loading
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
#!/usr/bin/env bash
2+
set -euo pipefail
3+
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
4+
# shellcheck source=../sanitize-recording-env.sh
5+
source "$SCRIPT_DIR/../sanitize-recording-env.sh"
6+
7+
PROFILE="${DEMO_PROFILE:-}"
8+
if [[ -z "$PROFILE" ]] && [[ -f distribution.yaml ]]; then
9+
PROFILE="$(grep -E '^name:' distribution.yaml | head -1 | sed 's/^name:[[:space:]]*//;s/"//g')"
10+
fi
11+
PROFILE="${PROFILE:-$(basename "$REPO_ROOT")}"
12+
13+
CLEAN="$REPO_ROOT/demos/vhs/staging/clean-repo"
14+
rm -rf "$CLEAN"
15+
mkdir -p "$CLEAN"
16+
rsync -a \
17+
--exclude .venv \
18+
--exclude .git \
19+
--exclude 'demos/vhs/staging' \
20+
--exclude eval/runs \
21+
--exclude 'demos/vhs/out' \
22+
"$REPO_ROOT/" "$CLEAN/"
23+
24+
echo "Installing Hermes profile: $PROFILE"
25+
hermes profile install "$CLEAN" --name "$PROFILE" --force -y
26+
echo "Profile ready: hermes -p $PROFILE chat"
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
#!/usr/bin/env bash
2+
set -euo pipefail
3+
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
4+
# shellcheck source=../sanitize-recording-env.sh
5+
source "$SCRIPT_DIR/../sanitize-recording-env.sh"
6+
7+
PROFILE="${DEMO_PROFILE:-}"
8+
if [[ -z "$PROFILE" ]] && [[ -f distribution.yaml ]]; then
9+
PROFILE="$(grep -E '^name:' distribution.yaml | head -1 | sed 's/^name:[[:space:]]*//;s/"//g')"
10+
fi
11+
PROFILE="${PROFILE:-$(basename "$REPO_ROOT")}"
12+
13+
command -v expect >/dev/null || { echo "expect required" >&2; exit 1; }
14+
15+
export TERM=xterm-256color
16+
stty cols 120 rows 36 2>/dev/null || true
17+
18+
export HOME HERMES_HOME PROFILE
19+
expect <<'EXPECT_EOF'
20+
set timeout 25
21+
set profile $env(PROFILE)
22+
log_user 1
23+
spawn env HOME=$env(HOME) HERMES_HOME=$env(HERMES_HOME) TERM=xterm-256color HERMES_TUI_FAST_ECHO=0 hermes -p $profile chat
24+
sleep 4
25+
send "/help\r"
26+
sleep 3
27+
send "/skin\r"
28+
sleep 2
29+
send "\x03"
30+
expect eof
31+
EXPECT_EOF

demos/vhs/demo-30s.tape

Lines changed: 10 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,41 +1,23 @@
11
Output demos/demo.gif
22
Set Shell "bash"
3-
Set FontSize 18
3+
Set FontSize 16
44
Set Width 1280
55
Set Height 720
6-
Set Theme "Catppuccin Mocha"
7-
Set TypingSpeed 48ms
6+
Set Theme "Builtin Dark"
7+
Set TypingSpeed 55ms
88

99
Hide
1010
Type "source demos/vhs/sanitize-recording-env.sh" Enter
11-
Sleep 400ms
11+
Type "bash demos/vhs/bin/bootstrap-demo-profile.sh" Enter
12+
Sleep 8s
1213
Show
1314

14-
Type "# Heavy Coder - council + swarm_watch" Enter
15-
Sleep 500ms
16-
Type "cat demos/vhs/assets/install-transcript.txt" Enter
17-
Sleep 2s
15+
Type "# Skinned Hermes TUI (profile install + /help)" Enter
16+
Sleep 800ms
1817

1918
Hide
2019
Type "source demos/vhs/sanitize-recording-env.sh" Enter
21-
Sleep 300ms
22-
Type "bash demos/vhs/bin/show-team-plan.sh" Enter
23-
Sleep 4s
24-
Show
25-
26-
Hide
27-
Type "source demos/vhs/sanitize-recording-env.sh" Enter
28-
Sleep 300ms
29-
Type "bash demos/vhs/bin/animate-swarm.sh" Enter
30-
Sleep 24s
31-
Show
32-
33-
Type "cat demos/vhs/assets/coordinator-excerpt.txt" Enter
34-
Sleep 3s
35-
36-
Hide
37-
Type "source demos/vhs/sanitize-recording-env.sh" Enter
38-
Sleep 300ms
39-
Type "bash demos/vhs/bin/run-ship-gate-pytest.sh" Enter
40-
Sleep 4s
20+
Sleep 200ms
21+
Type "bash demos/vhs/bin/hermes-tui-skin-demo.sh" Enter
22+
Sleep 22s
4123
Show
Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
#!/usr/bin/env bash
22
# Public-safe shell identity for VHS terminal recordings.
3-
# Sources demos/vhs/env.sh after setting HOME/USER (real repo paths stay on disk).
43
set -euo pipefail
54
_VHS_SANITIZE_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
65
_REPO_ROOT="$(cd "$_VHS_SANITIZE_DIR/../.." && pwd)"
@@ -10,15 +9,23 @@ export HOME="$_REPO_ROOT/demos/vhs/staging/home/graphtheory"
109
export USER=graphtheory
1110
export LOGNAME=graphtheory
1211
export HOSTNAME=cyber
12+
export HERMES_HOME="$HOME/.hermes"
13+
export HERMES_TUI_FAST_ECHO=0
14+
unset HERMES_TUI_THEME
15+
unset VSCODE_IPC_HOOK_CLI
16+
unset TERM_PROGRAM
1317

14-
mkdir -p "$HOME/users/graphtheory/projects"
18+
mkdir -p "$HERMES_HOME" "$HOME/users/graphtheory/projects"
1519
_WORKSPACE="$HOME/users/graphtheory/projects/$(basename "$_REPO_ROOT")"
1620
ln -sfn "$_REPO_ROOT" "$_WORKSPACE"
1721

1822
export PS1='graphtheory@cyber:~/users/graphtheory/projects/'"$(basename "$_REPO_ROOT")"'$ '
1923
export PROMPT_COMMAND=
20-
2124
cd "$_WORKSPACE"
2225

23-
# shellcheck source=env.sh
24-
source "$_VHS_SANITIZE_DIR/env.sh"
26+
if [[ -f "$_VHS_SANITIZE_DIR/env.sh" ]]; then
27+
# shellcheck source=env.sh
28+
source "$_VHS_SANITIZE_DIR/env.sh"
29+
else
30+
export REPO_ROOT="$_REPO_ROOT"
31+
fi

0 commit comments

Comments
 (0)