Dostosowywanie działania Gemini Code Assist w GitHubie

Możesz modyfikować działanie Gemini Code Assist w GitHubie w przypadku poszczególnych repozytoriów, dodając plik config.yaml do folderu .gemini/ znajdującego się w katalogu głównym repozytorium. Plik config.yaml zawiera różne konfigurowalne funkcje, które możesz włączać i wyłączać. Możesz wykonywać konfiguracje grup w wielu repozytoriach w przypadku podzbioru zachowań Gemini Code Assist w GitHubie.

Gemini Code Assist obsługuje też dodawanie pliku styleguide.md do folderu .gemini/, który zawiera instrukcje dla Gemini Code Assist z określonymi regułami, których ma przestrzegać podczas inspekcji kodu. Więcej informacji o przewodnikach stylu dla Gemini Code Assist, zobacz przewodnik stylu inspekcji kodu.

Pola konfiguracji

W tej sekcji opisujemy kwestie dotyczące konkretnych pól, które można dostosować w Gemini Code Assist w GitHubie. Pełną listę pól znajdziesz w config.yaml schemacie.

Schemat config.yaml

Poniższy fragment kodu to schemat pliku config.yaml. Określa on wszystkie możliwe opcje konfiguracji i ich akceptowane wartości:

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

Przykład config.yaml

Poniższy fragment kodu to przykład pliku config.yaml. W tym przykładzie każda właściwość jest ustawiona na wartość domyślną używaną przez Gemini Code Assist. Możesz użyć tego fragmentu jako szablonu do utworzenia własnego pliku 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: []

Zarządzanie konfiguracjami w wielu repozytoriach

Niektórymi aspektami Gemini Code Assist w GitHubie można zarządzać w wielu repozytoriach:

  • Jeśli masz wersję dla klientów indywidualnych, możesz przełączać niektóre ustawienia we wszystkich repozytoriach powiązanych z kontem.

  • Jeśli masz wersję dla firm, możesz przełączać niektóre ustawienia w przypadku wielu repozytoriów pogrupowanych według połączenia Developer Connect. W takim przypadku zarządzasz ich zbiorczymi ustawieniami w konsoli Google Cloud.

Jeśli repozytorium jest zarządzane jako część grupy, ale ma też własny plik config.yaml, ustawienia config.yaml repozytorium zastępują ustawienia grupy.

Szczegółowe informacje o działaniu i wyjątkach, znajdziesz w schemacie config.yaml.

Z tych instrukcji dowiesz się, jak kontrolować jeden zestaw konfiguracji w wielu repozytoriach. Zakładamy, że masz już skonfigurowany Gemini Code Assist w GitHubie .

Klienci indywidualni

  1. W Gemini Code Assist otwórz stronę ustawień.

    Otwórz ustawienia

  2. Jeśli pojawi się prośba, kliknij Zaloguj się w GitHubie i postępuj zgodnie z instrukcjami, aby zalogować się w GitHubie z poziomu Gemini Code Assist.

  3. Na stronie Gemini wybierz konto, z którym chcesz pracować, zapoznaj się z warunkami korzystania z usługi i kliknij Dalej.

  4. Na stronie Bezpłatny agent odpowiednio zmień ustawienia.

  5. Kliknij Zapisz.

Enterprise

  1. W konsoli Google Cloud otwórz stronę Agenci i narzędzia Gemini Code Assist.

    Otwórz Agenci i narzędzia

  2. W sekcji Agenci znajdź kartę Zarządzanie kodem źródłowym Code Assist i kliknij Zaawansowane.

    Otworzy się panel Edytuj zarządzanie kodem źródłowym Code Assist.

  3. W tabeli Połączenia kliknij nazwę połączenia, do którego chcesz zastosować konfigurację.

    Otworzy się strona z informacjami o połączeniu.

  4. Na karcie Ustawienia zaktualizuj ustawienia, które chcesz zmienić.

  5. Kliknij Zapisz.

Co dalej?