homebrew-google-terminal-search
Tap Homebrew que instala o google-terminal-search com um brew install
git clone https://github.com/fernando-moretes/dot-homebrew-google-terminal-search.gitOuvir guia
gerado ao ouvirGerado apenas no primeiro play
Com tecnologia Amazon Polly + OmniVoice
Este repositório é o tap Homebrew do google-terminal-search: uma fórmula Ruby que transforma "clona, instala dependência, cria alias" em um único brew install — e que se atualiza pelo mesmo brew upgrade que cuida do resto da máquina.
O que é e por que existe
O google-terminal-search é uma ferramenta de linha de comando minha para pesquisar no Google sem sair do terminal. Ele mora em outro repositório; este aqui não tem uma linha da ferramenta em si. O que tem é a fórmula: um arquivo Ruby que diz ao Homebrew de onde baixar a versão publicada, como verificar o sha256 do artefato, quais dependências resolver e onde colocar o binário no PATH.
A razão de existir é de manutenção, não de conveniência. Instalar uma CLI por git clone funciona no primeiro dia; no décimo mês ninguém lembra onde está o clone, qual versão está rodando nem se o alias no .zshrc ainda aponta para o lugar certo. Toda ferramenta que eu uso todo dia paga esse custo — a diferença é se ele fica visível ou não.
Com um tap, o Homebrew passa a ser o dono do ciclo de vida: brew install instala, brew upgrade atualiza, brew uninstall remove sem deixar resto, e brew list --versions responde "qual versão está aqui?" em uma linha. A fórmula é o contrato entre o repositório da ferramenta e a máquina de quem instala. Separar a fórmula em repositório próprio é convenção do Homebrew — o tap precisa ser um repositório Git cujo conteúdo o brew consegue clonar e ler sozinho.
Como um brew install percorre este repositório
O tap é só o ponteiro. O código da ferramenta vem do release; o Homebrew verifica o hash antes de instalar.
- brew CLI · resolve tap + fórmula
- Cellar + symlink · /opt/homebrew/bin
- dot-homebrew-google-terminal-search · Formula/*.rb
- google-terminal-search · release tarball + sha256
O nome do repositório tem um prefixo dot-
O atalho brew tap usuario/nome só funciona quando o repositório se chama exatamente homebrew-nome. Este se chama dot-homebrew-google-terminal-search — o prefixo veio da migração dos repositórios para a organização. Consequência prática: brew tap fernando-moretes/google-terminal-search sozinho não resolve. Passe a URL completa no brew tap, como no passo a passo abaixo. É o tipo de falha que não avisa direito: o erro fala em "repository not found" e você gasta dez minutos suspeitando de rede.
Instalar e usar
- 1
Adicione o tap pela URL completa
brew tap fernando-moretes/google-terminal-search https://github.com/fernando-moretes/dot-homebrew-google-terminal-search. O Homebrew clona o repositório em$(brew --repository)/Library/Taps/e passa a enxergar a fórmula. - 2
Instale a fórmula
brew install google-terminal-search. Se houver outra fórmula com o mesmo nome em outro tap, qualifique:brew install fernando-moretes/google-terminal-search/google-terminal-search. - 3
Confira o que foi instalado
brew info google-terminal-searchmostra versão, origem e dependências;which google-terminal-searchconfirma que o symlink está noPATH. - 4
Atualize junto com o resto
brew update && brew upgrade google-terminal-search. Obrew updatepuxa o tap; a fórmula nova aponta para a versão nova. - 5
Remova sem deixar rastro
brew uninstall google-terminal-searche, se não quiser mais o tap,brew untap fernando-moretes/google-terminal-search.
# 1. tap pela URL completa (o repositório não segue o nome homebrew-<x>)
brew tap fernando-moretes/google-terminal-search \
https://github.com/fernando-moretes/dot-homebrew-google-terminal-search
# 2. instalar
brew install google-terminal-search
# 3. conferir
brew info google-terminal-search
which google-terminal-search
# 4. manter
brew update && brew upgrade google-terminal-searchComo a fórmula funciona
Uma fórmula Homebrew é uma classe Ruby que herda de Formula. Os campos que fazem o trabalho: url aponta para o artefato de uma versão específica (tarball do release ou tag do Git), sha256 fixa o hash que o download precisa bater, depends_on declara o que precisa existir antes, e install diz para onde vai cada arquivo — normalmente bin.install "google-terminal-search". Um bloco test do fecha o ciclo: brew test executa a ferramenta instalada e falha se ela não responder.
Segurança: o sha256 é o que impede instalar um artefato trocado. Se o hash não bate, o Homebrew aborta antes de executar qualquer coisa. Por isso uma fórmula nunca deveria apontar para main sem hash — o "sempre pega o último" custa a garantia de que o que instalou é o que foi publicado.
Versionamento: a versão que a fórmula instala é a que está escrita nela. Subir a ferramenta não atualiza este tap sozinho; alguém — ou um workflow — precisa trocar url e sha256 e abrir commit. É o custo de manutenção real deste repositório: pequeno por release, mas recorrente.
Pipeline: o repositório segue as convenções do platform — branch <tipo>/<escopo>, Conventional Commits, versão derivada dos commits. O pr-lint, o CI e a checagem de segurança vêm de workflows reutilizáveis; corrigir a régua é mudar um arquivo lá, não aqui.
O que este tap te dá
brew que cuida do resto da máquina — nenhum clone solto para lembrar depois.sha256 em todo download: artefato diferente do publicado não instala.brew uninstall, sem resíduo em .zshrc ou ~/bin.Testando uma mudança na fórmula antes de abrir PR
Edite o arquivo dentro do tap já clonado (cd $(brew --repository)/Library/Taps/fernando-moretes/homebrew-google-terminal-search), depois rode brew install --build-from-source google-terminal-search, brew test google-terminal-search e brew audit --strict google-terminal-search. O audit pega o que passa despercebido no olho: hash faltando, URL sem HTTPS, campo fora de ordem. Só depois abra a branch fix/ ou chore/.
Perguntas frequentes
Por que não publicar direto no homebrew-core?
O homebrew-core exige notabilidade (estrelas, forks, tempo de vida) e revisão de mantenedores em cada versão. Para uma ferramenta pessoal com um usuário ativo, um tap próprio entrega o mesmo brew install sem a fila — e sem depender de terceiros para subir versão.
Funciona em Linux?
O Homebrew roda em Linux (Linuxbrew), e a fórmula funciona se o artefato e as dependências funcionarem lá. Não testo essa combinação com regularidade; trate como não suportado até haver um test do verde num runner Linux.
O que acontece se a ferramenta lançar versão e o tap não for atualizado?
Nada quebra — você continua com a versão que a fórmula fixa. É o comportamento desejado: a fórmula é um pino, não um espelho. A atualização é um commit neste repositório trocando url e sha256.
Referências
Veredito
Use este tap quando você está no macOS (ou Linuxbrew), quer o google-terminal-search como parte da máquina e não como um clone que envelhece, e aceita que a versão instalada é a que a fórmula fixa. Se você está desenvolvendo a ferramenta em si, clone o repositório dela — o tap serve para consumir, não para editar. E se você tem outras CLIs próprias com release publicado, o valor maior está no esqueleto: uma fórmula deste tamanho custa menos para manter do que o alias que você escreveria no .zshrc e esqueceria em três meses.
Deep dives de arquitetura, AWS, IA e mercado — direto no seu email. Grátis.
Sem spam · cancele quando quiser