Ir para o conteúdo
Promovaweb
Projeto open source da Promovaweb

Como funciona o SetupVibe

Um comando prepara a sua máquina

O SetupVibe transforma a preparação de uma máquina de desenvolvimento em um comando. Ele instala e configura o shell, as linguagens, os containers e os CLIs de agentes de IA por scripts públicos, que você lê antes de executar.

  • Edição Desktop do SetupVibe, para macOS, Linux e WSL2
  • Edição Windows do SetupVibe, para Windows 11, versão Beta
  • Edição Server do SetupVibe, para Servidores de produção
  • Edição Omarchy do SetupVibe, para Omarchy 4 em x86_64

Por que o SetupVibe existe

Toda máquina nova pede o mesmo trabalho. Você instala linguagem por linguagem, ajusta o terminal, procura o pacote certo de cada agente de IA e acerta o PATH. No meio do projeto, descobre que faltou uma dependência.

O SetupVibe reúne essa configuração em scripts. O ambiente que funcionou numa máquina passa a ser instalado do mesmo jeito na próxima, com um comando.

Sem o SetupVibe

  • Cada linguagem instalada por um caminho diferente.
  • O terminal ajustado à mão, máquina por máquina.
  • Cada agente de IA com o próprio pacote e o próprio ajuste no PATH.
  • Uma dependência faltando, descoberta no meio do projeto.

Com o SetupVibe

  • Um comando para a edição do seu sistema.
  • No Desktop, 14 etapas numeradas na tela, do sistema base aos agentes de IA.
  • Os CLIs de IA instalados na mesma etapa, prontos para o seu login.
  • Um resumo no fim, com o que ficou pronto.

Para que serve

O SetupVibe prepara a camada anterior ao projeto: o shell e as ferramentas locais compatíveis com o seu sistema. Os arquivos de cada projeto continuam responsáveis por declarar versões, dependências, testes e comandos.

O que ele prepara

O Zsh com Starship e aliases, as linguagens e os runtimes, o Docker, o tmux, o Herdr, os utilitários modernos do terminal e os CLIs de IA, conforme a edição. A lista completa está na página de ferramentas.

O que ele não é

O SetupVibe não é uma plataforma hospedada, uma imagem imutável nem uma camada de segurança. O script altera a sua máquina. Você revisa o código, preserva as próprias configurações e confere o resultado.

O que você ganha

O tempo que iria para a configuração volta para o projeto.

  1. Uma máquina pronta em um comando

    Você copia o comando da edição, cola no terminal e acompanha. No Desktop, quando o script termina, Node.js, PHP, Python, Docker, Claude Code e Codex já respondem no terminal.

  2. Agentes de IA prontos para trabalhar

    O Desktop instala Claude Code, Codex, GitHub Copilot CLI, OpenCode e Kimi Code na mesma etapa. Na primeira execução, cada um pede o seu login. O Herdr deixa os agentes em painéis lado a lado, mesmo depois que você fecha o terminal.

  3. Uma falha não derruba o resto

    Se uma etapa falhar, o SetupVibe marca o erro e segue com as outras. Você não perde o que já foi instalado. O resumo final mostra o que precisa da sua atenção.

  4. Código aberto para ler antes

    Cada edição é um script público no GitHub, sob a licença GPL-3.0. Você confere os pacotes, os arquivos e os serviços que ele altera antes de executar.

Do comando ao terminal pronto

O uso tem três momentos. Você escolhe a edição e executa o comando. O script trabalha enquanto você acompanha. No fim, o terminal novo já está pronto para o seu projeto.

  1. Escolha a edição e execute

    O Desktop atende macOS, Linux, WSL2 e a VPS onde você programa. Copie o comando da sua edição, cole no terminal e confirme com Enter. Se você personalizou o ~/.zshrc, guarde uma cópia antes. O SetupVibe troca esse arquivo pela configuração dele.

  2. Acompanhe as etapas

    Cada etapa aparece numerada na tela. Se uma delas falhar, o SetupVibe marca o erro e segue com as outras. No fim, um resumo mostra o que ficou pronto.

  3. Abra o terminal novo

    Depois do resumo, o comando exec zsh carrega o terminal novo, com o prompt mostrando a pasta e a branch do Git. Agora é abrir o seu projeto.

