
Uma Ação do GitHub que invoca o Gemini CLI.
run-gemini-cli é uma GitHub Action que integra o Gemini ao seu fluxo de desenvolvimento através do Gemini CLI. Atua tanto como um agente autônomo para tarefas rotineiras críticas de codificação, quanto como um colaborador sob demanda para quem você pode delegar trabalho rapidamente.
Use-o para realizar revisões de pull requests no GitHub, triar issues, realizar análise e modificação de código, e muito mais usando o Gemini de forma conversacional (ex.: @gemini-cli corrija esta issue) diretamente nos seus repositórios GitHub.
@gemini-cli /review).gh).GEMINI.md no seu repositório para fornecer instruções e contexto específicos do projeto para o Gemini CLI.Comece a usar o Gemini CLI no seu repositório em apenas alguns minutos:
Obtenha sua chave de API no Google AI Studio com quotas gratuitas generosas.
Armazene sua chave de API como um segredo chamado GEMINI_API_KEY no seu repositório:
GEMINI_API_KEY, Valor: sua chave de API.Adicione as seguintes entradas ao seu arquivo .gitignore:
# configurações do gemini-cli
.gemini/
# credenciais do GitHub App
gha-creds-*.json
Você tem duas opções para configurar um fluxo de trabalho:
Opção A: Usar o comando de configuração (Recomendado)
Inicie o Gemini CLI no seu terminal:
gemini
No Gemini CLI no seu terminal, digite:
/setup-github
Opção B: Copiar fluxos de trabalho manualmente
examples/workflows para o diretório .github/workflows do seu repositório. Nota: o fluxo de trabalho gemini-dispatch.yml também deve ser copiado, pois aciona a execução dos fluxos de trabalho.Revisão de Pull Request:
@gemini-cli /review em um pull request existente para acionar manualmente uma revisão.Triagem de Issues:
@gemini-cli /triage em issues existentes para acionar manualmente a triagem.Assistência Geral de IA:
@gemini-cli seguido da sua solicitação.@gemini-cli explique esta mudança de código@gemini-cli sugira melhorias para esta função@gemini-cli me ajude a depurar este erro@gemini-cli escreva testes unitários para este componenteEsta ação fornece vários fluxos de trabalho pré-construídos para diferentes casos de uso. Cada fluxo de trabalho foi projetado para ser copiado para o diretório .github/workflows do seu repositório e personalizado conforme necessário.
Este fluxo de trabalho atua como um despachante central para o Gemini CLI, roteando solicitações para o fluxo de trabalho apropriado com base no evento acionador e no comando fornecido no comentário. Para um guia detalhado sobre como configurar o fluxo de trabalho de despacho, acesse a documentação do fluxo de trabalho Gemini Dispatch.
Esta ação pode ser usada para triar issues do GitHub automaticamente ou em uma agenda. Para um guia detalhado sobre como configurar o sistema de triagem de issues, acesse a documentação do fluxo de trabalho de Triagem de Issues no GitHub.
Esta ação pode ser usada para revisar automaticamente pull requests quando eles são abertos. Para um guia detalhado sobre como configurar o sistema de revisão de pull requests, acesse a documentação do fluxo de trabalho de Revisão de PR no GitHub.
Este tipo de ação pode ser usado para invocar um assistente de IA Gemini conversacional de uso geral dentro de pull requests e issues para realizar uma ampla gama de tarefas. Para um guia detalhado sobre como configurar o fluxo de trabalho Gemini CLI de uso geral, acesse a documentação do fluxo de trabalho do Assistente Gemini.
gcp_location: (Opcional) A localização do Google Cloud.
gcp_project_id: (Opcional) O ID do projeto Google Cloud.
gcp_service_account: (Opcional) O e-mail da conta de serviço do Google Cloud.
gcp_workload_identity_provider: (Opcional) O provedor de identidade de carga de trabalho do Google Cloud.
gcp_token_format: (Opcional, padrão: access_token) O formato do token para autenticação. Defina como "access_token" para gerar tokens de acesso (requer conta de serviço) ou deixe vazio para WIF direto. Pode ser "access_token" ou "id_token".
gcp_access_token_scopes: (Opcional, padrão: https://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/userinfo.email,https://www.googleapis.com/auth/userinfo.profile) Os escopos do token de acesso ao usar token_format "access_token". Lista separada por vírgulas de escopos OAuth 2.0.
summary: A saída resumida da execução do Gemini CLI.
error: A saída de erro da execução do Gemini CLI, se houver.
Recomendamos definir os seguintes valores como variáveis do repositório para que possam ser reutilizados em todos os fluxos de trabalho. Alternativamente, você pode defini-los inline como entradas da ação em fluxos de trabalho individuais ou para substituir valores de nível de repositório.
[!WARNING] Não use a variável de ambiente
DEBUG, pois ela faz com que o Gemini CLI pare, aguardando a conexão do depurador do Node.
Para adicionar uma variável de repositório:
Para detalhes sobre variáveis de repositório, consulte a documentação do GitHub sobre variáveis.
Você pode definir os seguintes segredos no seu repositório:
Para adicionar um segredo:
Para mais informações, consulte a documentação oficial do GitHub sobre criação e uso de segredos criptografados.
Esta ação requer autenticação tanto nos serviços do Google (para o Gemini AI) quanto na API do GitHub.
Escolha o método de autenticação que melhor se adequa ao seu caso de uso:
Você pode autenticar no GitHub de duas maneiras:
GITHUB_TOKEN padrão: Para casos de uso mais simples, a ação pode usar o GITHUB_TOKEN padrão fornecido pelo fluxo de trabalho.Para instruções detalhadas de configuração para autenticação do Google e do GitHub, acesse a documentação de Autenticação.
Esta ação pode ser configurada para enviar dados de telemetria (traces, métricas e logs) para seu próprio projeto Google Cloud. Isso permite monitorar o desempenho e o comportamento do Gemini CLI em seus fluxos de trabalho, fornecendo insights valiosos para depuração e otimização.
Para instruções detalhadas sobre como configurar a observabilidade, acesse a documentação de Observabilidade.
O Gemini CLI pode ser estendido com funcionalidades adicionais através de extensões. Essas extensões são instaladas a partir do código-fonte de seus repositórios no GitHub.
Para instruções detalhadas sobre como configurar extensões, acesse a documentação de Extensões.
Para garantir a segurança, confiabilidade e eficiência de seus fluxos de trabalho automatizados, recomendamos fortemente seguir nossas melhores práticas. Essas diretrizes cobrem áreas-chave como segurança do repositório, configuração de fluxo de trabalho e monitoramento.
Principais recomendações:
Para um guia abrangente sobre como proteger seu repositório e fluxos de trabalho, consulte nossa documentação de Melhores Práticas.
Crie um arquivo GEMINI.md na raiz do seu repositório para fornecer contexto e instruções específicos do projeto para o Gemini CLI. Isso é útil para definir convenções de codificação, padrões arquiteturais ou outras diretrizes que o modelo deve seguir para um determinado repositório.
Contribuições são bem-vindas! Consulte o Guia de Contribuição do Gemini CLI para mais detalhes sobre como começar.
gemini_api_key: (Opcional) A chave de API para a API Gemini.
gemini_cli_version: (Opcional, padrão: latest) A versão do Gemini CLI a ser instalada. Pode ser "latest", "preview", "nightly", um número de versão específico, ou um branch, tag ou commit do git. Para mais informações, consulte Lançamentos do Gemini CLI.
gemini_debug: (Opcional) Ativa o registro de depuração e streaming de saída.
gemini_model: (Opcional) O modelo a ser usado com o Gemini.
google_api_key: (Opcional) A chave de API do Vertex AI para usar com o Gemini.
prompt: (Opcional, padrão: You are a helpful assistant.) Uma string passada para o argumento --prompt do Gemini CLI.
settings: (Opcional) Uma string JSON gravada em .gemini/settings.json para configurar as configurações do projeto do CLI.
Para mais detalhes, veja a documentação sobre arquivos de configurações.
use_gemini_code_assist: (Opcional, padrão: false) Se deve usar o Code Assist para acesso ao modelo Gemini em vez da chave de API Gemini padrão.
Para mais informações, consulte a documentação do Gemini CLI.
use_vertex_ai: (Opcional, padrão: false) Se deve usar o Vertex AI para acesso ao modelo Gemini em vez da chave de API Gemini padrão.
Para mais informações, consulte a documentação do Gemini CLI.
extensions: (Opcional) Uma lista de extensões do Gemini CLI para instalar.
upload_artifacts: (Opcional, padrão: false) Se deve enviar artefatos para a ação do GitHub.
use_pnpm: (Opcional, padrão: false) Se deve usar pnpm em vez de npm para instalar o gemini-cli.
workflow_name: (Opcional, padrão: ${{ github.workflow }}) O nome do fluxo de trabalho do GitHub, usado para fins de telemetria.
github_pr_number: (Opcional, padrão: ${{ github.event.pull_request.number }}) O número do Pull Request no qual o CLI está operando. Padrão é o payload do evento.
github_issue_number: (Opcional, padrão: ${{ github.event.issue.number }}) O número da Issue (ou lista separada por vírgulas de números de issues) no qual o CLI está operando. Padrão é o payload do evento.
| Nome | Descrição | Tipo | Obrigatório | Quando Obrigatório |
|---|
GEMINI_DEBUG | Ativa o registro de depuração para o Gemini CLI. | Variável | Não | Nunca |
GEMINI_CLI_VERSION | Controla qual versão do Gemini CLI é instalada. | Variável | Não | Fixar a versão do CLI |
GCP_WIF_PROVIDER | Nome completo do recurso do Provedor de Identidade de Carga de Trabalho. | Variável | Não | Usando Google Cloud |
GOOGLE_CLOUD_PROJECT | Projeto Google Cloud para inferência e observabilidade. | Variável | Não | Usando Google Cloud |
SERVICE_ACCOUNT_EMAIL | Endereço de e-mail da conta de serviço do Google Cloud. Opcional – necessário apenas para WIF com conta de serviço (não obrigatório para WIF direta). | Variável | Não | Usando WIF com conta de serviço |
GOOGLE_CLOUD_LOCATION | Região do projeto Google Cloud. | Variável | Não | Usando Google Cloud |
GOOGLE_GENAI_USE_VERTEXAI | Defina como true para usar o Vertex AI. | Variável | Não | Usando Vertex AI |
GOOGLE_GENAI_USE_GCA | Defina como true para usar o Gemini Code Assist. | Variável | Não | Usando Gemini Code Assist |
APP_ID | ID do GitHub App para autenticação personalizada. | Variável | Não | Usando um GitHub App personalizado. |
| Nome | Descrição | Obrigatório | Quando Obrigatório |
|---|
GEMINI_API_KEY | Sua chave de API Gemini do Google AI Studio. | Não | Você não tem um projeto GCP. |
APP_PRIVATE_KEY | Chave privada para seu GitHub App (formato PEM). | Não | Usando um GitHub App personalizado. |
GOOGLE_API_KEY | Sua chave de API Google para usar com o Vertex AI. | Não | Você tem uma conta express do Vertex AI. |