Personaliza el comportamiento de Gemini Code Assist en GitHub

Puedes modificar el comportamiento de Gemini Code Assist en GitHub para repositorios individuales agregando un archivo config.yaml a una carpeta .gemini/ ubicada en la raíz del repositorio. El archivo config.yaml contiene varias funciones configurables que puedes habilitar o inhabilitar. Puedes realizar configuraciones grupales en varios repositorios para un subconjunto de comportamientos de Gemini Code Assist en GitHub.

Gemini Code Assist también admite agregar un archivo styleguide.md a la carpeta .gemini/, que le indica a Gemini Code Assist algunas reglas específicas que deseas que siga cuando realice una revisión de código. Para obtener más información sobre las guías de estilo de Gemini Code Assist, consulta la Guía de estilo de revisión de código.

Campos de configuración

En esta sección, se describen las consideraciones para campos personalizables específicos en Gemini Code Assist en GitHub. Para obtener una lista completa de los campos, consulta el config.yaml esquema.

  • code_review: comment_severity_threshold: Este campo establece la gravedad mínima para la que Gemini Code Assist publica comentarios. Por ejemplo, si configuraste code_review: comment_severity_threshold: HIGH, Gemini Code Assist no proporcionará comentarios de solicitudes de extracción para problemas que considere de gravedad LOW o MEDIUM, como refactorizaciones menores. Gemini Code Assist determina la gravedad de un comentario en función del tipo y la importancia del problema en cuestión, y las infracciones de tu guía de estilo personalizada suelen cumplir o superar el umbral de gravedad.

  • ignore_patterns: Este campo usa patrones glob. Cuando interactúa con el repositorio, Gemini Code Assist ignora los archivos que coinciden con cualquier patrón de esta lista.

  • memory_config: Este campo es aplicable si habilitaste previamente la calidad de respuesta mejorada para varios repositorios. Cuando habilitas la calidad de respuesta mejorada para varios repositorios, puedes configurar memory_config: disabled: true para un repositorio específico dentro de la agrupación, lo que inhabilita la función para ese repositorio.

Esquema config.yaml

El siguiente fragmento de código es el esquema del archivo config.yaml. Define todas las opciones de configuración posibles y sus valores aceptados:

$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: true.
          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.

Ejemplo de config.yaml

El siguiente fragmento de código es un ejemplo de un archivo config.yaml. En este ejemplo, cada propiedad se establece en el valor predeterminado que usa Gemini Code Assist. Puedes usar este fragmento como plantilla para crear tu propio archivo 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: true
    code_review: true
    include_drafts: true
ignore_patterns: []

Administra configuraciones en varios repositorios

Algunos aspectos de Gemini Code Assist en GitHub se pueden administrar en varios repositorios:

  • Si tienes la versión para consumidores, puedes activar o desactivar ciertos parámetros de configuración para todos los repositorios asociados con una cuenta.

  • Si tienes la versión Enterprise, puedes activar o desactivar ciertos parámetros de configuración para varios repositorios agrupados por una conexión de Developer Connect. Cuando lo haces, administras su configuración colectiva a través de la consola de Google Cloud.

Si un repositorio se administra como parte de un grupo, pero también tiene su propio config.yaml, la configuración config.yaml del repositorio anula la configuración del grupo.

Para conocer el comportamiento y las excepciones de la configuración específica, revisa el esquema config.yaml.

En los siguientes pasos, se muestra cómo controlar un conjunto de configuraciones en varios repositorios. En estos pasos, se supone que ya configuraste Gemini Code Assist en GitHub.

Consumidor

  1. En Gemini Code Assist, ve a la página de configuración.

    Ir a Configuración

  2. Si se te solicita, haz clic en Acceder con GitHub y sigue las indicaciones para acceder a GitHub desde Gemini Code Assist.

  3. En la página Gemini , selecciona la cuenta con la que deseas trabajar, revisa las Condiciones del Servicio y haz clic en Continuar.

  4. En la página Agente gratuito, actualiza la configuración según sea necesario.

  5. Haz clic en Guardar.

Enterprise

  1. En la consola de Google Cloud, ve a la página Agentes y herramientas de Gemini Code Assist.

    Ir a Agentes y herramientas

  2. En la sección Agentes , busca la tarjeta Administración del código fuente de Code Assist y haz clic en Avanzado.

    Se abrirá el panel Editar la administración del código fuente de Code Assist.

  3. En la tabla Conexiones, haz clic en el nombre de la conexión a la que deseas aplicar una configuración.

    Se abrirá la página de detalles de la conexión.

  4. En la pestaña Configuración, actualiza los parámetros de configuración que quieras cambiar.

  5. Haz clic en Guardar.

¿Qué sigue?