Personalizar o comportamento do Gemini Code Assist no GitHub

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 definido code_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 gravidade LOW ou MEDIUM, 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 definir memory_config: disabled: true para 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.

  1. No console do Google Cloud , acesse a página Agentes e ferramentas do Gemini Code Assist.

    Acessar "Agentes e ferramentas"

  2. 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.

  3. 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.

  4. Na guia Configurações, atualize as opções que você quer mudar.

  5. Clique em Salvar.

A seguir