Pular para o conteúdo
fernando.moretes.com
BlogEstudosCursosE-booksOpen SourcePodcasts
Loading…
Fernando Azevedo

Arquiteto de TI Especialista

Arquitetura, AWS, IA em produção, sistemas financeiros e FinOps, escritos a partir do que foi operado, com os números.

  • LinkedIn
  • GitHub
  • E-mail

Conteúdo

  • Blog
  • Estudos de arquitetura
  • Cursos
  • E-books
  • Open Source
  • Podcasts
  • Assuntos
  • Trilhas

Ferramentas

  • Well-Architected self-check
  • Arquitetura deste site
  • Números públicos
  • Histórico de estudo

Sobre

  • Comunidade
  • IA Builder
  • Perfil
  • Currículo (CV)
  • Trabalhe comigo
  • Media kit
  • RSS do blog
  • RSS dos estudos
  • Artigos narrados (podcast)
  • llms.txt
  • Termos, privacidade e uso de IA

(c) 2026 Fernando Francisco Azevedo

Open Source/homebrew-google-terminal-search
Ruby

homebrew-google-terminal-search

Tap Homebrew do google-terminal-search: um `brew install` no lugar de copiar script à mão

1Atualizado em 29 de set. de 2026000 visualizações00 reproduções
Compartilhar:LinkedInWhatsAppXBaixar em Markdown
#cli#developer-tools#homebrew#homebrew-tap#moretes#package-manager#portfolio#ruby
Ver no GitHub Site
git clone https://github.com/fernando-moretes/dot-homebrew-google-terminal-search.git
Ouvir guia

cerca de 3 min · áudio gerado ao tocar

Este repositório é o tap Homebrew do google-terminal-search: uma fórmula Ruby que diz ao brew de onde baixar a ferramenta, como conferir o hash e onde colocar o executável no PATH.

Por que um repositório só para distribuir um script

O google-terminal-search é um script Bash curto, sem dependências, que abre uma busca no Google a partir do terminal. Ele mora em outro repositório, o tool-google-terminal-search. Este aqui não tem código da ferramenta: tem só a receita de instalação.

A pergunta que importa não é "dá para instalar sem Homebrew?". Dá: basta copiar o arquivo para /usr/local/bin e dar chmod +x. A pergunta é como você atualiza isso daqui a seis meses em três máquinas. Script copiado à mão não tem versão, não tem hash e não tem upgrade. Cada máquina fica numa revisão diferente e ninguém sabe qual.

Com o tap, a versão instalada é a que a fórmula aponta, o download é conferido contra um sha256 fixo e brew upgrade resolve o resto. O custo de manter não é escrever a fórmula, que leva minutos. É lembrar de atualizar url e sha256 a cada release, e é isso que a esteira do repositório existe para tornar rotina.

O nome do repositório quebra o atalho do brew tap

brew tap fernando-moretes/google-terminal-search procura um repositório chamado homebrew-google-terminal-search. Depois da migração para a org, o nome passou a ter o prefixo dot-, então o atalho falha. Passe a URL explícita no segundo argumento, como no passo a passo abaixo.

Instalar e usar

  1. 1

    Registrar o tap com a URL explícita

    brew tap fernando-moretes/google-terminal-search https://github.com/fernando-moretes/dot-homebrew-google-terminal-search. O brew clona o repositório em $(brew --repository)/Library/Taps/ e passa a enxergar a fórmula.

  2. 2

    Instalar a fórmula

    brew install google-terminal-search. Se outro tap tiver fórmula com o mesmo nome, qualifique: brew install fernando-moretes/google-terminal-search/google-terminal-search.

  3. 3

    Conferir o que foi instalado

    brew info google-terminal-search mostra versão e origem; brew list google-terminal-search lista os arquivos e confirma o nome do executável que entrou no PATH.

  4. 4

    Buscar

    Segundo o README da ferramenta, o comando é google seguido da consulta entre aspas, por exemplo google "lambda timeout 900 segundos".

  5. 5

    Atualizar e remover

    brew update && brew upgrade google-terminal-search puxa a fórmula nova. Para sair: brew uninstall google-terminal-search e brew untap fernando-moretes/google-terminal-search.

Instalação completa em três linhas
bash
brew tap fernando-moretes/google-terminal-search \
  https://github.com/fernando-moretes/dot-homebrew-google-terminal-search
brew install google-terminal-search
brew info google-terminal-search

O caminho de um brew install

