Com o Gemini Code Assist no GitHub, você pode personalizar os comportamentos de revisão de código para repositórios individuais ou aplicar configurações de grupo em vários repositórios.
O Gemini Code Assist no GitHub também permite adicionar um arquivo
styleguide.md. Para mais informações sobre essa funcionalidade, consulte o guia de estilo de revisão de código.
Campos de configuração
Para modificar o comportamento do Gemini Code Assist no GitHub, adicione um arquivo config.yaml a uma pasta .gemini/ localizada na raiz de cada um dos seus repositórios. O arquivo config.yaml contém vários recursos configuráveis
que podem ser ativados ou desativados. Para uma lista completa de
campos, consulte o esquema config.yaml.
Confira a seguir uma lista de considerações sobre campos personalizáveis específicos no Gemini Code Assist no GitHub:
code_review: comment_severity_threshold: define a gravidade mínima para que o Gemini Code Assist poste comentários. Por exemplo, se você tiver definidocode_review: comment_severity_threshold: HIGH, o Gemini Code Assist não vai fornecer comentários de solicitação de envio para problemas que ele considera de gravidadeLOWouMEDIUM, como refatorações secundárias. O Gemini Code Assist determina a gravidade de um comentário com base no tipo e na importância do problema em questão. As violações do seu guia de estilo personalizado geralmente atendem ou excedem o limite de gravidade.ignore_patterns: esse campo usa padrões glob. Ao interagir com o repositório, o Gemini Code Assist ignora arquivos que correspondem a qualquer padrão nessa lista.memory_config: esse campo é aplicável se você já tiver ativado a qualidade de resposta aprimorada para vários repositórios. Ao ativar a melhoria da qualidade da resposta para vários repositórios, é possível definirmemory_config: disabled: truepara um repositório específico no agrupamento, o que desativa o recurso para esse repositório.
config.yaml esquema
O snippet de código a seguir é o esquema do arquivo config.yaml. Ele
define todas as opções de configuração possíveis e os valores aceitos:
$schema: "http://json-schema.org/draft-07/schema#" title: RepoConfig description: Configuration for Gemini Code Assist on a repository. All fields are optional and have default values. type: object properties: have_fun: type: boolean description: Enables fun features such as a poem in the initial pull request summary. Default: false. ignore_patterns: type: array items: type: string description: A list of glob patterns for files and directories that Gemini Code Assist should ignore. Default: []. memory_config: type: object description: Configuration for persistent memory, which is used to improve responses. properties: disabled: type: boolean description: Whether to disable persistent memory for this specific repository. Default: false. code_review: type: object description: Configuration for code reviews. All fields are optional and have default values. properties: disable: type: boolean description: Disables Gemini from acting on pull requests. Default: false. comment_severity_threshold: type: string enum: - LOW - MEDIUM - HIGH - CRITICAL description: The minimum severity of review comments to consider. Default: MEDIUM. max_review_comments: type: integer format: int64 description: The maximum number of review comments to consider. Use -1 for unlimited. Default: -1. pull_request_opened: type: object description: Configuration for pull request opened events. All fields are optional and have default values. properties: help: type: boolean description: Posts a help message on pull request open. Default: false. summary: type: boolean description: Posts a pull request summary on the pull request open. Default: false. code_review: type: boolean description: Posts a code review on pull request open. Default: true. include_drafts: type: boolean description: Enables agent functionality on draft pull requests. Default: true.
Exemplo de config.yaml
O snippet de código a seguir é um exemplo de arquivo config.yaml. Neste exemplo, cada propriedade é definida como o valor padrão usado pelo Gemini Code Assist. Use este snippet como modelo para
criar seu próprio arquivo config.yaml:
have_fun: false
memory_config:
disabled: false
code_review:
disable: false
comment_severity_threshold: MEDIUM
max_review_comments: -1
pull_request_opened:
help: false
summary: false
code_review: true
include_drafts: true
ignore_patterns: []
Gerenciar configurações em vários repositórios
É possível ativar ou desativar determinadas configurações para vários repositórios quando eles são agrupados por uma conexão do Developer Connect. Essas configurações coletivas são gerenciadas pelo console Google Cloud .
Se um repositório for gerenciado como parte de um grupo, mas também tiver seu próprio
config.yaml, as configurações de config.yaml do repositório vão substituir as configurações do grupo.
Para conferir o comportamento e as exceções de uma configuração específica, analise o esquema config.yaml.
As etapas a seguir mostram como controlar um conjunto de configurações em vários repositórios. Estas etapas partem do princípio de que você já configurou o Gemini Code Assist no GitHub.
No console do Google Cloud , acesse a página Agentes e ferramentas do Gemini Code Assist.
Na seção Agentes, localize o card Gerenciamento de código-fonte da assistência de código e clique em Avançado.
O painel Editar gerenciamento de código do Code Assist para a origem é aberto.
Na tabela Conexões, clique no nome da conexão a que você quer aplicar uma configuração.
A página de detalhes da conexão é aberta.
Na guia Configurações, atualize as opções que você quer mudar.
Clique em Salvar.
A seguir
- Adicione um guia de estilo para o Gemini Code Assist no GitHub.