GitHub에서 Gemini Code Assist 동작 맞춤설정

저장소의 루트에 있는 .gemini/ 폴더에 config.yaml 파일을 추가하여 개별 저장소의 GitHub의 Gemini Code Assist 동작을 수정할 수 있습니다. config.yaml 파일에는 사용 설정하거나 사용 중지할 수 있는 다양한 구성 가능한 기능이 포함되어 있습니다. GitHub용 Gemini Code Assist 동작의 일부에 대해 여러 저장소에서 그룹 구성을 실행할 수 있습니다.

Gemini Code Assist는 styleguide.md 파일을 .gemini/ 폴더에 추가하는 것도 지원합니다. 이 파일은 코드 검토를 실행할 때 따라야 하는 특정 규칙을 Gemini Code Assist에 알려줍니다. Gemini Code Assist의 스타일 가이드에 관한 자세한 내용은 코드 검토 스타일 가이드를 참고하세요.

구성 필드

이 섹션에서는 GitHub의 Gemini Code Assist에서 맞춤설정 가능한 특정 필드에 대한 고려사항을 설명합니다. 필드의 전체 목록은 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: 이 필드는 글로브 패턴을 사용합니다. 저장소와 상호작용할 때 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: []

여러 저장소에서 구성 관리

GitHub의 Gemini Code Assist의 일부 측면은 여러 저장소에서 관리할 수 있습니다.

  • 일반 버전이 있는 경우 계정과 연결된 모든 저장소에 대해 특정 설정을 전환할 수 있습니다.

  • 엔터프라이즈 버전을 사용하는 경우 Developer Connect 연결로 그룹화된 여러 저장소의 특정 설정을 전환할 수 있습니다. 이 경우 Google Cloud 콘솔을 통해 집합적 설정을 관리합니다.

저장소가 그룹의 일부로 관리되지만 자체 config.yaml도 있는 경우 저장소의 config.yaml 설정이 그룹 설정을 재정의합니다.

구체적인 설정 동작 및 예외는 config.yaml 스키마를 검토하세요.

다음 단계에서는 여러 저장소에서 하나의 구성 집합을 제어하는 방법을 보여줍니다. 이 단계에서는 이전에 GitHub에서 Gemini Code Assist를 설정했다고 가정합니다.

소비자

  1. Gemini Code Assist에서 설정 페이지로 이동합니다.

    설정으로 이동

  2. 메시지가 표시되면 GitHub로 로그인을 클릭하고 메시지에 따라 Gemini Code Assist 내에서 GitHub에 로그인합니다.

  3. Gemini 페이지에서 사용할 계정을 선택하고 서비스 약관을 검토한 후 계속을 클릭합니다.

  4. 무료 상담사 페이지에서 필요에 따라 설정을 업데이트합니다.

  5. 저장을 클릭합니다.

Enterprise

  1. Google Cloud 콘솔에서 Gemini Code Assist 에이전트 및 도구 페이지로 이동합니다.

    에이전트 및 도구로 이동

  2. 에이전트 섹션에서 Code Assist 소스 코드 관리 카드를 찾아 고급을 클릭합니다.

    Code Assist 소스 코드 관리 수정 창이 열립니다.

  3. 연결 표에서 구성을 적용할 연결의 이름을 클릭합니다.

    연결 세부정보 페이지가 열립니다.

  4. 설정 탭에서 변경하려는 설정을 업데이트합니다.

  5. 저장을 클릭합니다.

다음 단계