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`.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.