Dostosowywanie działania Gemini Code Assist w GitHubie

Możesz zmodyfikować 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 grupować konfiguracje 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 dotyczących stylu w Gemini Code Assist znajdziesz w przewodniku dotyczącym 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.

  • code_review: comment_severity_threshold: to pole określa minimalny poziom ważności, dla którego Gemini Code Assist publikuje komentarze. Jeśli na przykład ustawisz code_review: comment_severity_threshold: HIGH, Gemini Code Assist nie będzie dodawać komentarzy do żądań pull w przypadku problemów, które uzna za LOW lub MEDIUM, np. drobnych refaktoryzacji. Gemini Code Assist określa poziom ważności komentarza na podstawie rodzaju i znaczenia rozpatrywanego problemu. Naruszenia niestandardowego przewodnika dotyczącego stylu zwykle osiągają lub przekraczają próg ważności.

  • ignore_patterns: to pole korzysta z wzorców glob. Podczas interakcji z repozytorium Gemini Code Assist ignoruje pliki pasujące do dowolnego wzorca na tej liście.

  • memory_config: to pole ma zastosowanie, jeśli w przypadku wielu repozytoriów masz już włączoną poprawioną jakość odpowiedzi. Jeśli włączysz poprawioną jakość odpowiedzi w przypadku wielu repozytoriów, możesz ustawić memory_config: disabled: true dla konkretnego repozytorium w grupie, co spowoduje wyłączenie tej funkcji w tym repozytorium.

config.yaml schemat

Poniższy fragment kodu to schemat pliku config.yaml. Określa 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: 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.

config.yaml – przykład

Poniższy fragment kodu to przykład pliku config.yaml. W tym przykładzie każda właściwość ma wartość domyślną używaną przez Gemini Code Assist. Ten fragment kodu możesz wykorzystać jako szablon 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: true
    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ć określone ustawienia dla wszystkich repozytoriów powiązanych z kontem.

  • Jeśli masz wersję Enterprise, możesz przełączać określone ustawienia dla wielu repozytoriów zgrupowanych według połączenia Developer Connect. W takim przypadku możesz zarządzać ich ustawieniami zbiorczymi w konsoli Google Cloud.

Jeśli repozytorium jest zarządzane w ramach grupy, ale ma też własne config.yaml, ustawienia config.yaml repozytorium zastępują ustawienia grupy.

Aby poznać szczegóły działania poszczególnych ustawień i wyjątki, zapoznaj się ze schematem pliku config.yaml.

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

Klienci indywidualni

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

    Otwórz ustawienia

  2. Jeśli pojawi się odpowiedni komunikat, kliknij Log in with GitHub (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, którego chcesz używać, zapoznaj się z warunkami korzystania z usługi i kliknij Dalej.

  4. Na stronie Free agent (Wolny agent) zaktualizuj ustawienia zgodnie z potrzebami.

  5. Kliknij Zapisz.

Enterprise

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

    Otwórz Agenty i narzędzia

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

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

  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?