InfoGrab DocsInfoGrab Docs

GitLab Duo CLI 사용자 정의

훅, 사용자 정의 슬래시 명령어, 플러그인으로 GitLab Duo CLI를 사용자 정의하는 방법을 설명합니다.

히스토리 GitLab 19.0 릴리스 중 GitLab Duo CLI 8.83.0에서 사용자 수준 에이전트 스킬을 활성화하는 환경 변수와 옵션이 실험 으로 도입됨 . GitLab Duo CLI는 다음과 같은 사용자 정의를 지원합니다: 훅을 사용하여 GitLab Duo CLI 라이프사이클의 특정 시점에 사용자 정의 명령을 실행합니다. 사용자 정의 슬래시 명령어를 사용하여 CLI를 워크플로 또는 사용 사례에 더 잘 맞춥니다. 플러그인을 사용하여 마켓플레이스에서 에이전트 스킬, 사용자 정의 슬래시 명령어, Model Context Protocol(MCP) 서버를 설치합니다. GitLab Duo Agent Platform에 설정된 사용자 정의 지침 을 사용하여 워크플로, 코딩 표준 또는 프로젝트 요구 사항에 맞춥니다. 훅 # 히스토리 GitLab 19.1 릴리스 중 GitLab Duo CLI 8.95.0에서 실험 으로 도입됨 . 훅을 사용하여 GitLab Duo CLI 라이프사이클의 특정 시점에 사용자 정의 명령을 실행합니다. 예를 들어, 환경 정보를 수집하는 스크립트를 실행하여 모든 새 채팅 세션에 추가 컨텍스트를 주입할 수 있습니다. GitLab Duo CLI는 두 가지 수준에서 훅을 지원합니다: 사용자 수준(전역): 모든 프로젝트에 적용됩니다. 프로젝트 수준: 특정 프로젝트에만 적용됩니다. 프로젝트 수준 훅은 체크아웃된 저장소의 임의 코드 실행을 방지하기 위해 기본적으로 비활성화되어 있습니다. 사용자 수준과 프로젝트 수준 hooks.json 파일이 모두 있으면, CLI가 훅을 병합하고 사용자 수준 훅을 먼저 실행합니다. Note 보안상의 이유로 민감한 환경 변수( GITLAB_TOKEN , GITLAB_OAUTH_TOKEN , CI_JOB_TOKEN )는 훅 프로세스에서 제외됩니다. 훅 실행 # 훅이 실행될 때 GitLab Duo CLI는: 세션 메타데이터가 담긴 JSON 객체를 명령의 표준 입력으로 보냅니다: { "session_id" : "abc-123" , "cwd" : "/path/to/project" , "transcript_path" : "" , "hook_event_name" : "SessionStart" , "source" : "startup" } 훅 프로세스에 대해 환경 변수 DUO_SESSION_ID 와 DUO_PROJECT_DIR 을 설정합니다. 명령의 표준 출력을 세션의 추가 컨텍스트로 수집합니다. 훅은 표준 출력으로 일반 텍스트 또는 JSON 객체를 반환할 수 있습니다: { "hookSpecificOutput" : { "hookEventName" : "SessionStart" , "additionalContext" : "Your context string here" } } 훅이 0이 아닌 상태로 종료되거나 시간이 초과되면 경고로 기록되지만, 세션 시작을 막지는 않습니다. 훅 만들기 # GitLab Duo CLI는 새 세션이 시작되거나 기존 세션이 재개될 때 실행되는 SessionStart 이벤트를 지원합니다. 훅을 만