26 pontos por GN⁺ 2025-11-28 | 1 comentários | Compartilhar no WhatsApp
  • Gemini CLI é um assistente de IA open source que permite usar os modelos Gemini do Google diretamente no terminal, uma ferramenta de linha de comando interativa capaz de escrever código, depurar e executar tarefas de automação por meio de comandos em linguagem natural
  • Cerca de 30 dicas avançadas mostram recursos como gerenciamento persistente de contexto com GEMINI.md, comandos personalizados, extensões via servidor MCP, memória e restauração de checkpoints
  • Oferece recursos para otimizar o fluxo de trabalho de desenvolvimento, como referência a arquivos e imagens com @, modo YOLO (aprovação automática), execução headless, trabalho com múltiplos diretórios e integração com IDE (VS Code)
  • Inclui recursos recentes voltados a automação, observabilidade e extensibilidade, como GitHub Action, extensões (Extensions), telemetria e cache de tokens
  • O Gemini CLI está evoluindo de um simples chat com IA para uma plataforma de desenvolvimento agentic que integra e controla todo o ambiente de desenvolvimento

Visão geral do Gemini CLI

  • O Gemini CLI é uma interface de linha de comando com IA para usar os modelos Google Gemini diretamente no terminal
    • Baseado em Node.js/TypeScript, funciona em todos os principais sistemas operacionais
    • Ao receber comandos em linguagem natural, executa tarefas em várias etapas, como geração de código, depuração e configuração de sistema
  • A instalação pode ser feita com npm install -g @google/gemini-cli ou npx @google/gemini-cli
  • A autenticação oferece suporte a login com conta Google (gratuito) ou chave de API (paga/enterprise)
    • A conta gratuita permite cerca de 60 requisições por minuto e 1.000 por dia
    • Ao usar chave de API, há maior proteção de dados e aplicação de políticas de retenção de logs
  • A execução padrão começa com o comando gemini e oferece suporte a comandos com / (controle de sessão) e ! (execução no shell)
    • O modo de segurança, que solicita aprovação do usuário (Y/n) ao alterar o sistema, vem ativado por padrão

Dica 1 — Gerenciamento persistente de contexto com GEMINI.md

  • Salve instruções do projeto ou informações de contexto em um arquivo GEMINI.md para que a IA sempre responda com o mesmo contexto
    • Ex.: estilo de código, arquitetura, regras de funções
  • Mescla hierarquicamente o arquivo global (~/.gemini/GEMINI.md) e o específico do projeto (.gemini/GEMINI.md)
  • Use /memory show para ver o contexto carregado no momento e /memory refresh para atualizá-lo
  • É possível gerar um template básico com o comando /init, com suporte a carregamento de vários arquivos por @include

Dica 2 — Criar comandos slash personalizados

  • Defina comandos personalizados em arquivos TOML para automatizar tarefas repetitivas
    • Ex.: /test:gen → gera testes Jest com base nos requisitos
  • Podem ser registrados globalmente (~/.gemini/commands/) ou por projeto (.gemini/commands/)
  • Os comandos funcionam com base em templates de prompt e podem ser compartilhados entre equipes
  • São úteis para padronizar fluxos de trabalho, como formatação consistente ou definição de papéis (ex.: /review:security)

Dica 3 — Estender o Gemini com servidores MCP

  • Integração com sistemas externos por meio de servidores Model Context Protocol (MCP)
    • Ex.: Figma, Google Docs, Clipboard, banco de dados interno etc.
  • Registre servidores com o comando gemini mcp add, salvando a configuração em settings.json
  • Use o comando /mcp para ver a lista de servidores e ferramentas registradas
  • Há suporte a OAuth 2.0 para conexões seguras com APIs

Dica 4 — Adicionar e recuperar memória

  • Use /memory add "<text>" para salvar informações importantes na memória de longo prazo
    • Ex.: “A porta do RabbitMQ é 5673”
  • Veja toda a memória com /memory show e atualize com /memory refresh
  • Útil para guardar logs de decisão ou preferências pessoais, como tom de voz e nome

Dica 5 — Checkpoints e restauração com /restore

  • Cria snapshots automaticamente antes de alterar arquivos, permitindo voltar ao estado anterior com /restore
  • Pode ser ativado com a opção --checkpointing ou no arquivo de configuração
  • Veja a lista com /restore list e restaure com /restore <id>
  • Quando usado junto com Git, funciona como uma rede de segurança para o trabalho da IA