$ curl -sSL desktop.setupvibe.dev | bashSetupVibe Desktop - Installation Roadmap:  [1/14] Base System & Build Tools  [2/14] Homebrew (Package Manager)  [3/14] PHP 8.5 Ecosystem (Laravel)  [4/14] Ruby 3.4.10 Ecosystem (Rails)  [5/14] Languages (Go, Rust, Python + uv + qrcode)  [6/14] JavaScript (Node, Bun, PNPM)  [7/14] DevOps (Docker, Ansible, GH)  [8/14] Modern Unix Tools (Via Brew)  [9/14] Network, Monitoring & Tailscale  [10/14] SSH Server (Linux Only)  [11/14] Shell (ZSH & Starship Config)  [12/14] Tmux & Plugins  [13/14] AI CLI Tools  [14/14] Finalization & Cleanup--------------------------------------------------------  ➜ Press [ENTER] to start SetupVibe Desktop.  ➜ Type 'q' + ENTER to cancel.--------------------------------------------------------▶ [1/14] Base System & Build Tools▶ [2/14] Homebrew (Package Manager)✔ Homebrew is ready.▶ [3/14] PHP 8.5 Ecosystem (Laravel)▶ [4/14] Ruby 3.4.10 Ecosystem (Rails)▶ [5/14] Languages (Go, Rust, Python + uv + qrcode)▶ [6/14] JavaScript (Node, Bun, PNPM)▶ [7/14] DevOps (Docker, Ansible, GH)▶ [8/14] Modern Unix Tools (Via Brew)▶ [9/14] Network, Monitoring & Tailscale▶ [10/14] SSH Server (Linux Only)✔ SSH Server configured and running▶ [11/14] Shell (ZSH & Starship Config)✔ Downloaded: ~/.zshrc▶ [12/14] Tmux & Plugins▶ [13/14] AI CLI Tools✔ Herdr installed and validated.✔ Antigravity CLI installed and validated.▶ [14/14] Finalization & Cleanup✔ PM2 configured for auto-startup        SETUPVIBE DESKTOP - INSTALLATION SUMMARY          [1] Base System & Build Tools ... ✔ OK  [2] Homebrew (Package Manager) ... ✔ OK  [3] PHP 8.5 Ecosystem (Laravel) ... ✔ OK  [4] Ruby 3.4.10 Ecosystem (Rails) ... ✔ OK  [5] Languages (Go, Rust, Python + uv + qrcode) ... ✔ OK  [6] JavaScript (Node, Bun, PNPM) ... ✔ OK  [7] DevOps (Docker, Ansible, GH) ... ✔ OK  [8] Modern Unix Tools (Via Brew) ... ✔ OK  [9] Network, Monitoring & Tailscale ... ✔ OK  [10] SSH Server (Linux Only) ... ✔ OK  [11] Shell (ZSH & Starship Config) ... ✔ OK  [12] Tmux & Plugins ... ✔ OK  [13] AI CLI Tools ... ✔ OK  [14] Finalization & Cleanup ... ✔ OKSetupVibe Desktop Completed Successfully!Reload ZSH now:   exec zsh$ exec zsh

Uma edição para cada papel da máquina

A edição segue o papel da máquina. Se ela serve para programar, use o Desktop, mesmo numa VPS onde você faz Vibe Coding ou deixa agentes de IA trabalhando. Se ela roda aplicações em produção, use o Server. No Windows 11, use a edição Windows. No Omarchy 4, a edição Omarchy acrescenta só o que falta ao sistema.

As 14 etapas do Desktop

