Personalizzare il comportamento di Gemini Code Assist in GitHub

Gemini Code Assist su GitHub ti consente di personalizzare i comportamenti di revisione del codice per singoli repository o di applicare configurazioni di gruppo a più repository.

Gemini Code Assist su GitHub supporta anche l'aggiunta di un file styleguide.md. Per saperne di più su questa funzionalità, consulta la guida di stile per la revisione del codice.

Campi di configurazione

Modifica il comportamento di Gemini Code Assist su GitHub aggiungendo un file config.yaml a una cartella .gemini/ che si trova nella radice di ciascuno dei tuoi repository. Il file config.yaml contiene varie funzionalità configurabili che puoi attivare o disattivare. Per un elenco completo dei campi, consulta lo schema config.yaml.

Di seguito è riportato un elenco di considerazioni per campi personalizzabili specifici in Gemini Code Assist su GitHub:

  • code_review: comment_severity_threshold: questo campo imposta la gravità minima per cui Gemini Code Assist pubblica commenti. Ad esempio, se hai impostato code_review: comment_severity_threshold: HIGH, Gemini Code Assist non fornirà commenti sulle richieste di pull per i problemi che considera di gravità LOW o MEDIUM, ad esempio refactoring minori. Gemini Code Assist determina la gravità di un commento in base al tipo e all'importanza del problema in esame. Le violazioni della tua guida di stile personalizzata in genere raggiungono o superano la soglia di gravità.

  • ignore_patterns: questo campo utilizza pattern glob. Quando interagisce con il repository, Gemini Code Assist ignora i file che corrispondono a qualsiasi pattern in questo elenco.

  • memory_config: questo campo è applicabile se in precedenza hai attivato la qualità delle risposte migliorata per più repository. Quando attivi la qualità della risposta migliorata per più repository, puoi impostare memory_config: disabled: true per un repository specifico all'interno del raggruppamento, il che disattiva la funzionalità per quel repository.

config.yaml schema

Il seguente snippet di codice è lo schema per il file config.yaml. Definisce tutte le possibili opzioni di configurazione e i relativi valori accettati:

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

Esempio di config.yaml

Il seguente snippet di codice è un esempio di file config.yaml. In questo esempio, ogni proprietà è impostata sul valore predefinito utilizzato da Gemini Code Assist. Puoi utilizzare questo snippet come modello per creare il tuo file 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: []

Gestire le configurazioni in più repository

Puoi attivare/disattivare determinate impostazioni per più repository quando sono raggruppati in base a una connessione Developer Connect. Queste impostazioni collettive vengono gestite tramite la console Google Cloud .

Se un repository viene gestito come parte di un gruppo, ma ha anche un proprio config.yaml, le impostazioni config.yaml del repository sostituiscono le impostazioni del gruppo.

Per il comportamento e le eccezioni di impostazione specifici, consulta lo schema config.yaml.

I passaggi seguenti mostrano come controllare un insieme di configurazioni in più repository. Questi passaggi presuppongono che tu abbia già configurato Gemini Code Assist su GitHub.

  1. Nella console Google Cloud , vai alla pagina Agenti e strumenti di Gemini Code Assist.

    Vai ad Agenti e strumenti

  2. Nella sezione Agenti, individua la scheda Gestione del codice sorgente di Code Assist e fai clic su Avanzate.

    Viene visualizzato il riquadro Modifica Code Assist per la gestione del codice sorgente.

  3. Nella tabella Connessioni, fai clic sul nome della connessione a cui vuoi applicare una configurazione.

    Viene visualizzata la pagina dei dettagli della connessione.

  4. Nella scheda Impostazioni, aggiorna le impostazioni che vuoi modificare.

  5. Fai clic su Salva.

Passaggi successivi