התאמה אישית של ההתנהגות של 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: 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 בכמה מאגרים:

  • אם יש לכם את הגרסה לצרכנים, אתם יכולים להחליף את המצב של הגדרות מסוימות לכל המאגרים שמשויכים לחשבון.

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

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

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

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

צרכנות

  1. ב-Gemini Code Assist, עוברים לדף ההגדרות.

    כניסה להגדרות

  2. אם תתבקשו לעשות זאת, לחצו על Log in with GitHub (כניסה באמצעות GitHub) ופועלים לפי ההנחיות כדי להיכנס ל-GitHub מתוך Gemini Code Assist.

  3. בדף Gemini, בוחרים את החשבון שרוצים לעבוד איתו, מעיינים בתנאים ובהגבלות ולוחצים על המשך.

  4. בדף Free agent, מעדכנים את ההגדרות לפי הצורך.

  5. לוחצים על שמירה.

Enterprise

  1. במסוף Google Cloud, עוברים לדף Agents & Tools של Gemini Code Assist.

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

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

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

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

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

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

  5. לוחצים על שמירה.

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