{"name":"VHS: Your CLI Home Video Recorder for Terminal GIFs","description":"VHS, by Charmbracelet, is an innovative command-line tool designed to record terminal sessions and turn them into high-quality GIFs or videos. It enables scripting terminal interactions with a simple .tape file format, making it ideal for creating consistent demos and integration tests for CLI applications. This project simplifies the process of showcasing command-line tools with dynamic, shareable content.","github":"https://github.com/charmbracelet/vhs","url":"https://osrepos.com/repo/charmbracelet-vhs","source":"osrepos.com","sourceDescription":"This repository profile is provided by osrepos.com, an open source repository discovery platform.","repositoryProfile":"https://osrepos.com/repo/charmbracelet-vhs","generatedFor":"open source discovery and AI-assisted research","markdown":"https://osrepos.com/repo/charmbracelet-vhs.md","json":"https://osrepos.com/repo/charmbracelet-vhs.json","topics":["cli","terminal","gif","recording","vhs","Go","developer tools","open source"],"keywords":["cli","terminal","gif","recording","vhs","Go","developer tools","open source"],"stars":null,"summary":"VHS, by Charmbracelet, is an innovative command-line tool designed to record terminal sessions and turn them into high-quality GIFs or videos. It enables scripting terminal interactions with a simple .tape file format, making it ideal for creating consistent demos and integration tests for CLI applications. This project simplifies the process of showcasing command-line tools with dynamic, shareable content.","content":"## Introduction\nVHS, by Charmbracelet, is a unique command-line tool designed to record your terminal sessions and turn them into beautiful GIFs or videos. Described as 'Your CLI home video recorder,' VHS allows developers to script terminal interactions using a simple `.tape` file, ensuring consistent and reproducible demonstrations of CLI tools. It's an essential utility for anyone looking to create engaging visual content for their command-line projects.\n\n## Installation\nBefore installing VHS, ensure you have `ttyd` and `ffmpeg` installed and available on your `PATH`.\nYou can install VHS using various package managers:\n\nsh\n# macOS or Linux\nbrew install vhs\n\n# Arch Linux\npacman -S vhs\n\n# Nix\nnix-env -iA nixpkgs.vhs\n\n# Windows using scoop\nscoop install vhs\n\n\nAlternatively, you can run it via Docker:\nsh\ndocker run --rm -v $PWD:/vhs ghcr.io/charmbracelet/vhs <cassette>.tape\n\n\nOr, install it directly with Go:\nsh\ngo install github.com/charmbracelet/vhs@latest\n\n\nBinaries and packages (Debian, RPM) are also available on the [releases page](https://github.com/charmbracelet/vhs/releases).\n\n## Examples\nCreating a terminal recording with VHS involves writing a `.tape` file. This file contains a sequence of commands that VHS executes in a virtual terminal.\n\nHere's a basic example:\nelixir\nOutput demo.gif\nSet FontSize 46\nSet Width 1200\nSet Height 600\nType \"echo 'Welcome to VHS!'\"\nSleep 500ms\nEnter\nSleep 5s\n\nAfter creating your `demo.tape` file, simply run `vhs demo.tape` to generate `demo.gif`.\n\nVHS also offers features to `record` your terminal actions directly into a `.tape` file and `publish` your generated GIFs to `vhs.charm.sh` for easy sharing.\n\n## Why Use It\nVHS offers several compelling reasons for its adoption. It provides a robust solution for generating consistent and high-quality terminal demos, which is invaluable for documentation, tutorials, and marketing materials. For developers, it serves as an excellent tool for integration testing CLI applications, allowing you to script interactions and verify output against golden files. Its integration with CI pipelines via the [charmbracelet/vhs-action](https://github.com/charmbracelet/vhs-action) ensures that your demos and tests remain up-to-date. Furthermore, the ability to self-host a VHS SSH server allows for remote recording without local dependencies.\n\n## Links\n*   [GitHub Repository](https://github.com/charmbracelet/vhs)\n*   [Go Documentation](https://pkg.go.dev/github.com/charmbracelet/vhs?tab=doc)\n*   [VHS GitHub Action](https://github.com/charmbracelet/vhs-action)\n*   [Charmbracelet Website](https://charm.sh/)","metrics":{"detailViews":4,"githubClicks":4},"dates":{"published":null,"modified":"2026-01-04T08:01:29.000Z"}}