awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
charmbracelet avatar

charmbracelet/vhs

0
View on GitHub↗
18,682 stars·371 forks·Go·mit·10 views

Vhs

This project is a terminal automation and recording tool that uses a custom declarative scripting language to execute command-line sequences. It functions as a framework for both generating animated media files and performing automated terminal output validation. By managing isolated pseudo-terminal sessions, it captures and renders terminal interactions into high-quality GIFs, videos, or static images.

The tool distinguishes itself through its ability to treat terminal sessions as testable, repeatable artifacts. It supports golden-file testing, allowing users to verify command-line behavior against predefined snapshots within automated pipelines. The system also provides extensive visual control, including configurable window decorations, color themes, and font settings, ensuring that recorded sessions maintain a consistent and stylized appearance.

Beyond recording and rendering, the project includes capabilities for process-level privilege sandboxing and remote recording services. It supports complex workflow automation by simulating keyboard input and managing shell environments, while providing error reporting to assist in script development. The software is designed for consistent execution across environments through containerized dependency bundling.

Features

  • Terminal Session Recorders - Captures interactive terminal activity into structured formats for playback and rendering.
  • Terminal Automation - Automates complex terminal workflows and keystroke sequences to generate repeatable demonstrations.
  • Interaction Scripting - Uses a declarative scripting language to define sequences of terminal commands and timing.
  • Output Validation - Validates command-line behavior by comparing terminal output against predefined golden files.
  • Command Line Frameworks - Provides a framework for verifying terminal output against golden files in automated testing environments.
  • Snapshot Testing - Verifies command-line behavior by comparing terminal output against predefined golden file snapshots.
  • Recording Services - Hosts a network server that accepts terminal scripts and returns rendered media files.
  • Command Line Utilities - Automates the validation of command-line output against expected results within continuous integration pipelines.
  • Domain Specific Languages - Provides a declarative scripting language for defining terminal interaction sequences, timing, and visual styling.
  • Scripting Languages - Uses a domain-specific scripting language to define keystrokes, timing, and visual styling for terminal recordings.
  • Infrastructure and Monitoring - Terminal session recording tool.
  • Animation Tools - Uses a scripting language to generate high-quality terminal animations.
  • Audio and Subtitle Tools - Tool for turning terminal sessions into animated GIFs or videos.
  • Go 项目 - Listed in the “Go 项目” section of the Great Open Source Project awesome list.
  • Pseudo-Terminal Interfaces - Manages isolated terminal processes via pseudo-terminal interfaces to capture output and simulate user input.
  • Session Media Renderers - Converts terminal interactions into animated GIFs or videos for visual storytelling.
  • Terminal Customization - Configures visual properties like fonts, themes, and window styles for terminal recordings.
  • Process Sandboxing - Enforces security by dropping user permissions during the execution of scripted terminal commands.
  • Terminal Rendering Engines - Renders captured terminal frames into animated media files with configurable framerate and playback speed.
  • Keyboard Input Automation - Simulates user keystrokes and text entry to automate terminal interactions.
  • Terminal Session Management - Manages isolated shell environments for recording while suppressing local configuration.
  • Terminal Color Schemes - Applies custom color palettes and visual themes to the appearance of recorded terminal sessions.
  • Media Encoding Pipelines - Implements automated pipelines that pipe terminal output into media encoders for video and GIF generation.
  • Privilege Management - Manages process-level permissions to ensure secure execution of terminal commands.

Star history

Star history chart for charmbracelet/vhsStar history chart for charmbracelet/vhs

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Open-source alternatives to Vhs

Similar open-source projects, ranked by how many features they share with Vhs.
  • zellij-org/zellijzellij-org avatar

    zellij-org/zellij

    33,683View on GitHub↗

    Zellij is a terminal multiplexer and workspace manager designed to organize command-line sessions into persistent, reconfigurable layouts. It functions as a terminal plugin framework, allowing users to extend their environment with modular, event-driven components that interact with the host through a structured message-passing protocol. The project distinguishes itself through a layout-engine-based architecture that decouples visual pane arrangements from process execution, enabling automated and repeatable terminal workflows. It includes integrated support for web-based remote access, facil

    Rustmultiplexerterminalworkspace
    View on GitHub↗33,683
  • asciinema/asciinemaasciinema avatar

    asciinema/asciinema

    16,852View on GitHub↗

    Asciinema is a platform for capturing, replaying, and sharing command-line sessions. It provides a comprehensive suite of tools to record terminal activity into lightweight, text-based files that preserve ANSI escape sequences, allowing users to document technical workflows, troubleshooting steps, and software demonstrations with high fidelity. The project distinguishes itself through its versatile playback and distribution capabilities. It features a web-based player that renders interactive terminal sessions directly in the browser, supporting features like seeking, playback speed control,

    Rustasciicastasciinemacli
    View on GitHub↗16,852
  • gnachman/iterm2gnachman avatar

    gnachman/iTerm2

    17,702View on GitHub↗

    iTerm2 is a high-performance terminal emulator designed specifically for macOS. It functions as a programmable environment that supports advanced session management, including tabbed windows, split panes, and persistent state serialization to maintain complex workflows across application restarts. The application distinguishes itself through deep shell integration and extensive automation capabilities. It utilizes a Python-based scripting bridge and a regex-driven trigger engine to allow users to programmatically control the terminal, automate responses to output patterns, and integrate exter

    Objective-C
    View on GitHub↗17,702
  • xtermjs/xterm.jsxtermjs avatar

    xtermjs/xterm.js

    20,795View on GitHub↗

    xterm.js is a high-performance terminal emulator library designed for web applications. It provides a core rendering engine and a modular interface that allows developers to embed fully functional, interactive command-line interfaces directly into browser environments. By processing standard terminal data streams and managing internal buffer states, the library enables the creation of rich, text-based user interfaces that support standard terminal protocols. The project distinguishes itself through a highly extensible architecture that allows for deep customization of terminal behavior. Devel

    TypeScriptconsoledevelopmentjavascript
    View on GitHub↗20,795
See all 30 alternatives to Vhs→

Frequently asked questions

What does charmbracelet/vhs do?

This project is a terminal automation and recording tool that uses a custom declarative scripting language to execute command-line sequences. It functions as a framework for both generating animated media files and performing automated terminal output validation. By managing isolated pseudo-terminal sessions, it captures and renders terminal interactions into high-quality GIFs, videos, or static images.

What are the main features of charmbracelet/vhs?

The main features of charmbracelet/vhs are: Terminal Session Recorders, Terminal Automation, Interaction Scripting, Output Validation, Command Line Frameworks, Snapshot Testing, Recording Services, Command Line Utilities.

What are some open-source alternatives to charmbracelet/vhs?

Open-source alternatives to charmbracelet/vhs include: zellij-org/zellij — Zellij is a terminal multiplexer and workspace manager designed to organize command-line sessions into persistent,… asciinema/asciinema — Asciinema is a platform for capturing, replaying, and sharing command-line sessions. It provides a comprehensive suite… gnachman/iterm2 — iTerm2 is a high-performance terminal emulator designed specifically for macOS. It functions as a programmable… xtermjs/xterm.js — xterm.js is a high-performance terminal emulator library designed for web applications. It provides a core rendering… faressoft/terminalizer — Terminalizer is a command-line utility designed to record, edit, and share terminal sessions. It captures raw input… apache/groovy — Groovy is a JVM programming language and metaprogramming framework that provides a Java compatible environment for…