Dica 6 — Ler Google Docs e Sheets

  • Ao configurar o servidor MCP do Workspace, é possível ler e resumir links de Google Docs/Sheets diretamente
  • Requer autenticação OAuth e pode ser acessado com comandos como /read_google_doc
  • Permite referenciar documentos, planilhas e arquivos do Drive por link para injetar contexto sem copiar conteúdo

Dica 7 — Referenciar arquivos e imagens com a sintaxe @

  • Use @caminho/do/arquivo para anexar diretamente código, documentos ou imagens ao prompt
    • Ex.: Explain this code: @./src/main.js
  • As regras de .gitignore e .geminiignore são aplicadas automaticamente
  • Há suporte a reconhecimento de imagem (incluindo OCR) e comparação de múltiplos arquivos

Dica 8 — Geração instantânea de ferramentas

  • Quando necessário, o Gemini pode gerar scripts temporários ou até servidores MCP na hora
    • Ex.: parser JSON, analisador de logs
  • O código gerado pode ser revisado em diff antes da aprovação
  • Scripts úteis podem ser promovidos a comandos personalizados

Dica 9 — Solução de problemas e configuração do sistema

  • Também pode ser usado fora de projetos, atuando como assistente de gerenciamento do ambiente de desenvolvimento
    • Ex.: editar .bashrc, analisar logs de erro, automatizar a instalação do Docker
  • Sempre pede aprovação antes de executar comandos, ajudando em ajustes seguros no sistema

Dica 10 — Modo YOLO (aprovação automática)

  • Use --yolo ou Ctrl+Y para aprovar automaticamente toda execução de ferramentas
  • Útil para acelerar tarefas repetitivas, mas há riscos
  • É possível configurar whitelist para aprovar automaticamente apenas comandos específicos

Dica 11 — Modo headless e modo script

  • Execute de forma não interativa com gemini -p "prompt"
  • GEMINI_SYSTEM_MD permite substituir o prompt de sistema
  • Há suporte a saída JSON (--format=json) e arquivo de resumo de sessão (--session-summary)
  • Adequado para integração com CI/CD e scripts de automação

Dica 12 — Salvar e retomar sessões de chat

  • Salve a sessão com /chat save <name> e restaure com /chat resume <name>
  • Veja a lista com /chat list e compartilhe com /chat share
  • Útil para depuração longa ou trabalho paralelo em vários projetos

Dica 13 — Workspace com múltiplos diretórios

  • Use --include-directories ou o arquivo de configuração para reunir várias pastas em um único workspace
  • Veja as pastas incluídas com /directory show
  • Dá suporte a ambientes polyrepo, como edição simultânea de frontend e backend

Dica 14 — Organização de arquivos com IA

  • Classifica e move arquivos de um diretório por tipo
    • Ex.: imagens → Images, PDFs → Documents
  • Também pode renomear arquivos automaticamente com base no conteúdo da imagem
  • Recomenda-se revisar a prévia dos comandos antes da execução para mais segurança

Dica 15 — Preservar contexto com compressão de conversa

  • O comando /compress resume conversas longas para liberar espaço de contexto
  • Mantém apenas as informações essenciais, permitindo continuidade na sessão
  • É possível configurar um limite para compressão automática

Dica 16 — Executar comandos de shell com !

  • Use !command para executar comandos de terminal diretamente
  • Ao digitar apenas !, entra no modo shell; para sair, use ! novamente
  • Integra conversa com IA e comandos de sistema em uma única interface

Dica 17 — Usar todas as ferramentas CLI como ferramentas do Gemini

  • A IA pode chamar qualquer comando presente no $PATH
    • Ex.: convert, docker, ffmpeg, git etc.
  • Dependendo do ambiente, é recomendável restringir o PATH ou usar whitelist

Dica 18 — Aproveitar entradas multimodais

  • Anexe imagens, PDFs e arquivos de áudio com @ para análise
    • Ex.: descrição de screenshot de UI, análise de imagem de erro, OCR
  • Há suporte a geração de código e extração de dados com base em material visual

