رفتار Gemini Code Assist را در GitHub سفارشی کنید

شما می‌توانید با اضافه کردن یک فایل config.yaml به پوشه .gemini/ واقع در ریشه مخزن، رفتار Gemini Code Assist در GitHub را برای مخازن جداگانه تغییر دهید. فایل config.yaml شامل ویژگی‌های قابل تنظیم مختلفی است که می‌توانید آنها را فعال یا غیرفعال کنید. می‌توانید پیکربندی‌های گروهی را در چندین مخزن برای زیرمجموعه‌ای از رفتارهای Gemini Code Assist در GitHub انجام دهید.

Gemini Code Assist همچنین از اضافه کردن یک فایل styleguide.md به پوشه .gemini/ پشتیبانی می‌کند که به Gemini Code Assist برخی از قوانین خاص را که می‌خواهید هنگام انجام بررسی کد از آنها پیروی کند، آموزش می‌دهد. برای اطلاعات بیشتر در مورد راهنماهای سبک برای Gemini Code Assist، به Code review style guide مراجعه کنید.

فیلدهای پیکربندی

این بخش ملاحظات مربوط به فیلدهای قابل تنظیم خاص در Gemini Code Assist در GitHub را شرح می‌دهد. برای فهرست کامل فیلدها، به طرحواره config.yaml مراجعه کنید.

  • code_review: comment_severity_threshold : این فیلد حداقل شدتی را که Gemini Code Assist برای ارسال نظرات تعیین می‌کند، تعیین می‌کند. به عنوان مثال، اگر شما code_review: comment_severity_threshold: HIGH تنظیم کرده باشید، Gemini Code Assist برای مسائلی که از نظر شدت LOW یا MEDIUM ​​​​هستند، مانند بازسازی‌های جزئی، نظرات درخواست pull ارائه نمی‌دهد. Gemini Code Assist شدت یک نظر را بر اساس نوع و اهمیت مسئله مورد بررسی تعیین می‌کند، و تخلفات راهنمای سبک سفارشی شما معمولاً به آستانه شدت می‌رسند یا از آن فراتر می‌روند.

  • ignore_patterns : این فیلد از الگوهای glob استفاده می‌کند. هنگام تعامل با مخزن، Gemini Code Assist فایل‌هایی را که با هر الگویی در این لیست مطابقت دارند، نادیده می‌گیرد.

  • memory_config : این فیلد در صورتی قابل استفاده است که قبلاً کیفیت پاسخ بهبود یافته را برای چندین مخزن فعال کرده باشید. وقتی کیفیت پاسخ بهبود یافته را برای چندین مخزن فعال می‌کنید، می‌توانید memory_config: disabled: true برای یک مخزن خاص در گروه‌بندی تنظیم کنید، که این ویژگی را برای آن مخزن غیرفعال می‌کند.

config.yaml

قطعه کد زیر، طرحواره‌ی فایل config.yaml است. این قطعه کد، تمام گزینه‌های پیکربندی ممکن و مقادیر پذیرفته‌شده‌ی آن‌ها را تعریف می‌کند:

$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

قطعه کد زیر نمونه‌ای از یک فایل config.yaml است. در این مثال، هر ویژگی روی مقدار پیش‌فرض مورد استفاده توسط Gemini Code Assist تنظیم شده است. می‌توانید از این قطعه کد به عنوان الگو برای ایجاد فایل 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: []

مدیریت پیکربندی‌ها در چندین مخزن

برخی از جنبه‌های Gemini Code Assist در GitHub را می‌توان در چندین مخزن مدیریت کرد:

  • اگر نسخه مصرف‌کننده را دارید، می‌توانید تنظیمات خاصی را برای همه مخازن مرتبط با یک حساب کاربری تغییر دهید.

  • اگر نسخه سازمانی را دارید، می‌توانید تنظیمات خاصی را برای چندین مخزن که توسط اتصال Developer Connect گروه‌بندی شده‌اند، تغییر دهید. وقتی این کار را انجام می‌دهید، تنظیمات جمعی آنها را از طریق کنسول Google Cloud مدیریت می‌کنید.

اگر یک مخزن به عنوان بخشی از یک گروه مدیریت شود اما config.yaml مخصوص به خود را نیز داشته باشد، تنظیمات config.yaml مخزن، تنظیمات گروه را لغو می‌کند.

برای رفتار خاص تنظیمات و استثنائات، طرحواره config.yaml را بررسی کنید .

مراحل زیر نحوه کنترل یک مجموعه از پیکربندی‌ها را در چندین مخزن نشان می‌دهد. این مراحل فرض می‌کنند که شما قبلاً Gemini Code Assist را در GitHub راه‌اندازی کرده‌اید .

مصرف کننده

  1. در Gemini Code Assist، به صفحه تنظیمات بروید.

    به تنظیمات بروید

  2. در صورت درخواست، روی ورود با گیت‌هاب کلیک کنید و دستورالعمل‌ها را دنبال کنید تا از طریق Gemini Code Assist وارد گیت‌هاب شوید.

  3. در صفحه Gemini ، حسابی را که می‌خواهید با آن کار کنید انتخاب کنید، شرایط خدمات را مرور کنید و روی ادامه کلیک کنید.

  4. در صفحه نماینده رایگان ، تنظیمات را در صورت نیاز به‌روزرسانی کنید.

  5. روی ذخیره کلیک کنید.

تصدی

  1. در کنسول گوگل کلود، به صفحه Gemini Code Assist Agents & Tools بروید.

    به بخش عوامل و ابزارها بروید

  2. در بخش Agents ، کارت Code Assist Source Code Management را پیدا کنید و روی Advanced کلیک کنید.

    پنجره‌ی «ویرایش کد، دستیار مدیریت کد منبع» باز می‌شود.

  3. در جدول Connections ، روی نام اتصالی که می‌خواهید پیکربندی را روی آن اعمال کنید، کلیک کنید.

    صفحه جزئیات اتصال باز می‌شود.

  4. در برگه تنظیمات ، تنظیماتی را که می‌خواهید تغییر دهید، به‌روزرسانی کنید.

  5. روی ذخیره کلیک کنید.

قدم بعدی چیست؟