Skip to content

Commit b1f128f

Browse files
committed
feat(demos): Hermes skinned TUI VHS recordings
1 parent 7fe5103 commit b1f128f

5 files changed

Lines changed: 83 additions & 22 deletions

File tree

demos/demo.gif

-14.8 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: 14 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,23 @@
11
Output demos/demo.gif
22
Set Shell "bash"
3-
Set FontSize 20
3+
Set FontSize 16
44
Set Width 1280
55
Set Height 720
6-
Set Theme "Catppuccin Mocha"
7-
Set TypingSpeed 50ms
8-
9-
Type "# ContextForge RAG · production retrieval" Enter
10-
Sleep 600ms
6+
Set Theme "Builtin Dark"
7+
Set TypingSpeed 55ms
118

129
Hide
1310
Type "source demos/vhs/sanitize-recording-env.sh" Enter
14-
Sleep 300ms
15-
Type "python3 scripts/validate_profile.py ." Enter
16-
Sleep 5s
17-
Type "head -16 SOUL.md" Enter
18-
Sleep 5s
19-
Type "ls skills | head -10" Enter
20-
Sleep 4s
11+
Type "bash demos/vhs/bin/bootstrap-demo-profile.sh" Enter
12+
Sleep 8s
2113
Show
2214

23-
Type "hermes profile install github.com/codegraphtheory/context-forge-rag --name context-forge-rag --yes" Enter
24-
Sleep 4s
25-
Type "# RAG architecture · eval gates · observability" Enter
26-
Sleep 3s
15+
Type "# Skinned Hermes TUI (/help + profile skin)" Enter
16+
Sleep 800ms
17+
18+
Hide
19+
Type "source demos/vhs/sanitize-recording-env.sh" Enter
20+
Sleep 200ms
21+
Type "bash demos/vhs/bin/hermes-tui-skin-demo.sh" Enter
22+
Sleep 22s
23+
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)