Dica 19 — Controle de acesso a $PATH e ferramentas

  • Execute com PATH restrito para aumentar estabilidade e segurança
  • Em settings.json, excludeTools pode bloquear comandos perigosos
  • A opção --sandbox oferece execução em ambiente isolado com Docker

Dica 20 — Cache de tokens e rastreamento de uso

  • Com chave de API ou autenticação Vertex, é possível reduzir custos reutilizando tokens
  • Use /stats para verificar taxa de acerto do cache e uso de tokens
  • --session-summary permite salvar relatórios JSON por sessão

Dica 21 — Copiar para a área de transferência com /copy

  • Copia imediatamente a última saída, como código, para a área de transferência
  • Suporta macOS (pbcopy), Windows (clip) e Linux (xclip)

Dica 22 — Controle do atalho Ctrl+C

  • Pressionar uma vez interrompe a tarefa; duas vezes encerra o CLI
  • No modo shell, é possível sair com Ctrl+C ou Esc

Dica 23 — Configurações do usuário com settings.json

  • Permite ajustar detalhes como tema, sandbox, aprovação automática e modo Vim
  • O comando /settings oferece edição interativa
  • Mescla configurações globais (~/.gemini/) e específicas do projeto

Dica 24 — Integração com VS Code

  • A extensão do VS Code (Companion Extension) faz reconhecimento automático de arquivo, cursor e seleção
  • Ao sugerir alterações no código, o visualizador de diff do VS Code é exibido automaticamente
  • Gerencie com /ide install, /ide enable e /ide status

Dica 25 — Automação com GitHub Action

  • A Gemini CLI GitHub Action automatiza classificação de issues e revisão de PRs
  • Com menção @gemini-cli, é possível solicitar geração de código de teste e outras tarefas
  • O comando /setup-github gera automaticamente o arquivo de workflow

Dica 26 — Telemetria (Observability)

  • Com base em OpenTelemetry, coleta métricas, logs e traces da sessão
  • Pode ser ativada com "telemetry.enabled": true ou com a flag --telemetry
  • Os dados podem ser enviados para diversos backends, como arquivo local, GCP e Prometheus

Dica 27 — Monitorar o roadmap

  • O roadmap público do Gemini CLI no GitHub mostra os próximos recursos
    • Ex.: agentes em background, expansão de modelos, melhorias de UI
  • Também é possível participar com feedback da comunidade e sugestões de funcionalidades

Dica 28 — Extensões (Extensions)

  • Use gemini extensions install <URL> para integrar serviços externos
    • Ex.: Cloud Run, BigQuery, Figma, Stripe etc.
  • As extensões seguem uma estrutura modular que adiciona ferramentas MCP, comandos e contexto
  • Veja a lista de extensões ativas com o comando /extensions

Recurso extra — Corgi Mode 🐕

  • O comando /corgi executa uma animação de corgi no terminal
  • É apenas um easter egg para dar uma pausa durante o uso do CLI

Conclusão

  • O Gemini CLI é uma interface de desenvolvimento com IA que vai da escrita de código ao gerenciamento de sistema, automação e colaboração
  • Com GEMINI.md, MCP, extensões e integração com IDE, garante contexto persistente e extensibilidade de ferramentas
  • Com ecossistema open source e atualizações rápidas, está evoluindo para se tornar uma plataforma central de IA no fluxo de trabalho de desenvolvedores

