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 diverses fonctionnalités configurables que vous pouvez activer ou désactiver. Vous pouvez effectuer des configurations de groupe sur 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 d'une revue de code. Pour en savoir plus sur les guides de style pour Gemini Code Assist, consultez Guide de style pour la revue de code.

Champs de configuration

Cette section décrit les considérations concernant des champs personnalisables spécifiques dans Gemini Code Assist sur GitHub. Pour obtenir la liste complète des champs, consultez le config.yaml schéma.

  • 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 de demande d'extraction pour les problèmes qu'il considère comme étant de gravité LOW ou MEDIUM, tels que des refactorisations mineures. Gemini Code Assist determines the severity of a comment based on the type and significance of the issue under consideration, with violations of your custom style guide typically meeting or exceeding the severity threshold.

  • ignore_patterns : ce champ utilise des modèles 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 regroupement, ce qui désactive la fonctionnalité pour ce dépôt.

Schéma config.yaml

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

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: false
    code_review: true
    include_drafts: true
ignore_patterns: []

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

Certains aspects de Gemini Code Assist sur GitHub peuvent être gérés sur 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 Google Cloud console.

Si un dépôt est géré dans le cadre d'un groupe, mais qu'il possède également son propre fichier config.yaml, les paramètres config.yaml du dépôt remplacent les paramètres 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 sur plusieurs dépôts. Ces étapes supposent que vous avez déjà configuré Gemini Code Assist sur GitHub.

Consommateur

  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 , puis suivez les instructions pour vous connecter à GitHub depuis Gemini Code Assist.

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

  4. Sur la page Agent sans frais, mettez à jour les paramètres si nécessaire.

  5. Cliquez sur Enregistrer.

Entreprise

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

    Accéder à Agents et outils

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

    Le panneau Modifier la gestion du code source de Code Assist s'ouvre.

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

    La page de détails de la connexion s'ouvre.

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

  5. Cliquez sur Enregistrer.

Étape suivante