In this article
5 dicas para programar de forma agentiva com o Gemini CLI
Quem não está usando agentes de programação com IA hoje em dia? Desenvolvedores têm à disposição um conjunto incrível de novas ferramentas para acelerar o trabalho. O Gemini CLI é um poderoso agente de IA de código aberto que leva o poder do Gemini diretamente ao seu terminal. Mas a verdadeira mágica da programação com IA está em aprender a controlar e personalizar essas ferramentas de acordo com suas necessidades e seus fluxos de trabalho de engenharia de software.
Tenho usado bastante o Gemini CLI nas últimas semanas e, neste artigo, quero compartilhar cinco dicas para você aproveitar ao máximo a ferramenta. Seja para evitar código inseguro ou simplesmente agilizar as tarefas do dia a dia, espero que estas dicas ajudem você a se tornar um desenvolvedor mais eficiente e confiante, usando IA para acelerar seu trabalho.
1. Use o GEMINI.md
A programação agentiva funciona melhor quando a IA entende o contexto específico do seu projeto. Não basta pedir ao agente para "implementar um recurso"; você precisa fornecer diretrizes claras, padrões de código e outras orientações relevantes para o projeto, alinhadas às convenções da sua equipe.
Você provavelmente já ouviu falar do “cursorrules” do Cursor e do “CLAUDE.md” do Claude. Com o Gemini CLI não é diferente: é aí que entra o GEMINI.md.
Ao criar um arquivo GEMINI.md na raiz do seu projeto, você pode fornecer um "prompt de sistema" com todas as informações de que o agente do Gemini CLI precisa. Pense nele como um guia para a IA. Você pode especificar:
Convenções de código: defina o estilo que prefere, como usar camelCase em variáveis ou exigir comentários JSDoc.
Stack tecnológica: informe ao agente quais frameworks e bibliotecas você usa (por exemplo, React, Next.js e Express), para que ele não sugira código incompatível.
Diretrizes de teste: instrua o agente a sempre escrever testes unitários com o framework de testes de sua preferência (meu favorito é o executor de testes integrado ao Node.js) ou a seguir um padrão de testes específico.
Particularidades do projeto: inclua detalhes sobre o esquema do banco de dados, os endpoints da API ou qualquer outra informação essencial para o seu projeto.
Veja um exemplo de GEMINI.md:
# Coding conventions
- Use ESM modules in this project for modern Node.js conventions
- Use camelCase for functions
- Use `<name>.route.js` for route definitions
- Don't use semicolons
# Development guidelines
- Always add a relevant test case when fixing a bug, refactoring or creating a new feature
- Always add tests in `__tests__/` directory
- Always add fixtures in `__tests__/fixtures/` directory
- Always run `npm run lint` after you finished your tasks and fix any errors
- Always run `npm run test` after you finished your tasks and fix any errors
O Gemini CLI lê esse arquivo automaticamente, garantindo que todas as sugestões se baseiem na realidade do seu projeto, e não apenas em conhecimentos gerais. É uma maneira simples, mas poderosa, de manter a consistência e a qualidade em toda a sua base de código.
2. Tem receio de que o Gemini CLI adicione código inseguro ou dependências vulneráveis? Adicione o Snyk MCP Server
O outro lado de usar um agente de programação com IA é o risco de introduzir vulnerabilidades de segurança.
Um agente pode sugerir uma dependência desatualizada ou insegura, ou escrever código com uma falha de segurança. Esse é um risco clássico à segurança da cadeia de suprimentos, em que uma ferramenta confiável acaba introduzindo componentes perigosos sem querer.
Em um artigo anterior, mostrei como o Gemini Code Assist pode introduzir código inseguro que atacantes podem explorar contra você. Veja um exemplo real de um projeto. Você consegue encontrar a vulnerabilidade?

