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

Deponun kök dizininde bulunan bir .gemini/ klasörüne config.yaml dosyası ekleyerek GitHub'da Gemini Code Assist davranışını tek tek depolar için değiştirebilirsiniz. config.yaml dosyası, etkinleştirebileceğiniz veya devre dışı bırakabileceğiniz çeşitli yapılandırılabilir özellikler içerir. GitHub'daki Gemini Code Assist davranışlarının bir alt kümesi için birden fazla depoda grup yapılandırmaları yapabilirsiniz.

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.

Yapılandırma alanları

Bu bölümde, GitHub'daki Gemini Code Assist'te belirli özelleştirilebilir alanlarla ilgili dikkat edilmesi gereken noktalar açıklanmaktadır. Alanların tam listesi için config.yaml şemasına bakın.

  • code_review: comment_severity_threshold: Bu alan, Gemini Code Assist'in yorum yayınlayacağı minimum önem derecesini belirler. Örneğin, code_review: comment_severity_threshold: HIGH olarak ayarladıysanız Gemini Code Assist, küçük yeniden düzenlemeler gibi LOW veya MEDIUM önem derecesinde olduğunu düşündüğü sorunlar için çekme isteği yorumları sağlamaz. Gemini Code Assist, bir yorumun önem düzeyini dikkate alınan sorunun türüne ve önemine göre belirler. Özel stil kılavuzunuzun ihlalleri genellikle önem düzeyi eşiğini karşılar veya aşar.

  • ignore_patterns: Bu alanda glob pattern kullanılır. Gemini Code Assist, depoyla etkileşimde bulunurken bu listedeki herhangi bir kalıpla eşleşen dosyaları yok sayar.

  • memory_config: Bu alan, daha önce birden fazla depo için gelişmiş yanıt kalitesini etkinleştirdiyseniz geçerlidir. Geliştirilmiş yanıt kalitesini birden fazla depo için etkinleştirdiğinizde gruplandırma içindeki belirli bir depo için memory_config: disabled: true simgesini ayarlayabilirsiniz. Bu işlem, ilgili depoda özelliği devre dışı bırakır.

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. 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 ö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, kendi config.yaml dosyanızı oluşturmak için şablon olarak kullanabilirsiniz:

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

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?