Skip to content

Add tutorial panel with click-to-paste commands alongside the emulator #526

@cnuthalapati

Description

@cnuthalapati

Context

We'd like to contribute an improvement to the Try Valkey page. Our team has a few PMs who want to submit PRs for this.

Problem

The /try-valkey/ page loads a fully functional Valkey CLI, but offers no guidance on what to type. First-time users land on a blank prompt with no direction. The PyCon Africa workshop variant has the same gap (instructions live in an external slide deck).

Proposal

Add a collapsible sidebar panel next to the terminal with grouped, clickable example commands. Clicking a command pastes it directly into the terminal via xterm.js keystroke injection.

Example layout:

Getting Started
  SET hello "world"          [click to paste]
  GET hello                  [click to paste]
  DEL hello                  [click to paste]

Data Structures
  LPUSH mylist "a" "b" "c"   [click to paste]
  LRANGE mylist 0 -1         [click to paste]
  HSET user:1 name "alice"   [click to paste]
  HGETALL user:1             [click to paste]

Expiration
  SET session "abc" EX 10    [click to paste]
  TTL session                [click to paste]

Each command has a one-line explanation. Panel is collapsible so it doesn't crowd the terminal on small screens.

Implementation

  • ~80 lines of HTML/CSS for the panel structure
  • ~20 lines of JS to inject keystrokes into the xterm.js instance on click
  • Added to templates/valkey-try-me.html
  • Panel content could be driven by frontmatter or a data file so each variant (main, workshop, future cookbooks) can define its own commands

Why this matters

  • Reduces time-to-value for first-time users
  • Makes the try-valkey page self-contained (no external docs needed)
  • Enables future cookbook variants to plug in different content

Would you be open to accepting a PR for this approach?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions