Guia de Desenvolvimento com Gemini Code Assist e CLI

📦 Repositório Oficial: google-gemini/gemini-cli
Índice
- Visão Geral
- Características Comuns
- Comparação: Gemini CLI vs Code Assist
- Gemini CLI
- Instalação
- Integração com VS Code
- Configuração
- MCP Servers (Model Context Protocol)
- Comandos do Gemini CLI
- Dicas de Uso
- Prompts Reutilizáveis
- Melhores Práticas
- Troubleshooting
- Gemini Code Assist
- Instalação
- Configuração
- Funcionalidades
- Quotas e Limites
- Melhores Práticas
- Recursos Adicionais
- Conclusão
Visão Geral
Este guia cobre duas ferramentas de IA do Google para desenvolvimento:
- Gemini CLI: Interface de linha de comando flexível e extensível
- Gemini Code Assist: Solução empresarial integrada ao Google Cloud Platform
Características Comuns
Ambas as ferramentas compartilham:
- Modelo Recomendado: Gemini Pro 2.5 para melhor qualidade de resposta
- Janela de Contexto: 1 milhão de tokens - permite análise de projetos inteiros, múltiplos arquivos e contexto extenso em uma única conversa
- Integração VS Code: Nativa com diff visual para aceitar/rejeitar mudanças
- Contexto Automático: Detecta e inclui arquivos abertos na IDE automaticamente
⚠️ Importante sobre Modelos: Recomendamos sempre usar Gemini Pro 2.5 para melhor qualidade de resposta. O modelo Flash, embora tenha limite diário maior (~1.000 req/dia), pode produzir resultados inferiores e não é recomendado para desenvolvimento profissional.
Comparação: Gemini CLI vs Code Assist
| Característica | Gemini CLI | Gemini Code Assist |
|---|---|---|
| Web Search | ✅ Nativo | ❌ Não disponível |
| MCP Servers | ✅ Suporte completo | ❌ Limitado |
| Limite Diário (Free) | ~100 req/dia (Pro 2.5) | N/A |
| Quotas Empresariais | ⚠️ Limitado ao tier gratuito | ✅ Configuráveis via GCP |
| Flexibilidade | ✅ Terminal + IDE + Scripts | ⚠️ Limitado ao IDE |
| Automação | ✅ Fácil de integrar | ⚠️ Mais complexo |
| Atualizações | ✅ Frequentes | ⚠️ Mais lentas |
Quando usar cada ferramenta
Gemini CLI: - ✅ Desenvolvimento ágil individual - ✅ Scripts e automação - ✅ Busca na web em tempo real - ✅ Exploração rápida e prototipagem - ✅ Máxima flexibilidade (terminal + IDE) - ⚠️ Limite de ~100 requisições/dia (tier gratuito)
Gemini Code Assist: - ✅ Ambientes corporativos - ✅ Alta demanda de uso - ✅ Quotas empresariais personalizadas via GCP - ✅ Integração com Google Cloud - ✅ Suporte empresarial - ⚠️ Limitado ao IDE (sem terminal standalone)
Gemini CLI
Instalação
Pré-requisitos
- Node.js (versão 18 ou superior)
- npm
- Conta Google
Instalando o Gemini CLI
npm install -g @google/gemini-cli
Autenticação
Opção 1: Free tier (conta Google)
gemini
# Após abrir, digite:
/auth
Opção 2: API Key
Configure sua chave de API do Gemini como variável de ambiente:
export GEMINI_API_KEY="sua-chave-api-aqui"
Para tornar permanente, adicione ao seu arquivo ~/.zshrc:
echo 'export GEMINI_API_KEY="sua-chave-api-aqui"' >> ~/.zshrc
source ~/.zshrc
Integração com VS Code
O Gemini CLI se integra nativamente ao VS Code oferecendo:
✅ Diff Visual Integrado
- Exibe mudanças de código diretamente no editor
- Interface visual para aceitar/rejeitar alterações
- Preview lado a lado das modificações
✅ Contexto Automático de Arquivos
- Detecta automaticamente arquivos abertos no editor
- Inclui o conteúdo no contexto da conversa
- Não precisa referenciar manualmente com
@arquivo.js
✅ Terminal Integrado
- Execute
geminino terminal integrado do VS Code - Aceite/rejeite mudanças visualmente no editor
- Workflow fluido sem sair do ambiente
Exemplo de Uso com Diff Visual
- Abra um arquivo no VS Code
- Abra o terminal integrado (
Cmd+`) - Execute
gemini - Faça sua pergunta referenciando o arquivo:
gemini
# No input:
@src/utils/validation.js Melhore esta validação de email com regex adequado
O Gemini mostra o diff visual:
- function validateEmail(email) {
- return email.includes('@');
- }
+ function validateEmail(email) {
+ const regex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
+ return regex.test(email);
+ }
✅ Você aceita ou rejeita a mudança diretamente no editor!
Configuração
Configuração Global vs Projeto
O Gemini CLI suporta dois níveis de configuração:
Configuração Global (~/.gemini/)
Configurações aplicadas a todos os projetos:
mkdir -p ~/.gemini
Arquivo ~/.gemini/settings.json:
{
"context": {
"fileName": "AGENTS.md"
},
"mcpServers": {
"context7": {
"command": "npx",
"args": [
"-y",
"@upstash/context7-mcp"
]
},
"youtube-transcript-mcp": {
"command": "npx",
"args": [
"-y",
"--package=github:lucasliet/youtube-transcript-mcp#main",
"youtube-transcript-mcp"
]
},
"tavily-web-search": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://mcp.tavily.com/mcp/?tavilyApiKey=<your-api-key>"
]
}
}
}
Arquivo ~/.gemini/commands/: Comandos customizados disponíveis globalmente
Configuração de Projeto (.gemini/ no projeto)
Configurações aplicadas apenas ao projeto específico:
# Na raiz do seu projeto
mkdir -p .gemini
Arquivo AGENTS.md: Contexto específico do projeto
Pasta .gemini/commands/: Comandos customizados exclusivos do projeto
💡 Prioridade: Configurações do projeto sobrescrevem configurações globais quando há conflito.
📚 Referência: Para criar um AGENTS.md eficaz, consulte agents.md - guia oficial sobre agentes de IA e boas práticas de contexto.
MCP Servers (Model Context Protocol)
MCP Servers estendem as capacidades do Gemini CLI, permitindo integração com serviços externos.
Context7 MCP
Função: Documentação atualizada de bibliotecas e frameworks populares
Documentação: github.com/upstash/context7-mcp
Exemplo:
gemini
# No input:
Como usar hooks no React?
YouTube Transcript MCP
Função: Extrai e processa transcrições de vídeos do YouTube
Documentação: github.com/lucasliet/youtube-transcript-mcp
Exemplo:
gemini
# No input:
Resuma o vídeo https://youtube.com/watch?v=...
Tavily Web Search MCP (Opcional)
Função: Busca web em tempo real com IA otimizada - útil para adicionar capacidade de web search ao Gemini Code Assist via extensões MCP
Documentação: tavily.com
Configuração: Obtenha sua API key em app.tavily.com
💡 Nota: O Gemini CLI possui web search nativo e não requer Tavily. Este MCP é útil principalmente para usuários do Gemini Code Assist que desejam adicionar funcionalidade de busca web.
Comandos do Gemini CLI
💡 Dica: Digite
/no modo interativo para ver todos os comandos disponíveis
Modo Interativo (Recomendado)
gemini
Inicia uma sessão interativa. Digite suas perguntas diretamente no input.
Listar Comandos
gemini
# No input, digite:
/
Exibe todos os comandos disponíveis com descrições.
Analisar Arquivo
gemini
# No input:
@arquivo.js Explique este código
Múltiplos Arquivos
gemini
# No input:
@src/models/User.js @src/services/auth.js Como integrar estes módulos?
Salvar Conversa
gemini
# No input:
/chat save nome-da-conversa
Retomar Conversa
gemini
# No input:
/chat resume nome-da-conversa
Modo Sandbox
gemini
# No input:
/sandbox
Teste este código com diferentes inputs
Permite executar código de forma segura e isolada.
Dicas de Uso
1. Seja Específico nas Perguntas
❌ Ruim: "Como fazer autenticação?" ✅ Bom: "Como implementar autenticação JWT com refresh tokens em Node.js usando Express?"
2. Use Contexto de Arquivos
gemini
# No input:
@src/models/User.js @src/services/auth.js Como integrar estes módulos?
3. Aproveite o AGENTS.md
Configure corretamente o arquivo AGENTS.md para que o Gemini entenda o contexto do seu projeto automaticamente.
4. Use MCP Servers Estrategicamente
- Context7: Documentação oficial de frameworks
- YouTube Transcript: Aprender com vídeos técnicos
- Tavily: Soluções recentes e artigos atualizados
5. Combine Ferramentas
gemini
# No input:
Busque informações sobre Clean Architecture e sugira como aplicar em @src/services
6. Use GitHub Spec Kit para Desenvolvimento Estruturado
Para projetos novos ou refatorações grandes, combine o Gemini CLI com o GitHub Spec Kit para desenvolvimento orientado por especificações:
gemini
# No input:
Ajude-me a criar a constituição e especificação usando GitHub Spec Kit para este projeto
💡 Recomendação: O GitHub Spec Kit é ideal para estruturar projetos complexos antes da implementação. Consulte o Guia de Uso do GitHub Spec Kit para fluxo de trabalho detalhado.
7. Diff Visual no VS Code
Use o terminal integrado do VS Code para aproveitar o diff visual:
- Abra o arquivo que deseja modificar
- Abra o terminal integrado (
Cmd+`) - Execute
gemini - Faça suas perguntas referenciando arquivos
- Aceite/rejeite mudanças visualmente
8. Gere Testes Automaticamente
gemini
# No input:
@src/utils/validator.js Gere testes unitários completos para este módulo
9. Documente Código
gemini
# No input:
@src/services/payment.js Adicione JSDoc completo para todas as funções
10. Peça Explicações Passo a Passo
gemini
# No input:
Explique passo a passo como @arquivo.js funciona
Prompts Reutilizáveis
Você pode criar prompts customizados em arquivos .toml para automatizar tarefas repetitivas.
Localização dos Comandos
- Global (
~/.gemini/commands/): Comandos disponíveis em todos os projetos - Projeto (
.gemini/commands/na raiz do projeto): Comandos específicos do projeto, compartilháveis com a equipe via Git
Organização e Boas Práticas
- Documente queries úteis: Salve prompts frequentes como comandos reutilizáveis
- Comandos globais: Use
~/.gemini/commands/para comandos genéricos (ex: refatoração, documentação) - Comandos de projeto: Use
.gemini/commands/para comandos específicos da arquitetura/stack do projeto - Compartilhe com a equipe: Comandos de projeto podem ser versionados no Git
- Nomeie descritivamente: Use nomes claros que indiquem a função do comando
Exemplo: ~/.gemini/commands/load-folder.toml
description = "Carrega todos os arquivos de um diretório e seus subdiretórios no contexto"
prompt = """
Você deve carregar TODOS os arquivos do diretório {{args}} e de TODAS as suas subpastas recursivamente.
Instruções:
1. Liste a estrutura completa de diretórios e arquivos dentro de {{args}} recursivamente
2. Identifique todos os caminhos de arquivos (não diretórios) encontrados
3. Use a ferramenta ReadManyFiles passando TODOS os caminhos de arquivos de uma vez
4. Não filtre arquivos por tipo ou extensão - carregue todos
5. Confirme quantos arquivos foram carregados ao final
Importante:
- {{args}} é o caminho relativo à pasta atual
- Explore recursivamente todas as subpastas
- Use ReadManyFiles com a lista completa de arquivos encontrados
- Não pule nenhum arquivo
"""
Nota:
ReadManyFilesé uma ferramenta interna do Gemini CLI usada para carregar múltiplos arquivos de uma vez no contexto.
Melhores Práticas
Segurança
- Nunca exponha sua chave de API em repositórios públicos
- Use variáveis de ambiente para credenciais
- Configuração global (
~/.gemini/): Mantenha API keys e credenciais aqui, nunca versione no Git - Configuração de projeto (
.gemini/): Pode ser versionada, mas adicione ao.gitignorese contiver dados sensíveis do projeto
Performance
- Mantenha o AGENTS.md conciso e relevante
- Use arquivos de contexto específicos quando possível
- Limite o número de arquivos referenciados em uma única query
- Aproveite a janela de contexto de 1M tokens, mas evite sobrecarga desnecessária
Troubleshooting
Erro: "Quota exceeded"
Problema: Limite diário atingido
Soluções:
1. Aguardar: O limite reseta a cada 24 horas
2. Trocar conta: Use /auth para logar com outra conta Google
3. Upgrade: Considere tier pago via Google AI Studio
4. Empresarial: Migre para Gemini Code Assist com quotas GCP
⚠️ Evite Gemini Flash: Embora tenha limite maior (~1.000 req/dia), a qualidade é inferior. Use apenas em situações onde a qualidade da resposta não é crítica.
MCP Server não responde
Verifique se o Node.js está atualizado:
node --version # Deve ser >= 18
npx -y @upstash/context7-mcp --version
Contexto não está sendo aplicado
Verifique se o AGENTS.md existe e está configurado no projeto:
ls -la AGENTS.md
cat .gemini/settings.json
Ou verifique a configuração global:
cat ~/.gemini/settings.json
Gemini Code Assist
Visão Geral
O Gemini Code Assist é uma solução empresarial integrada ao Google Cloud Platform, projetada para ambientes corporativos que necessitam de alta demanda e quotas personalizadas.
Instalação
VS Code
- Acesse o VS Code Marketplace
- Instale a extensão "Gemini Code Assist"
- Configure suas credenciais do Google Cloud
JetBrains IDEs
- Acesse o JetBrains Marketplace
- Instale o plugin "Gemini Code Assist"
- Configure suas credenciais do Google Cloud
Configuração
Pré-requisitos
- Conta Google Cloud Platform
- Projeto GCP com Gemini API habilitada
- Credenciais configuradas
Autenticação
- Abra o VS Code
Cmd+Shift+P→ "Gemini Code Assist: Sign In"- Faça login com sua conta GCP
- Selecione o projeto
Funcionalidades
✅ Sugestões de Código em Tempo Real
O Code Assist oferece sugestões contextuais enquanto você digita, similar ao GitHub Copilot.
✅ Geração de Código
Selecione código e peça modificações via:
- Clique direito → "Gemini Code Assist: Generate"
- Cmd+Shift+P → "Gemini Code Assist: Generate"
✅ Explicação de Código
Selecione código e peça explicações: - Clique direito → "Gemini Code Assist: Explain" - Painel lateral com explicação detalhada
✅ Geração de Testes
Selecione uma função e gere testes automaticamente: - Clique direito → "Gemini Code Assist: Generate Tests"
✅ Diff Visual Integrado
Todas as modificações são exibidas com diff visual para aceitar/rejeitar.
Quotas e Limites
O Gemini Code Assist utiliza quotas do Google Cloud Platform:
- Quotas Configuráveis: Defina limites personalizados no GCP
- Sem Limite Fixo Diário: Baseado em uso e configuração GCP
- Faturamento: Integrado à sua conta GCP
- Escalabilidade: Ajuste conforme necessidade da equipe
Para configurar quotas, acesse Google Cloud Console.
Comparação com Gemini CLI
Use Gemini Code Assist quando: - Trabalha em ambiente corporativo - Precisa de alta demanda de requisições - Necessita de quotas personalizadas e escaláveis - Quer integração total com GCP - Prefere suporte empresarial
Use Gemini CLI quando: - Trabalha individualmente ou em equipe pequena - Precisa de flexibilidade (terminal + IDE + scripts) - Quer recursos extras (MCP Servers, web search nativo) - Limite de ~100 req/dia é suficiente - Prefere ferramenta mais atualizada e com mais features
Recursos Adicionais
Gemini CLI
- Repositório Oficial - Código-fonte e documentação técnica
- Documentação de Comandos - Lista completa de comandos
Gemini Code Assist
- Documentação Oficial - Visão geral e guias
- VS Code Marketplace
- JetBrains Marketplace
Gemini API e Recursos
Metodologias e Frameworks
- GitHub Spec Kit - Desenvolvimento orientado por especificações com IA
- agents.md - Guia oficial sobre agentes de IA e criação de arquivos AGENTS.md
Conclusão
Gemini CLI
✅ Integração nativa com VS Code - Diff visual e contexto automático ✅ Web Search nativo em tempo real - sem necessidade de MCP adicional ✅ Documentação atualizada via Context7 MCP ✅ Aprendizado de vídeos via YouTube Transcript MCP ✅ Flexibilidade total - Terminal + VS Code + Scripts ✅ Atualizações frequentes com novos recursos ✅ Automação fácil para CI/CD e workflows ⚠️ Limite de ~100 req/dia (tier gratuito com Pro 2.5)
Gemini Code Assist
✅ Quotas empresariais configuráveis via GCP ✅ Sem limite fixo diário ✅ Integração GCP nativa ✅ Suporte empresarial ✅ Escalabilidade conforme demanda ⚠️ Limitado ao IDE (sem terminal standalone) ⚠️ Menos features que o CLI (sem MCP, sem web search)
Próximos Passos
Para Gemini CLI:
- Configure
~/.gemini/settings.jsoncom os MCP Servers (global) - Crie um arquivo
AGENTS.mdna raiz do seu projeto com contexto específico - Configure
.gemini/settings.jsonno projeto apontando para o AGENTS.md - Crie comandos customizados em
~/.gemini/commands/(globais) ou.gemini/commands/(projeto) - Teste diferentes comandos digitando
/no modo interativo - Monitore seu uso de quota e ajuste conforme necessário
Para Gemini Code Assist:
- Instale a extensão no VS Code ou plugin no JetBrains
- Configure suas credenciais GCP
- Defina quotas adequadas no Google Cloud Console
- Integre com outros serviços GCP se necessário
- Monitore custos e uso regularmente
Lembre-se: Ambas as ferramentas são poderosas e complementares. Escolha de acordo com suas necessidades de uso, quota e flexibilidade.