GitHub'da Gemini Code Assist davranışını özelleştirme

GitHub'da Gemini Code Assist davranışını, deponuzun kök dizininde bulunan bir .gemini/ klasörüne config.yaml dosyası ekleyerek değiştirebilirsiniz. config.yaml dosyası, glob desenleri kullanarak yoksayılacak dosyaları belirtme de dahil olmak üzere etkinleştirebileceğiniz veya devre dışı bırakabileceğiniz çeşitli yapılandırılabilir özellikler içerir.

Gemini Code Assist, styleguide.md dosyasının .gemini/ klasörüne eklenmesini de destekler. Bu dosya, Gemini Code Assist'e kod incelemesi yaparken uymasını istediğiniz belirli kurallar hakkında talimat verir. Gemini Code Assist ile ilgili stil kılavuzları hakkında daha fazla bilgi için Kod inceleme stil kılavuzu başlıklı makaleyi inceleyin.

config.yaml örneği

Aşağıdaki kod snippet'i bir config.yaml dosyası örneğidir. Bu örnekte, her özellik Gemini Code Assist tarafından kullanılan varsayılan değere ayarlanmıştır. Bu snippet'i şablon olarak kullanarak kendi config.yaml dosyanızı oluşturabilirsiniz:

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: []

config.yaml şema

Aşağıdaki kod snippet'i, config.yaml dosyasının şemasıdır. Olası tüm yapılandırma seçeneklerini ve kabul edilen değerlerini tanımlar:

$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. Files matching any pattern in this list will be skipped during interactions. 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, if Improve response quality has been enabled for multiple repositories. 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.

Birden fazla depodaki yapılandırmaları yönetme

GitHub'daki Gemini Code Assist'in bazı yönleri birden fazla depoda yönetilebilir:

  • Tüketici sürümünü kullanıyorsanız bir hesapla ilişkili tüm depolar için belirli ayarları etkinleştirebilir veya devre dışı bırakabilirsiniz.

  • Enterprise sürümünü kullanıyorsanız Developer Connect bağlantısıyla gruplandırılmış birden fazla depo için belirli ayarları etkinleştirebilir veya devre dışı bırakabilirsiniz. Bu durumda, toplu ayarlarını Google Cloud Console üzerinden yönetirsiniz.

Bir depo, bir grubun parçası olarak yönetiliyorsa ancak kendi config.yaml'si de varsa deponun config.yaml ayarları, grup ayarlarını geçersiz kılar.

Belirli ayar davranışı ve istisnalar için config.yaml şemasını inceleyin.

Aşağıdaki adımlarda, birden fazla depoda bir dizi yapılandırmanın nasıl kontrol edileceği gösterilmektedir. Bu adımlarda, daha önce GitHub'da Gemini Code Assist'i ayarladığınız varsayılır.

Tüketici

  1. Gemini Code Assist'te ayarlar sayfasına gidin.

    Ayarlara git

  2. İstenirse GitHub ile giriş yap'ı tıklayın ve Gemini Code Assist'ten GitHub'a giriş yapmak için istemleri uygulayın.

  3. Gemini sayfasında çalışmak istediğiniz hesabı seçin, hizmet şartlarını inceleyin ve Devam'ı tıklayın.

  4. Free agent (Serbest temsilci) sayfasında ayarları gerektiği şekilde güncelleyin.

  5. Kaydet'i tıklayın.

Kurumsal

  1. Google Cloud Console'da Gemini Code Assist Aracıları ve Araçları sayfasına gidin.

    Aracılar ve Araçlar'a gidin

  2. Aracılar bölümünde Code Assist Kaynak Kodu Yönetimi kartını bulun ve Gelişmiş'i tıklayın.

    Edit Code Assist Source Code Management (Code Assist Kaynak Kodu Yönetimi'ni Düzenle) bölmesi açılır.

  3. Bağlantılar tablosunda, yapılandırma uygulamak istediğiniz bağlantının adını tıklayın.

    Bağlantının ayrıntılar sayfası açılır.

  4. Ayarlar sekmesinde, değiştirmek istediğiniz ayarları güncelleyin.

  5. Kaydet'i tıklayın.

Sırada ne var?