Para reduzir esse risco de segurança, amplie os recursos do Gemini CLI adicionando o servidor Snyk MCP.
Observação: se você ainda não conhece o Model Context Protocol (MCP), recomendo ler este guia para iniciantes que explica visualmente a arquitetura do MCP.
Em resumo, o MCP é um padrão aberto que permite adicionar novas "ferramentas" e funcionalidades a agentes de IA. Ao integrar um servidor Snyk MCP, você dá ao agente do Gemini CLI a capacidade de executar verificações de segurança.
Você pode adotar uma postura de segurança segura desde o início configurando o Snyk MCP Server no arquivo .gemini/settings.json. Veja uma configuração básica:
{
"mcpServers": {
"Snyk Security": {
"command": "npx",
"args": ["-y", "snyk@latest", "mcp", "-t", "stdio"],
"trust": true
}
}
}
Com essa configuração, você pode pedir ao Gemini CLI que procure vulnerabilidades. Por exemplo, peça para:
"Verifique se há dependências inseguras no meu arquivo
package.json.""Analise o código novo que acabei de escrever em busca de possíveis falhas de segurança e sugira uma correção."
Essa integração permite que seu agente atue como um copiloto de segurança, detectando vulnerabilidades antes que cheguem à sua base de código e ajudando você a corrigi-las com um processo automatizado e orientado por IA.
Materiais úteis para saber mais sobre MCPs:
3. Pesquisa nativa do Google com o Gemini CLI
Um dos superpoderes integrados do Gemini CLI é a capacidade de pesquisar na Web usando o Google Search. Isso é essencial para fluxos de trabalho agentivos, pois permite que o agente acesse informações que não estão nos dados usados no treinamento. Além disso, pode ajudar bastante no seu fluxo de desenvolvimento. Em vez de alternar entre o navegador, o terminal e o IDE, você pode incorporar essa busca na Web diretamente ao terminal.
Com a ferramenta nativa do Google Search no Gemini CLI, o agente pode pesquisar erros, documentação de frameworks e outras informações, e usar todo esse contexto na tarefa em questão.
Você não precisa fazer nenhuma configuração especial: o recurso já vem ativado por padrão. Quando você envia um prompt que exige informações atualizadas ou externas, o agente usa o Google Search de forma inteligente para encontrar o que precisa, garantindo respostas precisas e relevantes.

4. Assistente pontual no terminal com Gemini -p
Às vezes, você não precisa de uma sessão agentiva completa para refatorar um projeto inteiro. Só quer uma ajuda rápida em uma tarefa pontual no terminal. O Gemini CLI oferece um modo não interativo exatamente para isso.
Com o padrão gemini -p <prompt>, você recebe uma resposta única e direcionada, sem iniciar uma sessão persistente. É perfeito para tarefas simples, como:
Perguntar como usar
git rebasecorretamente em um cenário complexo.Encontrar o comando
curlcerto para testar um endpoint de API.Gerar rapidamente uma expressão regular para um padrão específico.
Esse comando oferece o melhor dos dois mundos: o poder de raciocínio do Gemini no terminal, com a rapidez e a praticidade de um comando que você executa e pronto.

5. Comandos personalizados para o Gemini CLI
Cansou de digitar o mesmo prompt complexo toda vez que quer que o agente faça uma revisão de código? Os comandos personalizados resolvem esse problema: você pode criar seus próprios comandos de barra para o Gemini CLI.
Com os comandos personalizados, você substitui um prompt manual de várias linhas por um comando simples e fácil de lembrar, como /code:review. Isso economiza muito tempo e ajuda a padronizar seus fluxos de trabalho.

Por exemplo, veja como configurar um comando personalizado para revisão de código. Em geral, você cria um novo arquivo TOML no diretório .gemini/commands , com um prompt predefinido e outros parâmetros. Você também pode passar argumentos para esses comandos, o que os torna extremamente flexíveis. Por exemplo, /code:review pode receber o caminho de um arquivo como argumento.
Veja um exemplo de revisão de código retirado das notas de lançamento do Gemini CLI do Google:
description="Reviews a pull request based on issue number."
prompt = """
Please provide a detailed pull request review on GitHub issue: {{args}}.
Follow these steps:
1. Use `gh pr view {{args}}` to pull the information of the PR.
2. Use `gh pr diff {{args}}` to view the diff of the PR.
3. Understand the intent of the PR using the PR description.
4. If PR description is not detailed enough to understand the intent of the PR,
make sure to note it in your review.
5. Make sure the PR title follows Conventional Commits, here are the last five
commits to the repo as examples: !{git log --pretty=format:"%s" -n 5}
6. Search the codebase if required.
7. Write a concise review of the PR, keeping in mind to encourage strong code
quality and best practices.
8. Use `gh pr comment {{args}} --body {{review}}` to post the review to the PR.
Remember to use the GitHub CLI (`gh`) with the Shell tool for all
GitHub-related tasks.
"""
Esse recurso vai além de prompts simples e abre novas possibilidades de automação, permitindo que você crie e compartilhe com sua equipe fluxos de trabalho de desenvolvimento poderosos e repetíveis.
Confiar na IA significa segurança desde o início
Agentes de programação com IA podem multiplicar sua produtividade por 10, mas, sem confiança na IA, você sempre vai desconfiar do código gerado por LLMs — e com razão.
O Snyk resolve esse problema e permite que você proteja desde o início qualquer código gerado por LLMs, usando diferentes fluxos de trabalho, como o Snyk MCP Server, a extensão Snyk Security para IDE, o Snyk CLI e muitos outros pontos de integração para desenvolvedores.
O Snyk vai além e ajuda você a proteger servidores MCP (sim, servidores MCP podem ter vulnerabilidades).
Comece a usar a Snyk CLI
Instale a Snyk CLI para encontrar e corrigir vulnerabilidades nos seus projetos locais e pipelines.
npm install snyk -g