התאמה אישית של ההתנהגות של Gemini Code Assist ב-GitHub

כדי לשנות את ההתנהגות של Gemini Code Assist ב-GitHub במאגרים ספציפיים, מוסיפים קובץ config.yaml לתיקייה .gemini/ שנמצאת בבסיס המאגר. קובץ config.yaml מכיל תכונות שונות שאפשר להגדיר, להפעיל או להשבית. אתם יכולים להגדיר קבוצות בכמה מאגרים כדי לשנות חלק מההתנהגויות של Gemini Code Assist ב-GitHub.

‫Gemini Code Assist תומך גם בהוספה של קובץ styleguide.md לתיקייה .gemini/, שמכיל הוראות ל-Gemini Code Assist לגבי כללים ספציפיים שאתם רוצים שהוא יפעל לפיהם כשמבצעים סקר קוד. מידע נוסף על מדריכי סגנון ל-Gemini Code Assist זמין במאמר מדריך סגנון לבדיקת קוד.

שדות להגדרת התצורה

בקטע הזה מוסבר על שיקולים לגבי שדות ספציפיים שאפשר להתאים אישית ב-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, כמו שינויים קלים בקוד. ‫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: 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.

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: false
    code_review: true
    include_drafts: true
ignore_patterns: []

ניהול תצורות בכמה מאגרים

אפשר להחליף בין מצבים של הגדרות מסוימות בכמה מאגרי קוד כשהם מקובצים לפי חיבור Developer Connect. ההגדרות האלה מנוהלות דרך מסוף Google Cloud .

אם מאגר מנוהל כחלק מקבוצה אבל יש לו גם config.yaml משלו, ההגדרות של config.yaml במאגר מבטלות את ההגדרות של הקבוצה.

כדי לראות איך הגדרה ספציפית פועלת ואילו חריגים קיימים, אפשר לעיין בסכימה של config.yaml.

בשלבים הבאים מוסבר איך לשלוט בקבוצת הגדרות אחת בכמה מאגרים. אנחנו יוצאים מנקודת הנחה שכבר הגדרתם את Gemini Code Assist ב-GitHub.

  1. במסוף Google Cloud , נכנסים לדף Gemini Code Assist ‏Agents & Tools.

    מעבר אל 'סוכנים וכלים'

  2. בקטע סוכנים, מאתרים את הכרטיס ניהול קוד מקור של Code Assist ולוחצים על מתקדם.

    החלונית עריכת ניהול קוד מקור של Code Assist נפתחת.

  3. בטבלה Connections, לוחצים על שם החיבור שרוצים להחיל עליו הגדרה.

    ייפתח דף הפרטים של החיבור.

  4. בכרטיסייה הגדרות, מעדכנים את ההגדרות שרוצים לשנות.

  5. לוחצים על Save.

המאמרים הבאים