Sobre o projeto

VHS é uma ferramenta para gerar GIFs de terminal (e outros formatos de vídeo) a partir de código, projetada para testes de integração e demonstração de ferramentas de CLI. Os usuários escrevem arquivos .tape contendo uma série de comandos que instruem o VHS a realizar ações em um terminal virtual, como digitar texto, pressionar teclas, aguardar conteúdo na tela e pausar. A saída pode ser renderizada em GIF, MP4, WebM ou uma sequência de frames PNG. Os principais recursos incluem: - Scripting com arquivos .tape com comandos para digitação, pressionamento de teclas (Enter, Tab, Backspace, setas, combinações com Ctrl), rolagem, espera via regex e pausa. - Configurações de família e tamanho da fonte, dimensões do terminal (pixels ou colunas/linhas), espaçamento entre letras, altura da linha, temas (JSON ou nomeados), padding, margem, estilo da barra de janela, raio da borda, taxa de frames, velocidade de reprodução, deslocamento de loop e piscar do cursor. - Gravação de sessões de terminal diretamente em arquivos .tape com `vhs record`. - Publicação de GIFs no vhs.charm.sh para compartilhamento via navegador, HTML ou links Markdown. - Um servidor SSH embutido (`vhs serve`) para auto-hospedagem, permitindo acesso remoto onde o VHS é executado com comandos instalados no host. - Declaração de dependências via `Require` para falhar antecipadamente se programas necessários estiverem ausentes. - Comandos `Hide`/`Show` para pausar e retomar a captura de frames durante configuração ou limpeza. - Comando `Source` para incluir comandos de outros arquivos .tape. - Definição de variáveis de ambiente com `Env`. - Suporte a copiar e colar da área de transferência. - Capacidade de captura de tela para frames individuais. O VHS requer ttyd e ffmpeg no PATH. Pode ser instalado via gerenciadores de pacotes (brew, pacman, nix, scoop, winget), Docker, binários pré-compilados ou `go install`.