O desktop.sh executa 14 etapas, nesta ordem, no macOS, no Linux e no WSL. Na reexecução, cada componente segue a própria rotina: alguns são atualizados, outros são mantidos ou substituídos. Encerre as suas sessões tmux antes de executar, pois a etapa 12 encerra os processos tmux.

  1. Etapa 1: Sistema base e ferramentas de compilação

    A primeira etapa prepara o que as linguagens vão precisar para compilar extensões nativas, como as do PHP e as gems do Ruby.

    Compiladores antes das linguagens

    No Linux, a etapa instala build-essential e bibliotecas de desenvolvimento como libssl-dev, libreadline-dev e libyaml-dev. Esses pacotes ficam disponíveis para as etapas seguintes.

    Pacotes APT e Xcode

    No Linux, entram build-essential, git, wget, unzip, curl, fontconfig e sshpass, além de outros pacotes da base. A etapa também adiciona o repositório APT da Charm. O glow da etapa 8 usa Homebrew. No macOS, você precisa das Xcode Command Line Tools antes de executar o script.

  2. Etapa 2: Homebrew

    O Desktop usa Homebrew no macOS e no Linux. Você encontra a mesma lista de utilitários na etapa 8, mas as fórmulas não têm versões fixadas pelo SetupVibe.

    Ferramentas fora do sistema

    No Linux, o script procura Homebrew em /home/linuxbrew/.linuxbrew e em ~/.linuxbrew. A configuração Zsh carrega o ambiente do caminho encontrado.

    Caminho do Homebrew no Linux

    A instalação nova no Linux prepara /home/linuxbrew/.linuxbrew. Nesse sistema, a etapa executa brew update e brew upgrade. No macOS, executa brew update e instala a base, que inclui openssl, readline, sqlite3, ffmpeg e imagemagick.

  3. Etapa 3: PHP, Composer e Laravel

    No Linux, o script solicita PHP 8.5: usa o PPA de Ondřej Surý no Ubuntu e o repositório Sury no Debian. No macOS, instala php pelo Homebrew sem fixar versão.

    Extensões para aplicações Laravel

    No Linux, há uma lista principal de extensões e outra opcional. A ausência de uma extensão opcional gera aviso. No macOS, o script tenta instalar redis, xdebug e imagick pelo PECL, além da fórmula php.

    Extensões e Composer

    • No Linux, a lista principal inclui curl, mbstring, xml, bcmath, mysql, pgsql e sqlite3.
    • As opcionais do Linux são zip, intl, gd, imagick, redis, mongodb, yaml e xdebug.
    • Uma instalação nova do Composer no Linux vai para ~/.local/bin/composer. Um executável já encontrado pode ser atualizado no caminho existente. No macOS, o fluxo instala Composer por Homebrew quando necessário.
    • Os dois sistemas executam composer global require laravel/installer.
  4. Etapa 4: Ruby 3.4.10 com rbenv

    O SetupVibe não altera o Ruby do sistema. Ele instala o rbenv, que mantém versões do Ruby na sua pasta de usuário, sem sudo para instalar gems.

    Conferência da versão Ruby

    O script confere se Ruby 3.4.10 já existe no rbenv. Se a versão estiver ausente, ele a compila e executa rbenv global para selecioná-la. Depois, instala Bundler e Rails.

    Versão, ruby-build e gems

    O Desktop instala rbenv e ruby-build. A seleção global de Ruby 3.4.10 ocorre no ramo que instala a versão ausente. Você deve conferir a versão ativa após a execução.

  5. Etapa 5: Python, uv, Go e Rust

    A etapa instala Python, uv, Go e Rust. Ela também instala o pacote qrcode para o usuário e o Cronboard, por Homebrew no macOS ou uv no Linux.

    Ferramentas que dependem dessas linguagens

    Parte das ferramentas das etapas seguintes vem do Rust e do uv. O Cronboard, por exemplo, é instalado pelo uv no Linux.

    Python, Go e Rust por sistema

    • Python: 3.14 pelo Homebrew no macOS e o python3 do sistema no Linux, com o uv nos dois.
    • Go: 1.26.5 em ~/.local/go no Linux e a versão atual do Homebrew no macOS.
    • Rust: rustup com cargo e rustc.
  6. Etapa 6: Node.js 24, Bun, pnpm e PM2

    O Node.js 24 roda as ferramentas JavaScript e os CLIs de IA instalados pelo npm. O Bun entra como runtime e gerenciador de pacotes alternativo.

    Processos em segundo plano

    O PM2 é instalado globalmente pelo npm nesta etapa. A configuração de startup e o início do Agentlytics acontecem na etapa 14. Você pode consultar esse fluxo no guia do PM2.

    Node.js, Bun, pnpm e PM2

    • Node.js 24 pelo Homebrew no macOS e pelo repositório NodeSource no Linux.
    • Bun pelo script oficial.
    • pnpm, a versão mais recente do npm e o pm2, instalados pelo npm.
  7. Etapa 7: Docker, Ansible, GitHub CLI e Portainer

    No macOS, a etapa instala o Docker Desktop pelo Homebrew. No Linux, instala o Docker Engine do repositório oficial, com os plugins Compose e Buildx.

    Serviços em containers

    O script grava ~/.setupvibe/portainer-compose.yml. Se o Docker estiver disponível, tenta iniciar o Portainer. Caso contrário, deixa o arquivo preparado e mostra o comando para você iniciar depois.

    Docker, Ansible e gh

    No Linux, a etapa instala Docker CE com Compose e Buildx, Ansible pelo PPA no Ubuntu ou ansible-core no Debian, além de gh pelo repositório APT oficial. No macOS, usa Homebrew para Docker Desktop, Ansible e gh. O compose do Portainer usa a imagem portainer/portainer-ce:lts.

  8. Etapa 8: Utilitários modernos do terminal

    Os utilitários vêm do Homebrew nas duas plataformas e ficam ao lado dos comandos clássicos, sem substituí-los. A página Modern Unix explica cada um.

    Leitura e busca no dia a dia

    A lista inclui bat, eza, ripgrep e fd. Nenhum alias direto dos arquivos Zsh substitui ls, cat, grep ou find por esses programas. Você pode conferir os aliases na página de atalhos.

    Ferramentas instaladas

    bat, eza, zoxide, fzf, ripgrep, fd, lazygit, lazydocker, neovim, glow, tlrc, fastfetch, duf, jq e mise.

  9. Etapa 9: Rede, monitoramento e Tailscale

    Esta etapa reúne ferramentas para ver o consumo de CPU, memória e rede e para diagnosticar conexões.

    Diagnóstico de rede e de processos

    No macOS, a etapa usa Homebrew para parte das ferramentas e Cargo para bandwhich, gping, trippy e rustscan. No Linux, combina APT, Cargo e o download do binário ctop.

    Monitoramento, rede e Tailscale

    A lista inclui htop, btop, glances, ctop, nmap, mtr, speedtest-cli, bandwhich, gping, trippy e rustscan. Tailscale usa o cask tailscale-app no macOS. No Linux, usa o script oficial e habilita tailscaled com systemd.

  10. Etapa 10: Servidor SSH (somente Linux)

    No Linux e no WSL, a etapa instala o OpenSSH Server e ativa o serviço. No macOS, o SSH não é configurado pelo script.

    Acesso remoto à máquina

    A etapa grava PermitRootLogin prohibit-password e PasswordAuthentication yes no drop-in do SSH. Você deve conferir a política efetiva junto dos outros arquivos de configuração da máquina.

    Configuração do sshd

    O script preserva uma cópia inicial em /etc/ssh/sshd_config.backup e grava /etc/ssh/sshd_config.d/99-setupvibe.conf. Se sshd -t falhar, restaura o arquivo principal e tenta reiniciar o serviço. O drop-in criado permanece no disco, portanto essa rotina não restaura toda a configuração anterior.

  11. Etapa 11: Zsh, Starship e fontes

    No Linux, a etapa instala Zsh e altera o shell quando necessário. No macOS, usa o Zsh existente. Nos dois, configura Oh My Zsh, Starship e fontes.

    Arquivo do prompt

    O preset Gruvbox Rainbow é gravado em ~/.config/starship.toml. Você pode revisar esse arquivo antes de personalizar o prompt.

    Prompt, plugins e fontes

    O Oh My Zsh recebe zsh-autosuggestions e zsh-syntax-highlighting. O Starship usa Gruvbox Rainbow com ajustes nos separadores.

    No Linux Desktop, o instalador baixa FiraCode e JetBrains Mono Nerd Fonts 3.4.0. No macOS, ele usa os casks do Homebrew, sem fixar a versão das fontes. Você seleciona a fonte nas preferências do seu terminal.

  12. Etapa 12: Tmux e plugins

    A etapa instala TPM em ~/.tmux/plugins/tpm e baixa tmux-desktop.conf para ~/.tmux.conf. Os outros plugins são declarados no arquivo. Você precisa instalá-los pelo TPM antes de usar seus recursos.

    Sessões existentes

    Ao final da etapa, o Desktop executa pkill -x tmux para aplicar a configuração em sessões novas. Encerre seu trabalho nessas sessões antes de executar o instalador.

    TPM e arquivo de configuração

    Resurrect e Continuum ficam declarados em ~/.tmux.conf. As opções habilitam a captura do conteúdo dos painéis, a restauração e o intervalo de 10 minutos. Elas só têm efeito com os plugins instalados e carregados.

  13. Etapa 13: CLIs de IA, Herdr e Antigravity

    A etapa instala pelo npm os CLIs de IA e o Agentlytics, além do Herdr e do Antigravity CLI.

    Agentes no terminal

    A etapa instala o conjunto npm e confere os comandos. Para Agentlytics, valida o binding SQLite. Herdr e Antigravity são instalados por funções próprias. Você configura o acesso aos CLIs depois da instalação.

    CLIs, Herdr e Antigravity

    • Claude Code, Codex, GitHub Copilot CLI, OpenCode, Kimi Code, skills e Agentlytics.
    • Herdr em ~/.local/bin/herdr, conferido com herdr --version.
    • Antigravity CLI.
    • specify-cli, pelo uv.
  14. Etapa 14: Limpeza e PM2

    A etapa limpa pacotes, caches e arquivos temporários. Depois, configura o PM2 e inicia o app do arquivo ecosystem. Você deve revisar os caminhos removidos antes de executar o script.

    O que a limpeza remove

    No Linux, a limpeza remove /tmp/*.tar.gz e /tmp/*.zip, além de caminhos temporários e caches listados no script. Também tenta journalctl --vacuum-time=7d e tolera falha desse comando. Isso não garante a remoção de todos os logs do sistema anteriores a sete dias.

    Limpeza e PM2

    No macOS, o script executa brew cleanup --prune=all e remove os caminhos temporários listados. No Linux, executa apt-get autoremove, autoclean e clean, além da limpeza de caches.

    No Linux e no WSL com systemd ativo, o Desktop configura o serviço pm2-<usuário>. No macOS, cria o LaunchAgent pm2.<usuário> na sessão gráfica. No macOS, você precisa entrar nessa sessão para carregar o LaunchAgent após reiniciar a máquina.

    O arquivo ~/ecosystem.config.js contém Agentlytics. Os aliases ficam nos arquivos Zsh. Você pode consultar as diferenças por sistema na página de atalhos.

Desenvolvimento com IA na Promovaweb

Preparar o ambiente é uma etapa do desenvolvimento. No Plano IA Makers, você aprende a especificar, construir, revisar e publicar sistemas e agentes com apoio de IA. A Formação Vibe Coding está incluída no plano. Consulte a página para conhecer o conteúdo e as condições de acesso.

Conhecer o Plano IA Makers

Prefere avançar no seu projeto com orientação ao vivo? Veja o Desenvolvimento Colaborativo da Dev Side Studio.