diff --git a/docs/vhs/advanced-features.gif b/docs/vhs/advanced-features.gif index f2b7b87..bb115d8 100644 Binary files a/docs/vhs/advanced-features.gif and b/docs/vhs/advanced-features.gif differ diff --git a/docs/vhs/advanced-features.tape b/docs/vhs/advanced-features.tape index ea3c024..76a2b79 100644 --- a/docs/vhs/advanced-features.tape +++ b/docs/vhs/advanced-features.tape @@ -11,6 +11,10 @@ Type "# StructKit Advanced Features Demo" Enter Sleep 1s +Type "source .venv/bin/activate" +Enter +Sleep 500ms + Type "# Generate schema for VSCode autocompletion" Enter Type "mkdir -p .vscode" diff --git a/docs/vhs/basic-usage.tape b/docs/vhs/basic-usage.tape index 035405a..c7d8cb4 100644 --- a/docs/vhs/basic-usage.tape +++ b/docs/vhs/basic-usage.tape @@ -10,6 +10,10 @@ Type "# StructKit - Basic Usage Demo" Enter Sleep 1s +Type "source .venv/bin/activate" +Enter +Sleep 500ms + Type "# First, let's see what structures are available" Enter Sleep 500ms diff --git a/docs/vhs/install.gif b/docs/vhs/install.gif index c0cd497..94d5309 100644 Binary files a/docs/vhs/install.gif and b/docs/vhs/install.gif differ diff --git a/docs/vhs/mappings-demo.gif b/docs/vhs/mappings-demo.gif index 17418e8..e88ad1e 100644 Binary files a/docs/vhs/mappings-demo.gif and b/docs/vhs/mappings-demo.gif differ diff --git a/docs/vhs/mappings-demo.tape b/docs/vhs/mappings-demo.tape index 1868f0b..2660ce1 100644 --- a/docs/vhs/mappings-demo.tape +++ b/docs/vhs/mappings-demo.tape @@ -11,6 +11,10 @@ Type "# StructKit Mappings Demo" Enter Sleep 1s +Type "source .venv/bin/activate" +Enter +Sleep 500ms + Type "# Create a simple mapping file with team data" Enter Type "cat > team-mapping.yaml << EOF" diff --git a/docs/vhs/multiple-mappings.gif b/docs/vhs/multiple-mappings.gif index f0726d2..2d242f3 100644 Binary files a/docs/vhs/multiple-mappings.gif and b/docs/vhs/multiple-mappings.gif differ diff --git a/docs/vhs/multiple-mappings.tape b/docs/vhs/multiple-mappings.tape index 08f8eec..a7da040 100644 --- a/docs/vhs/multiple-mappings.tape +++ b/docs/vhs/multiple-mappings.tape @@ -11,6 +11,10 @@ Type "# StructKit Multiple Mappings Demo" Enter Sleep 1s +Type "source .venv/bin/activate" +Enter +Sleep 500ms + Type "# Create company info mapping" Enter Type "cat > company-info.yaml << EOF" diff --git a/docs/vhs/remote-content.gif b/docs/vhs/remote-content.gif index e998cb5..153b5cf 100644 Binary files a/docs/vhs/remote-content.gif and b/docs/vhs/remote-content.gif differ diff --git a/docs/vhs/remote-content.tape b/docs/vhs/remote-content.tape index 74e4322..6a1862d 100644 --- a/docs/vhs/remote-content.tape +++ b/docs/vhs/remote-content.tape @@ -11,6 +11,10 @@ Type "# StructKit Remote Content Demo" Enter Sleep 1s +Type "source .venv/bin/activate" +Enter +Sleep 500ms + Type "# Create configuration with remote files" Enter Type "cat > remote-example.yaml << EOF" diff --git a/docs/vhs/schema-generation.gif b/docs/vhs/schema-generation.gif index d54c196..9052927 100644 Binary files a/docs/vhs/schema-generation.gif and b/docs/vhs/schema-generation.gif differ diff --git a/docs/vhs/schema-generation.tape b/docs/vhs/schema-generation.tape index 4edce85..404e1f5 100644 --- a/docs/vhs/schema-generation.tape +++ b/docs/vhs/schema-generation.tape @@ -11,6 +11,10 @@ Type "# StructKit Schema Generation Demo" Enter Sleep 1s +Type "source .venv/bin/activate" +Enter +Sleep 500ms + Type "# Generate JSON schema for VSCode autocompletion" Enter Type "structkit generate-schema" diff --git a/docs/vhs/usage.gif b/docs/vhs/usage.gif index 90e5aaa..50601a6 100644 Binary files a/docs/vhs/usage.gif and b/docs/vhs/usage.gif differ diff --git a/docs/vhs/yaml-config.gif b/docs/vhs/yaml-config.gif index cae4325..e1c2bdf 100644 Binary files a/docs/vhs/yaml-config.gif and b/docs/vhs/yaml-config.gif differ diff --git a/docs/vhs/yaml-config.tape b/docs/vhs/yaml-config.tape index e89f7d4..8b2fa87 100644 --- a/docs/vhs/yaml-config.tape +++ b/docs/vhs/yaml-config.tape @@ -11,6 +11,10 @@ Type "# StructKit YAML Configuration Demo" Enter Sleep 1s +Type "source .venv/bin/activate" +Enter +Sleep 500ms + Type "# Create a simple project structure configuration" Enter Type "cat > my-project.yaml << EOF" diff --git a/scripts/generate-gifs.sh b/scripts/generate-gifs.sh new file mode 100755 index 0000000..dff864c --- /dev/null +++ b/scripts/generate-gifs.sh @@ -0,0 +1,44 @@ +#!/bin/bash +set -e + +SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +PROJECT_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)" + +cd "$PROJECT_ROOT" + +echo "==> Running VHS tapes..." +for tape in docs/vhs/*.tape; do + echo " Running: $tape" + vhs "$tape" +done + +echo "==> Cleaning up demo artifacts..." + +# Files created by tapes (skip any that are git-tracked) +for f in \ + remote-demo.yaml \ + remote-example.yaml \ + project-with-mapping.yaml \ + team-mapping.yaml \ + company-info.yaml \ + environments.yaml \ + multi-mapping-project.yaml \ + my-project.yaml \ + .vscode/struct-schema.json \ + .vscode/struct-plugins.schema.json; do + git ls-files --error-unmatch "$f" &>/dev/null || rm -f "$f" +done + +# Directories created by tapes +rm -rf \ + remote-project/ \ + remote-demo/ \ + my-python-app/ \ + backend-project/ \ + dev-app/ \ + my-custom-project/ + +# Remove .vscode dir if now empty +[ -d .vscode ] && rmdir --ignore-fail-on-non-empty .vscode + +echo "==> Done! GIFs are in docs/vhs/"