このプロジェクトについて

VHSは、コードからターミナルGIF(およびその他の動画形式)を生成するツールで、統合テストやCLIツールのデモに向けて設計されています。ユーザーは.tapeファイルに一連のコマンドを記述し、VHSに仮想ターミナル上でテキストの入力、キー押下、画面内容の待機、スリープなどの操作を指示します。出力はGIF、MP4、WebM、またはPNGフレームシーケンスとしてレンダリングできます。 主な機能は以下の通りです。 - テキスト入力、キー押下(Enter、Tab、Backspace、方向キー、Ctrl組み合わせ)、スクロール、正規表現による待機、スリープなどのコマンドを含むTapeファイルスクリプト - フォントファミリーとサイズ、ターミナルサイズ(ピクセルまたは列/行)、文字間隔、行の高さ、テーマ(JSONまたは名前指定)、パディング、マージン、ウィンドウバースタイル、角丸半径、フレームレート、再生速度、ループオフセット、カーソル点滅などの設定 - `vhs record`によるターミナルセッションの直接録画 - vhs.charm.shへのGIF公開と、ブラウザ、HTML、Markdownリンクでの共有 - 組み込みSSHサーバー(`vhs serve`)によるセルフホスティング。リモートアクセス時もホストにインストールされたコマンドでVHSを実行可能 - `Require`による依存関係の宣言。必要なプログラムがない場合に早期失敗 - `Hide`/`Show`コマンドによるフレームキャプチャの一時停止と再開 - `Source`コマンドによる他のtapeファイルからのコマンド読み込み - `Env`による環境変数の設定 - クリップボードのコピー&ペースト対応 - 個別フレームのスクリーンショット機能 VHSの実行には、PATH上にttydとffmpegが必要です。インストールはパッケージマネージャー(brew、pacman、nix、scoop、winget)、Docker、プリビルドバイナリー、または`go install`で行えます。