Personnaliser le comportement de Gemini Code Assist dans GitHub

Vous pouvez modifier le comportement de Gemini Code Assist sur GitHub pour des dépôts individuels en ajoutant un fichier config.yaml à un dossier .gemini/ situé à la racine du dépôt. Le fichier config.yaml contient différentes fonctionnalités configurables que vous pouvez activer ou désactiver. Vous pouvez configurer des groupes dans plusieurs dépôts pour un sous-ensemble de comportements de Gemini Code Assist sur GitHub.

Gemini Code Assist permet également d'ajouter un fichier styleguide.md au dossier .gemini/, qui indique à Gemini Code Assist certaines règles spécifiques à suivre lors de l'examen du code. Pour en savoir plus sur les guides de style pour Gemini Code Assist, consultez Guide de style pour l'examen du code.

Champs de configuration

Cette section décrit les points à prendre en compte pour certains champs personnalisables de Gemini Code Assist sur GitHub. Pour obtenir la liste complète des champs, consultez le schéma config.yaml.

  • code_review: comment_severity_threshold : ce champ définit le niveau de gravité minimal pour lequel Gemini Code Assist publie des commentaires. Par exemple, si vous avez défini code_review: comment_severity_threshold: HIGH, Gemini Code Assist ne fournira pas de commentaires sur les demandes d'extraction pour les problèmes qu'il considère comme étant de gravité LOW ou MEDIUM, comme les refactorisations mineures. Gemini Code Assist détermine la gravité d'un commentaire en fonction du type et de l'importance du problème en question. Les cas de non-respect de votre guide de style personnalisé atteignent généralement le seuil de gravité ou le dépassent.

  • ignore_patterns : ce champ utilise des expressions glob. Lorsque vous interagissez avec le dépôt, Gemini Code Assist ignore les fichiers qui correspondent à un modèle de cette liste.

  • memory_config : ce champ s'applique si vous avez déjà activé l'amélioration de la qualité des réponses pour plusieurs dépôts. Lorsque vous activez l'amélioration de la qualité des réponses pour plusieurs dépôts, vous pouvez définir memory_config: disabled: true pour un dépôt spécifique du groupe, ce qui désactive la fonctionnalité pour ce dépôt.

config.yaml schéma

L'extrait de code suivant correspond au schéma du fichier config.yaml. Il définit toutes les options de configuration possibles et leurs valeurs acceptées :

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

Exemple config.yaml

L'extrait de code suivant est un exemple de fichier config.yaml. Dans cet exemple, chaque propriété est définie sur la valeur par défaut utilisée par Gemini Code Assist. Vous pouvez utiliser cet extrait comme modèle pour créer votre propre fichier 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: []

Gérer les configurations dans plusieurs dépôts

Certains aspects de Gemini Code Assist sur GitHub peuvent être gérés dans plusieurs dépôts :

  • Si vous disposez de la version grand public, vous pouvez activer ou désactiver certains paramètres pour tous les dépôts associés à un compte.

  • Si vous disposez de la version Enterprise, vous pouvez activer ou désactiver certains paramètres pour plusieurs dépôts regroupés par une connexion Developer Connect. Dans ce cas, vous gérez leurs paramètres collectifs via la console Google Cloud.

Si un dépôt est géré dans un groupe, mais qu'il possède également son propre config.yaml, les paramètres config.yaml du dépôt remplacent ceux du groupe.

Pour connaître le comportement et les exceptions spécifiques des paramètres, consultez le schéma config.yaml.

Les étapes suivantes montrent comment contrôler un ensemble de configurations dans plusieurs dépôts. Ces étapes supposent que vous avez déjà configuré Gemini Code Assist sur GitHub.

Grand public

  1. Dans Gemini Code Assist, accédez à la page des paramètres.

    Accéder aux paramètres

  2. Si vous y êtes invité, cliquez sur Se connecter avec GitHub et suivez les instructions pour vous connecter à GitHub depuis Gemini Code Assist.

  3. Sur la page Gemini, sélectionnez le compte avec lequel vous souhaitez travailler, consultez les conditions d'utilisation, puis cliquez sur Continuer.

  4. Sur la page Agent libre, modifiez les paramètres si nécessaire.

  5. Cliquez sur Enregistrer.

Enterprise

  1. Dans la console Google Cloud, accédez à la page Agents et outils Gemini Code Assist.

    Accéder à Agents et outils

  2. Dans la section Agents, recherchez la fiche Gestion du code source Code Assist, puis cliquez sur Avancé.

    Le volet Modifier la gestion de Code Assist pour le code source s'ouvre.

  3. Dans le tableau Connexions, cliquez sur le nom de la connexion à laquelle vous souhaitez appliquer une configuration.

    La page d'informations sur la connexion s'ouvre.

  4. Dans l'onglet Paramètres, modifiez les paramètres de votre choix.

  5. Cliquez sur Enregistrer.

Étape suivante