1 comentários

 
GN⁺ 2025-11-28
Opiniões no Hacker News
  • Eu não faço nenhuma dessas configurações
    O motivo é que elas ficam obsoletas rápido demais, e 80% delas não funcionam direito
    Não acho que valha a pena montar um servidor MCP quando nem dá para saber se o LLM vai chamá-lo de forma confiável
    Minha regra é simples — eu mesmo escrevo documentação para mim (templates, checklists etc.) e dou ao AI uma chance de tentar uma vez
    Se não acertar de primeira, eu ajusto a documentação ou simplesmente faço eu mesmo

    • Encarar LLM como um gerador estatístico de documentos me ajudou bastante
      No fim, a utilidade depende dos dados de treino e da evolução do modelo, e acho certo tratá-lo como uma espécie de programação por restrições sem gramática formal
      Considerando a subjetividade da linguagem natural, o melhor caminho é uma iteração rápida, refinando repetidamente as sentenças de restrição
      Por exemplo, já usei o Gemini em 4 iterações para obter um script bash totalmente automático e funcional
      Para o conceito relacionado, veja Constraint programming
    • Recentemente, ficou muito útil o fato de os agentes conseguirem executar sozinhos o ciclo de build-teste-correção
      Consigo delegar tarefas no nível de um desenvolvedor júnior e ir fazer outra coisa
    • Funciona bem tratar o agente de AI como um desenvolvedor júnior recém-contratado da equipe
      Se falhar de primeira, eu melhoro a documentação (arquivo .md) e tento de novo
      Quase não uso MCP por causa do risco de segurança, mas esse loop iterativo é bem eficiente
      Por outro lado, dizer “se não der certo de primeira, eu faço sozinho” é como demitir o júnior imediatamente
    • Tenho a sensação de que o desenvolvimento de software está indo para um novo platô
      Ainda não chegamos lá, e as habilidades que estamos acumulando agora são como construir na encosta antes de alcançar esse ponto
    • Acho as duas abordagens úteis
      1. começar com uma sessão nova para evitar contaminação de contexto, e
      2. conectar várias ferramentas para facilitar o trabalho (veja o texto recente da Anthropic)
        Como o método atual de avaliação de prompts não é confiável, estou montando eu mesmo uma configuração agentic para melhorar isso
        Ontem adicionei um recurso de viagem no tempo de sessão baseado em Dagger, e hoje pretendo incluir funções de fork, clone e registry
  • O Gemini CLI ainda é fraco para tarefas de programação mais complexas
    Isso acontece por causa do loop ReAct simples e da capacidade fraca de chamar ferramentas
    Mesmo assim, como está sendo desenvolvido ativamente em open source, o potencial é grande
    Com a janela de contexto de 1M (em breve 2M) e uma cota gratuita generosa, acho que a ideia é usar sem dó (ABUSE IT)
    Eu o uso como ferramenta de orquestração TUI/CLI, e ele também foi bastante útil para avaliar código gerado por outras ferramentas
    Recentemente, conectei Homebrew e MCP, e integrei com um Knowledge Manager baseado em LLM local (Nowledge Mem)
    Curiosamente, também vi casos de uso do Gemini CLI como SubAgent para evitar poluir o contexto principal
    Tweet relacionado

    • O Gemini CLI realmente parece uma fera selvagem
      Mesmo quando você diz “não modifique o código, apenas sugira”, ele vai lá e altera os arquivos
      O Pro 3 é inteligente, mas ainda é instável em seguir instruções
    • Testei rapidamente o Gemini 3 Pro, e ele tem dificuldade até com tarefas básicas de programação
      Tentei via Antigravity, mas, por causa da cota limitada, foi difícil fazer testes mais complexos
      Para impressões mais detalhadas, veja este texto
  • Addy Osmani é um engenheiro de software irlandês responsável por Google Chrome e Gemini, um veterano com 25 anos de experiência
    Ele é apaixonado por melhorar a performance web e por ferramentas de desenvolvimento assistidas por AI, e escreveu vários livros, incluindo 『Learning JavaScript Design Patterns』

    • Ele chegou a ganhar o Irish Young Scientist 2 anos antes de Patrick Collison
      Link da competição
    • Tem uma reputação altíssima na comunidade de performance web
    • Dizem que publicou 11 livros nos últimos 5 anos; fiquei curioso se usa escrita assistida por AI
  • Eu gostaria que agentes de programação agnósticos em relação a LLM virassem o padrão
    Em vez de cada um reinventar a roda, como Codex ou Gemini CLI, seria ótimo poder trocar o provedor de LLM como plugin
    Hoje o Claude Code é o melhor, mas não parece que a Anthropic vai seguir nessa direção
    No fim, acho que vamos ter de esperar a próxima geração de agentes de programação open source

    • Já existe uma ferramenta assim: Aider (aider.chat)
      Só que CLIs desse tipo se parecem mais com interfaces para modelos por assinatura do que com ferramentas reais
      Os modelos mais recentes consomem tantos tokens que a assinatura mensal acaba sendo mais realista do que pagar por API
    • Opencode (feito pela SST) é um bom exemplo dessa visão bem implementada
      Usei nos últimos dias e fiquei bastante satisfeito
      Link do GitHub
      Também existem várias alternativas, como Crush, Aider, Amp Code, Emacs+gptel, Editor Code Assistant
      Ainda assim, como a coevolução (co-design) entre LLM e agente de programação é importante, uma separação completa ainda parece irrealista
    • Acho que o motivo de o Claude Code ser o melhor é justamente não ser agnóstico
    • Cursor também é uma boa alternativa
      Ironicamente, agora ele adotou um LLM próprio
      Apresentação do Cursor Composer
    • Como ferramentas agnósticas ao modelo, recomendo Roo Code ou seu fork, Kilo
  • Estou usando o Gemini CLI há alguns meses
    Como tenho assinatura gratuita no trabalho, continuei usando
    Dizem que ele reconhece o arquivo GEMINI.md, mas na prática muitas vezes ignora
    Mesmo assim, dicas como a Tip 12 e a Tip 16 foram úteis
    O problema de alucinação da AI continua, mas foi a primeira experiência que realmente me fez achar AI ‘divertida’
    Especialmente quando deixei que ele depurasse autonomamente um cluster PoC de K8s, o processo de buscar logs e encontrar erros foi realmente impressionante
    Às vezes, quando ele age de forma burra demais, eu digito /quit e faço sozinho, mas ainda assim continuo usando com prazer

    • Ver o Gemini CLI depurando um cluster K8s em tempo real é realmente surreal
      Acabei de montar um cluster RKE2 e quero muito testar isso
  • Eu gosto muito de AI
    Sinto que é uma ferramenta essencial, como a internet ou o iPhone, que me torna um ser humano mais eficiente
    Mas estou com uma forte fadiga de tutoriais sobre “como usar AI”
    A maioria tem baixa qualidade, e este texto pelo menos é um pouco melhor
    É como os desenvolvedores JS apresentando um novo framework toda semana

    • Hoje em dia, esse tipo de texto “use LLM assim” é realmente entediante
      Não importa quem escreva, se é sincero ou só para gerar engajamento, já não desperta mais interesse
  • Sinceramente, essas configurações complexas são exageradas
    Para mim, só com prompts no estilo gritar com a AI já funciona bem o bastante
    Só com LazyVim e algumas ferramentas (git, ask, ripgrep) já consigo ser bastante produtivo
    Especialmente o Gemini 3 é muito útil, porque tem alta densidade de tokens e contexto grande
    Quando o contexto fica grande demais, eu peço para ele escrever um resumo no README.MD e inicio um novo agente
    Link da ferramenta ask

    • Eu também uso de forma parecida, e o Gemini 3 é disparado o melhor
      Com outros modelos eu não conseguia produtividade, mas agora até tarefas complexas dão certo de primeira em 80% dos casos
  • O contraste entre scripting manual e workflow assistido por LLM é interessante
    Se as restrições não estiverem claras, os dois falham; mas, quando estão claras, o LLM funciona com uma confiabilidade surpreendente

  • Hoje em dia, o problema da programação AI/Agentic/Vibe é a velocidade rápida demais da evolução
    As melhores práticas ficam obsoletas antes mesmo de se consolidarem
    Linguagens e frameworks mudavam, mas a forma de quebrar problemas em partes e entender a codebase era relativamente estável;
    agora já não sei onde esse ponto de equilíbrio vai parar

  • Acho o Gemini CLI meio ruim
    Se for para usar algo, recomendo o Opencode
    O Google também deveria refazer o CLI do zero, como o Codex

    • Pode variar de pessoa para pessoa, mas no meu caso o Gemini CLI é rápido e estável, então uso como ferramenta principal
    • O Opencode também substituiu completamente a TUI recentemente
      Só para constar, o Gemini 3 atualmente não funciona no Opencode via Copilot
      Link da issue
    • Está escrito que, para usar o Opencode, é preciso um emulador de terminal específico (WezTerm, Alacritty, Ghostty, Kitty)
      Fiquei em dúvida se uma TUI simples realmente precisa desse tipo de restrição
      Pela documentação oficial, Gemini não é mencionado diretamente,
      e parece ser oferecido via Google Vertex AI
      Talvez também seja possível conectar o Gemini por meio de uma assinatura do Google Workspace
    • Fico curioso sobre o que aconteceu com o Codex — será que ele foi mesmo refeito do zero?