O tap só guarda a receita. O artefato vem do repositório da ferramenta, e o hash na fórmula é o que liga os dois.

💻 Máquina local
  • Homebrew · brew tap / install
  • Executável · symlink no PATH
🌐 GitHub: tap
  • Fórmula Ruby · url + sha256 + install
  • Workflows do platform · pr-lint, CI, release
🌐 GitHub: ferramenta
  • tool-google-terminal-search · artefato versionado

Como a fórmula funciona

Uma fórmula Homebrew é uma classe Ruby que herda de Formula. Quatro campos fazem o trabalho:

  • url: aponta para o artefato de uma versão específica, uma tag ou tarball de release do repositório da ferramenta.
  • sha256: o hash que o download precisa bater. Se o arquivo mudar no servidor, o brew aborta antes de executar qualquer coisa.
  • depends_on: o que precisa existir antes. Num script Bash sem dependências, a lista tende a ser vazia.
  • install: onde cada arquivo vai, tipicamente bin.install, que copia para a Cellar e cria o symlink no PATH.

O sha256 é o campo que mais importa e o que mais falha em silêncio. Fórmula apontando para main sem hash instala o que estiver no branch naquele minuto: duas máquinas que rodaram brew install em dias diferentes podem ter scripts diferentes sob a mesma versão. Por isso a fórmula precisa apontar para artefato imutável.

O tap é por natureza de terceiro: o brew não audita o conteúdo como faz com o homebrew-core. Quem instala confia em quem mantém. Abra o .rb antes de instalar; são poucas linhas e é o único jeito de saber o que vai rodar na sua máquina.

Como o repositório é mantido

O repositório segue as convenções de fernandofatech/platform, as mesmas de todo o portfólio:

  • Branch: <tipo>/<escopo>, com feat/, fix/, chore/ ou docs/.
  • Commit e título de PR: Conventional Commits.
  • Versão: sai dos commits. Ninguém escreve número de versão à mão.

A esteira (pr-lint, CI, segurança e release) vem dos workflows reutilizáveis do platform. Corrigir a régua é mudar um arquivo lá, não aqui. Para um repositório deste tamanho isso parece exagero, e seria, se fosse só um. Com dezenas de repositórios pequenos, a régua centralizada é o que impede cada um de ter um CI próprio meio quebrado que ninguém lembra de atualizar.

Antes de abrir PR mexendo na fórmula, rode localmente brew install --build-from-source google-terminal-search e brew audit --strict google-terminal-search. O audit pega o que passa no olho: hash faltando, URL sem HTTPS, campo fora de ordem.

Perguntas frequentes

Preciso de Ruby instalado?

Não. A fórmula é Ruby, mas quem a interpreta é o próprio Homebrew, que traz o Ruby dele. A ferramenta instalada é Bash.

Funciona no Linux?

Em princípio sim, via Homebrew on Linux, já que o script não depende de nada específico de macOS para ser instalado. Não testei em todas as distribuições; se algo falhar, abra uma issue com a saída do brew doctor.

Por que não mandar para o homebrew-core?

O homebrew-core exige notabilidade e um processo de revisão que não faz sentido para um script pessoal com uma estrela. O tap próprio dá versão e upgrade sem essa fila.

Referências

GitHub: fernando-moretes/dot-homebrew-google-terminal-searchGitHub: fernando-moretes/tool-google-terminal-searchfernando.moretes.comHomebrew: TapsHomebrew: Formula CookbookConventional Commits

Para quem é

Use este tap quando você já trabalha com Homebrew e quer o google-terminal-search em mais de uma máquina com a mesma versão e upgrade de um comando. Se for uma máquina só e você não pretende atualizar, copiar o script direto do repositório da ferramenta resolve com menos peças. Em qualquer dos casos, leia a fórmula antes: tap de terceiro roda com a sua permissão.

Curte open source e arquitetura? Receba mais.

Deep dives de arquitetura, AWS, IA e mercado: direto no seu email. Grátis.

Sem spam · cancele quando quiser

Guia gerado com IA a partir do repositório e do README. · Fonte

Continue lendo

Shellsetup-macos-developerSetup de Mac para desenvolvimento em Shell: o mesmo ambiente, em toda máquina novaLer Shellgoogle-terminal-searchBusca no Google a partir do terminal: um script Bash de 17 linhas, sem dependênciasLer TypeScriptqueue-advisor-pricing-appCompare custo e encaixe de SQS, Kinesis, EventBridge e MSK antes de decidirLer