Unixコマンドやプログラミング言語のチートシートを、curl、CLIクライアント、エディタプラグインから利用できます。
charmbracelet/vhs
スクリプト形式の .tape ファイルからターミナルセッションを記録し、デモや統合テスト向けの GIF、動画、ASCII 出力を生成する Go 製 CLI。
- スター
- 21,271
- フォーク
- 492
- 未解決の Issue
- 177
- 最終コミット
- 昨日
これは何?
VHSでは、ターミナルの録画をコードとして扱います。Type、Enter、Sleep、Waitなどのコマンドを記述した .tape ファイルを作成すると、VHSが仮想ターミナル上で再生し、GIF、MP4、WebM、PNGシーケンス、テキスト/ASCIIのゴールデンファイルとして出力します。フォントの種類とサイズ、ウィンドウのサイズまたは列数・行数、テーマ、パディング、マージン、ウィンドウバー、再生速度を設定できます。
入力が決定的なテキストなので、CLIに変更を加えるたびに同じテープを再実行すれば、デモを最新の状態に保てます。テキスト出力はgitにコミットして差分を確認でき、統合テストのゴールデンファイルとして利用できます。VHSには、実際のセッションからテープを生成するrecordサブコマンド、GIFを共有するpublishコマンド、リモートホストでテープを実行するオプションのSSHサーバーモードもあります。
VHSを利用するには、ttydとffmpegをPATH上にインストールしておく必要があります。Homebrew、Scoop、Nix、Docker、Go、Linux向けパッケージからインストールできます。
主な機能
- 01シンプルな .tape コマンド言語でターミナルセッションをスクリプト化します。
- 02GIF、MP4、WebM、PNGフレームシーケンス、テキスト/ASCIIファイルを出力します。
- 03フォント、ウィンドウサイズ、テーマ、パディング、マージン、ウィンドウバーをカスタマイズできます。
- 04実際のターミナルセッションからテープファイルを記録します。
- 05統合テストで差分を確認できるASCIIゴールデンファイルを生成します。
- 06SSHサーバーとして動作し、リモートホストでテープを実行します。
ユースケース
- CIでREADMEのデモGIFを再生成し、最新の状態に保つ。
- テキスト出力とゴールデンファイルの差分を確認して、CLIを統合テストする。
- ドキュメントやチュートリアル向けに、ターミナル操作を再現可能なスクリーンキャストとして作成する。
クイックスタート
- 1
VHS が PATH 上で必要とする ttyd と ffmpeg をインストールします
- 2
macOS または Linux では Homebrew を使って VHS をインストールします
brew install vhs - 3
新しい tape ファイルを作成します
vhs new demo.tape - 4
tape ファイルから GIF を生成します
vhs demo.tape
使う前に知っておきたいこと
- ttyd と ffmpeg は別途インストールし、PATH から利用できるようにする必要があります。
収録されている特集
トピック
よくある質問
- vhs とは?
- スクリプト形式の .tape ファイルからターミナルセッションを記録し、デモや統合テスト向けの GIF、動画、ASCII 出力を生成する Go 製 CLI。 VHSでは、ターミナルの録画をコードとして扱います。Type、Enter、Sleep、Waitなどのコマンドを記述した .tape ファイルを作成すると、VHSが仮想ターミナル上で再生し、GIF、MP4、WebM、PNGシーケンス、テキスト/ASCIIのゴールデンファイルとして出力します。フォントの種類とサイズ、ウィンドウのサイズまたは列数・行数、テーマ、パディング、マージン、ウィンドウバー、再生速度を設定できます。
- vhs は無料で使えますか?ライセンスは?
- vhs は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- vhs は今もメンテナンスされていますか?
- 活発にメンテナンス中。vhs の最終コミットは 2026年11月6日 です。
- vhs は何に使えますか?
- CIでREADMEのデモGIFを再生成し、最新の状態に保つ。 テキスト出力とゴールデンファイルの差分を確認して、CLIを統合テストする。 ドキュメントやチュートリアル向けに、ターミナル操作を再現可能なスクリーンキャストとして作成する。
- vhs のインストール方法は?
- VHS が PATH 上で必要とする ttyd と ffmpeg をインストールします macOS または Linux では Homebrew を使って VHS をインストールします: brew install vhs 新しい tape ファイルを作成します: vhs new demo.tape tape ファイルから GIF を生成します: vhs demo.tape
- vhs はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/charmbracelet/vhs
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
Cで書かれたターミナル用星図。星、惑星、星座、月のリアルタイムの位置をASCIIアートで表示します。
動画ではなく軽量なasciicastファイルに、ターミナルセッションを記録、ライブ配信、再生できるコマンドラインツール。
外部依存なしで、関数型のコンポーネント駆動スタイルを使ったターミナルUIを構築できる、ヘッダー形式のC++ライブラリです。
シェルがアイドル状態になると起動し、アニメーションを表示するGo製ターミナルスクリーンセーバー。