Skip to content

Commit 7a227a4

Browse files
committed
feat: improve VHS demos and add documentation page
- Remove problematic Hide/Show/clear commands from tape files - Simplify quick-start demo (remove lengthy --help output) - Add dedicated demos page to mdBook documentation - Successfully generate profile-management.gif - Clean up directory structure and test files
1 parent 606e8c4 commit 7a227a4

File tree

8 files changed

+117
-111
lines changed

8 files changed

+117
-111
lines changed

docs/src/SUMMARY.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
# Summary
22

33
[Introduction](./introduction.md)
4+
[Live Demos](./demos.md)
45

56
# Getting Started
67

docs/src/demos.md

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
# Live Demos
2+
3+
These animated demonstrations show redisctl in action, highlighting key features and common workflows.
4+
5+
## Quick Start
6+
Get up and running with redisctl in seconds.
7+
8+
![Quick Start Demo](../../vhs/img/quick-start.gif)
9+
10+
## Profile Management
11+
Manage authentication profiles for multiple Redis deployments.
12+
13+
![Profile Management Demo](../../vhs/img/profile-management.gif)
14+
15+
## Redis Enterprise Operations
16+
Working with Redis Enterprise clusters through the REST API.
17+
18+
![Redis Enterprise Demo](../../vhs/img/enterprise-demo.gif)
19+
20+
## Redis Cloud Management
21+
Managing Redis Cloud subscriptions, databases, and resources.
22+
23+
![Redis Cloud Demo](../../vhs/img/cloud-demo.gif)
24+
25+
## Async Operations
26+
Track long-running operations with progress indicators and customizable timeouts.
27+
28+
![Async Operations Demo](../../vhs/img/async-operations.gif)
29+
30+
## Creating Your Own Demos
31+
32+
The demos above were created using [VHS](https://github.com/charmbracelet/vhs), a tool for creating terminal GIFs from scripts.
33+
34+
### Installation
35+
```bash
36+
# macOS
37+
brew install vhs
38+
39+
# Linux/Windows
40+
# See https://github.com/charmbracelet/vhs/releases
41+
```
42+
43+
### Generating Demos
44+
```bash
45+
# Generate all demos
46+
./vhs/generate-demos.sh
47+
48+
# Generate a specific demo
49+
cd vhs
50+
vhs profile-management.tape
51+
```
52+
53+
### Creating Custom Demos
54+
Create a `.tape` file with your commands:
55+
56+
```tape
57+
# my-demo.tape
58+
Output my-demo.gif
59+
Set FontSize 16
60+
Set Theme "Dracula"
61+
62+
Type "redisctl --version"
63+
Enter
64+
Sleep 2s
65+
```
66+
67+
Then generate the GIF:
68+
```bash
69+
vhs my-demo.tape
70+
```
71+
72+
See the [VHS documentation](https://github.com/charmbracelet/vhs) for more customization options.

vhs/async-operations.tape

Lines changed: 7 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Async Operations Demo - Tracking long-running operations
22

3-
Output img/async-operations.gif
3+
Output imgimg/async-operations.gif
44
Set FontSize 16
55
Set Width 1200
66
Set Height 700
@@ -9,11 +9,6 @@ Set Padding 20
99
Set TypingSpeed 40ms
1010
Set LineHeight 1.3
1111

12-
Hide
13-
Type "clear"
14-
Enter
15-
Show
16-
1712
Type "# Async Operations with redisctl"
1813
Enter
1914
Sleep 1s
@@ -26,9 +21,9 @@ Enter
2621

2722
Type "# Create a database and wait for completion"
2823
Enter
29-
Type 'redisctl cloud database create --subscription-id 12345 \\'
24+
Type 'redisctl cloud database create --subscription-id 12345 \'
3025
Enter
31-
Type ' --data \'{"name":"production-cache","memoryLimitInGb":2}\' \\'
26+
Type ' --data \'{"name":"production-cache","memoryLimitInGb":2}\' \'
3227
Enter
3328
Type ' --wait'
3429
Enter
@@ -52,9 +47,9 @@ Enter
5247

5348
Type "# Custom timeout and polling interval"
5449
Enter
55-
Type 'redisctl enterprise database update 1 \\'
50+
Type 'redisctl enterprise database update 1 \'
5651
Enter
57-
Type ' --data \'{"memory_size":2147483648}\' \\'
52+
Type ' --data \'{"memory_size":2147483648}\' \'
5853
Enter
5954
Type ' --wait --wait-timeout 600 --wait-interval 5'
6055
Enter
@@ -88,9 +83,9 @@ Enter
8883

8984
Type "# Network connectivity operations also support async"
9085
Enter
91-
Type 'redisctl cloud peering create --subscription-id 12345 \\'
86+
Type 'redisctl cloud peering create --subscription-id 12345 \'
9287
Enter
93-
Type ' --data \'{"provider":"AWS","region":"us-east-1"}\' \\'
88+
Type ' --data \'{"provider":"AWS","region":"us-east-1"}\' \'
9489
Enter
9590
Type ' --wait'
9691
Enter
@@ -104,30 +99,3 @@ Backspace 39
10499
Type "# ✓ VPC peering created (id: vpc-12345)"
105100
Enter
106101
Sleep 2s
107-
Enter
108-
109-
Type "# Backup operations with progress"
110-
Enter
111-
Type 'redisctl enterprise database backup 1 \\'
112-
Enter
113-
Type ' --location "s3://backups/redis/" \\'
114-
Enter
115-
Type ' --wait'
116-
Enter
117-
Sleep 500ms
118-
Type "# ⠴ Creating backup..."
119-
Sleep 500ms
120-
Backspace 21
121-
Type "# ⠦ Creating backup..."
122-
Sleep 500ms
123-
Backspace 21
124-
Type "# ✓ Backup completed successfully"
125-
Enter
126-
Sleep 2s
127-
128-
Hide
129-
Type "clear"
130-
Enter
131-
Show
132-
133-
Sleep 500ms

vhs/cloud-demo.tape

Lines changed: 7 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Redis Cloud Demo - Managing Redis Cloud resources
22

3-
Output img/cloud-demo.gif
3+
Output imgimg/cloud-demo.gif
44
Set FontSize 16
55
Set Width 1200
66
Set Height 700
@@ -9,21 +9,17 @@ Set Padding 20
99
Set TypingSpeed 40ms
1010
Set LineHeight 1.3
1111

12-
Hide
13-
Type "clear"
12+
Type "# Redis Cloud Management with redisctl"
13+
Enter
14+
Sleep 1s
1415
Enter
16+
1517
Type "# Using mock API credentials for demo"
1618
Enter
1719
Type "export REDIS_CLOUD_API_KEY='demo-key-123'"
1820
Enter
1921
Type "export REDIS_CLOUD_SECRET_KEY='demo-secret-456'"
2022
Enter
21-
Type "clear"
22-
Enter
23-
Show
24-
25-
Type "# Redis Cloud Management with redisctl"
26-
Enter
2723
Sleep 1s
2824
Enter
2925

@@ -57,9 +53,9 @@ Enter
5753

5854
Type "# Create a new database with async tracking"
5955
Enter
60-
Type 'redisctl cloud database create --subscription-id 12345 \\'
56+
Type 'redisctl cloud database create --subscription-id 12345 \'
6157
Enter
62-
Type ' --data \'{"name":"api-cache","memoryLimitInGb":1,"datasetSizeInGb":1}\' \\'
58+
Type ' --data \'{"name":"api-cache","memoryLimitInGb":1,"datasetSizeInGb":1}\' \'
6359
Enter
6460
Type ' --wait --wait-timeout 300'
6561
Enter
@@ -85,10 +81,3 @@ Enter
8581
Type "redisctl api cloud get /subscriptions -q 'subscriptions[0].name'"
8682
Enter
8783
Sleep 2s
88-
89-
Hide
90-
Type "clear"
91-
Enter
92-
Show
93-
94-
Sleep 500ms

vhs/enterprise-demo.tape

Lines changed: 9 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Redis Enterprise Demo - Working with Redis Enterprise clusters
22

3-
Output img/enterprise-demo.gif
3+
Output imgimg/enterprise-demo.gif
44
Set FontSize 16
55
Set Width 1200
66
Set Height 700
@@ -9,8 +9,12 @@ Set Padding 20
99
Set TypingSpeed 40ms
1010
Set LineHeight 1.3
1111

12-
Hide
13-
Type "clear"
12+
Type "# Redis Enterprise Management with redisctl"
13+
Enter
14+
Sleep 1s
15+
Enter
16+
17+
Type "# Setting up environment variables"
1418
Enter
1519
Type "export REDIS_ENTERPRISE_URL='https://localhost:9443'"
1620
Enter
@@ -20,12 +24,6 @@ Type "export REDIS_ENTERPRISE_PASSWORD='Redis123!'"
2024
Enter
2125
Type "export REDIS_ENTERPRISE_INSECURE='true'"
2226
Enter
23-
Type "clear"
24-
Enter
25-
Show
26-
27-
Type "# Redis Enterprise Management with redisctl"
28-
Enter
2927
Sleep 1s
3028
Enter
3129

@@ -59,9 +57,9 @@ Enter
5957

6058
Type "# Create a new database"
6159
Enter
62-
Type 'redisctl enterprise database create \\'
60+
Type 'redisctl enterprise database create \'
6361
Enter
64-
Type ' --data \'{"name":"demo-db","memory_size":1073741824,"type":"redis"}\' \\'
62+
Type ' --data \'{"name":"demo-db","memory_size":1073741824,"type":"redis"}\' \'
6563
Enter
6664
Type ' --wait'
6765
Enter
@@ -87,10 +85,3 @@ Enter
8785
Type "redisctl api enterprise get /v1/cluster -q 'name'"
8886
Enter
8987
Sleep 2s
90-
91-
Hide
92-
Type "clear"
93-
Enter
94-
Show
95-
96-
Sleep 500ms

vhs/img/profile-management.gif

2.58 MB
Loading

vhs/profile-management.tape

Lines changed: 8 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,6 @@ Set Padding 20
99
Set TypingSpeed 45ms
1010
Set LineHeight 1.3
1111

12-
Hide
13-
Type "clear"
14-
Enter
15-
Show
16-
1712
Type "# Profile Management with redisctl"
1813
Enter
1914
Sleep 1s
@@ -28,11 +23,11 @@ Enter
2823

2924
Type "# Add a Redis Cloud profile with environment variables"
3025
Enter
31-
Type 'redisctl profile set cloud-prod \\'
26+
Type 'redisctl profile set cloud-prod \'
3227
Enter
33-
Type ' --deployment-type cloud \\'
28+
Type ' --deployment-type cloud \'
3429
Enter
35-
Type ' --api-key "${REDIS_CLOUD_KEY}" \\'
30+
Type ' --api-key "${REDIS_CLOUD_KEY}" \'
3631
Enter
3732
Type ' --api-secret "${REDIS_CLOUD_SECRET}"'
3833
Enter
@@ -41,15 +36,15 @@ Enter
4136

4237
Type "# Add a Redis Enterprise profile for local testing"
4338
Enter
44-
Type 'redisctl profile set enterprise-local \\'
39+
Type 'redisctl profile set enterprise-local \'
4540
Enter
46-
Type ' --deployment-type enterprise \\'
41+
Type ' --deployment-type enterprise \'
4742
Enter
48-
Type ' --url "https://localhost:9443" \\'
43+
Type ' --url "https://localhost:9443" \'
4944
Enter
50-
Type ' --username "[email protected]" \\'
45+
Type ' --username "[email protected]" \'
5146
Enter
52-
Type ' --password "Redis123!" \\'
47+
Type ' --password "Redis123!" \'
5348
Enter
5449
Type ' --insecure'
5550
Enter
@@ -82,10 +77,3 @@ Enter
8277
Type "redisctl profile remove cloud-dev"
8378
Enter
8479
Sleep 1.5s
85-
86-
Hide
87-
Type "clear"
88-
Enter
89-
Show
90-
91-
Sleep 500ms

0 commit comments

Comments
 (0)