Personalizzare il comportamento di Gemini Code Assist in GitHub

Puoi modificare Gemini Code Assist su GitHub il comportamento per i singoli repository aggiungendo un file config.yaml a una cartella .gemini/ che si trova nella root del repository. Il file config.yaml contiene varie funzionalità configurabili che puoi attivare o disattivare. Puoi eseguire configurazioni di gruppo su più repository per un sottoinsieme di comportamenti di Gemini Code Assist su GitHub.

Gemini Code Assist supporta anche l'aggiunta di un file styleguide.md alla cartella .gemini/, che fornisce a Gemini Code Assist alcune regole specifiche da seguire durante l'esecuzione di una revisione del codice. Per saperne di più sulle guide di stile per Gemini Code Assist, consulta la guida di stile per la revisione del codice.

Campi relativi alla configurazione

Questa sezione descrive le considerazioni relative a campi personalizzabili specifici in Gemini Code Assist su GitHub. Per un elenco completo dei campi, consulta lo config.yaml schema.

  • code_review: comment_severity_threshold: questo campo imposta la gravità minima per cui Gemini Code Assist pubblica i commenti. Ad esempio, se hai impostato code_review: comment_severity_threshold: HIGH, Gemini Code Assist non fornirà commenti alle richieste di pull per i problemi che considera di gravità LOW o MEDIUM, come i refactoring secondari. Gemini Code Assist determina la gravità di un commento in base al tipo e al significato del problema in esame, con le violazioni della guida di stile personalizzata che in genere soddisfano 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à delle risposte migliorata per più repository, puoi impostare memory_config: disabled: true per un repository specifico all'interno del raggruppamento, che disattiva la funzionalità per quel repository.

Schema config.yaml

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 su più repository

Alcuni aspetti di Gemini Code Assist su GitHub possono essere gestiti su più repository:

  • Se hai la versione consumer, puoi attivare o disattivare determinate impostazioni per tutti i repository associati a un account.

  • Se hai la versione aziendale, puoi attivare o disattivare determinate impostazioni per più repository raggruppati da una connessione Developer Connect. In questo caso, gestisci le impostazioni collettive tramite la console Google Cloud.

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

Per il comportamento e le eccezioni delle impostazioni specifiche, consulta lo schema config.yaml.

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

Consumer

  1. In Gemini Code Assist, vai alla pagina delle impostazioni.

    Vai alle impostazioni

  2. Se ti viene richiesto, fai clic su Accedi con GitHub e segui le istruzioni per accedere a GitHub da Gemini Code Assist.

  3. Nella pagina Gemini , seleziona l'account con cui vuoi lavorare, esamina i Termini di servizio e fai clic su Continua.

  4. Nella pagina Agente senza costi, aggiorna le impostazioni in base alle esigenze.

  5. Fai clic su Salva.

Aziende

  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 gestione del codice sorgente di Code Assist.

  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