Skip to main content

GITHUB COPILOT CLI 구성 디렉터리

          `~/.copilot` 디렉토리에 대한 정보, 구성, 세션 데이터 및 사용자 지정을 코파일럿 CLI에 저장하는 정보를 찾습니다.
          코파일럿 CLI 는 컴퓨터의 단일 디렉터리에 구성, 세션 기록, 로그 및 사용자 지정을 저장합니다. 기본적으로 이 디렉터리는 `~/.copilot` (즉, `$HOME/.copilot`)입니다.

이 문서에서는 이 디렉터리의 내용과 이를 사용하는 방법을 설명합니다.

디렉터리 개요

          `~/.copilot` 디렉터리에는 다음과 같은 최상위 항목이 포함됩니다.
Path유형설명
settings.json파일개인 구성 설정
copilot-instructions.md파일개인 사용자 지정 지침(모든 세션에 적용됨)
instructions/디렉터리추가 개인 *.instructions.md 파일
mcp-config.json파일사용자 수준 MCP 서버 정의
lsp-config.json파일사용자 수준 LSP 서버 정의
permissions-config.json파일프로젝트당 저장된 도구 및 디렉터리 권한
agents/디렉터리개인 사용자 지정 에이전트 정의
skills/디렉터리개인 사용자 지정 기술 정의
hooks/디렉터리사용자 수준 후크 스크립트
logs/디렉터리세션 로그 파일
session-state/디렉터리세션 기록 및 작업 영역 데이터
session-store.db파일세션 간 데이터에 대한 SQLite 데이터베이스
installed-plugins/디렉터리설치된 플러그 인 파일
plugin-data/디렉터리설치된 플러그 인에 대한 영구 데이터
ide/디렉터리IDE 통합 상태

참고

이러한 항목이 모두 즉시 표시되지는 않습니다. 일부는 특정 기능을 처음 사용할 때 요청 시 만들어집니다. 예를 들어 installed-plugins/ 첫 번째 플러그 인을 설치한 후에만 표시됩니다.

사용자가 편집할 수 있는 파일

다음 파일은 사용자가 직접 편집하거나 CLI 명령을 통해 관리하도록 설계되었습니다.

settings.json

에 대한 기본 구성 파일입니다 코파일럿 CLI. 텍스트 편집기에서 직접 편집하거나 대화형 명령을 /model``/theme 사용하여 세션 내에서 특정 값을 변경할 수 있습니다. 파일은 주석이 있는 JSON(JSONC)을 지원합니다.

참고

구성 파일의 이름이 .로 config.json``settings.json변경되었습니다. 기존 설정은 시작 시 ~/.copilot/config.json 자동으로 마이그레이션됩니다.

설정의 전체 목록 및 리포지토리 수준 구성과 상호 작용하는 방법은 이 문서의 뒷부분에 있는 구성 파일 설정을 참조하세요.

터미널에서 copilot help config을(를) 실행하여 빠르게 참조하십시오.

copilot-instructions.md

작업 중인 프로젝트에 관계없이 모든 세션에 적용되는 개인 사용자 지정 지침입니다. 이 파일은 리포지토리 수준 copilot-instructions.md 과 동일한 방식으로 작동하지만 전역적으로 적용됩니다.

자세한 내용은 GitHub Copilot 대한 리포지토리 사용자 지정 지침 추가을(를) 참조하세요.

instructions/

여기에 추가적인 개인 설명 파일을 *.instructions.md 파일로 저장하십시오. 이러한 항목은 함께 copilot-instructions.md 로드되고 모든 세션에 적용됩니다. 토픽별로 지침을 구성할 수 있습니다. 예를 들면 다음과 같습니다 ~/.copilot/instructions/code-style.instructions.md.

mcp-config.json

사용자 수준에서 사용할 수 있는 MCP(모델 컨텍스트 프로토콜) 서버를 정의합니다. 이러한 서버는 현재 있는 프로젝트 디렉터리에 관계없이 모든 세션에서 사용할 수 있습니다. Project 수준 MCP 구성(.mcp.json 또는 .github/mcp.json)은 서버 이름이 충돌할 때 사용자 수준 정의보다 우선합니다.

자세한 내용은 에 대한 MCP 서버 추가 GitHub Copilot 명령 줄 인터페이스 (CLI)을(를) 참조하세요.

lsp-config.json

사용자 수준에서 사용할 수 있는 LSP(Language Server Protocol) 서버를 정의합니다. 이러한 서버는 에이전트에 언어 인텔리전스(진단, 완료 등)를 제공합니다. 슬래시 명령을 사용하여 /lsp 이 파일을 관리하거나 직접 편집합니다.

자세한 내용은 GitHub Copilot 명령 줄 인터페이스 (CLI)에 대한 LSP 서버 추가을(를) 참조하세요.

agents/

여기에 개인 사용자 지정 에이전트 정의를 파일로 .agent.md 저장합니다. 이 디렉터리에 배치된 에이전트는 모든 세션에서 사용할 수 있습니다. 프로젝트 수준의 에이전트(.github/agents/)는 같은 이름을 가진 경우 개인 에이전트보다 우선적으로 적용됩니다.

자세한 내용은 사용자 지정 에이전트 만들기 및 사용 GitHub Copilot 명령 줄 인터페이스 (CLI)을(를) 참조하세요.

skills/

여기에 개인 사용자 지정 기술 정의를 저장합니다. 각 기술은 파일을 포함하는 SKILL.md 하위 디렉터리에 있습니다(예 ~/.copilot/skills/my-skill/SKILL.md: .). 개인 기술은 모든 세션에서 사용할 수 있습니다. Project 수준의 기술은 동일한 이름을 공유하는 경우 개인 기술보다 우선합니다.

자세한 내용은 GitHub Copilot 명령 줄 인터페이스 (CLI)에 에이전트 기술 추가을(를) 참조하세요.

hooks/

여기에 사용자 수준 후크 스크립트를 저장합니다. 이러한 후크는 모든 세션에 적용됩니다. 사용자 구성 파일(~/.copilot/config.json)에서 hooks 키를 사용하여 후크를 인라인으로 정의할 수도 있습니다. 리포지토리 수준 후크(in .github/hooks/)는 사용자 수준 후크와 함께 로드됩니다.

자세한 내용은 후크 사용하기 GitHub Copilot 명령 줄 인터페이스 (CLI)을(를) 참조하세요.

자동으로 관리되는 파일

다음 항목은 CLI에서 관리됩니다. 일반적으로 수동으로 편집해서는 안 됩니다.

permissions-config.json

프로젝트 위치별로 구성된 저장된 도구 및 디렉터리 권한 결정을 저장합니다. 도구를 승인하거나 디렉터리에 대한 액세스 권한을 부여하는 경우 CLI는 여기에 결정을 기록하므로 동일한 프로젝트에서 다시 메시지가 표시되지 않습니다.

참고

프로젝트에 대한 사용 권한을 다시 설정하려면 이 파일에서 관련 항목을 삭제할 수 있습니다. 그러나 세션이 실행되는 동안 파일을 편집하면 예기치 않은 동작이 발생할 수 있습니다.

session-state/

하위 디렉터리의 세션 ID별로 구성된 세션 기록 데이터를 포함합니다. 각 세션 디렉터리에는 이벤트 로그(events.jsonl) 및 작업 영역 아티팩트(계획, 검사점, 추적된 파일)가 저장됩니다. 이 데이터는 세션 다시 시작(--resume 또는 --continue)을 사용하도록 설정합니다.

session-store.db

검사점 인덱싱 및 검색과 같은 세션 간 데이터에 대해 CLI에서 사용하는 SQLite 데이터베이스입니다. 이 파일은 자동으로 관리되며 편집해서는 안 됩니다.

logs/

CLI 세션에 대한 로그 파일을 포함합니다. 각 세션은 .라는 process-{timestamp}-{pid}.log로그 파일을 만듭니다. 이러한 파일은 문제를 디버깅하는 데 유용합니다.

현재 세션에 대한 로그 파일을 찾으려면 대화형 세션을 입력 /session 하세요. 출력에는 세션 ID, 기간 및 작업 디렉터리와 같은 다른 세션 세부 정보와 함께 로그 파일의 전체 경로가 포함됩니다.

installed-plugins/

설치한 플러그 인에 대한 파일을 포함합니다. 마켓플레이스에서 설치된 플러그 인은 .에 installed-plugins/{marketplace-name}/{plugin-name}/저장됩니다. 직접 설치된 플러그 인은 아래에 installed-plugins/_direct/저장됩니다. 이 디렉터리를 직접 편집하는 대신 명령을 사용하여 copilot plugin 플러그 인을 관리합니다.

자세한 내용은 GitHub Copilot CLI 플러그 인 참조을(를) 참조하세요.

plugin-data/

마켓플레이스 및 플러그 인 이름으로 구성된 설치된 플러그 인에 대한 영구 데이터를 포함합니다. 이 데이터는 플러그 인 자체에서 관리되며 수동으로 편집해서는 안됩니다.

ide/

IDE 통합을 위한 잠금 파일 및 상태를 포함합니다(예: 코파일럿 CLI가 Visual Studio Code에 연결할 때). 이 디렉터리가 자동으로 관리됩니다.

구성 디렉터리의 위치 변경

다음 두 가지 방법으로 기본 ~/.copilot 위치를 재정의할 수 있습니다.

  •         **환경 변수**: 사용하려는 디렉터리의 경로로 설정합니다 `COPILOT_HOME` .
    
    Bash
    export COPILOT_HOME=/path/to/my/copilot-config
    
  •         **명령줄 옵션**: CLI를 시작할 때 사용합니다 `--config-dir` .
    
    Bash
    copilot --config-dir /path/to/my/copilot-config
    

--config-dir 옵션은 COPILOT_HOME보다 우선적이며, COPILOT_HOME은 기본 위치보다 우선적으로 적용됩니다.

알아야 할 사항

  •         `COPILOT_HOME` 는 전체 `~/.copilot` 경로를 바꿉니다. 설정한 값은 구성 파일 및 하위 디렉터리에 사용할 디렉터리의 전체 경로여야 합니다.
    
  • 디렉터리를 변경하면 기존 구성, 세션 기록, 설치된 플러그 인 및 저장된 권한이 새 위치에서 찾을 수 없습니다. 내용을 유지하려는 경우 내용을 ~/.copilot 복사하거나 새 위치로 이동합니다.

  •         **캐시 디렉터리**(마켓플레이스 캐시, 자동 업데이트 패키지 및 기타 임시 데이터에 사용됨)는 플랫폼 규칙을 따르며 영향을 `COPILOT_HOME`받지 않습니다. 다음 위치에 있습니다.
    

    - macOS: ~/Library/Caches/copilot

            **Linux**: `$XDG_CACHE_HOME/copilot` 또는 `~/.cache/copilot`
    

    - Windows: %LOCALAPPDATA%/copilot

    캐시 디렉터리를 별도로 재정의하려면 COPILOT_CACHE_HOME을 설정합니다.

안전하게 삭제할 수 있는 항목

항목삭제해도 안전한가요?영향
agents/
          `skills/`
          `hooks/`
         | 권장되지 않음 | 개인 사용자 지정이 손실됩니다. 먼저 백업하세요. |

| copilot-instructions.md, instructions/ | 권장되지 않음 | 개인 사용자 지정 지침이 손실됩니다. 먼저 백업하세요. | | installed-plugins/ | 권장되지 않음 | copilot plugin uninstall을 대신 사용하여 settings.json의 플러그인 메타데이터가 일관성을 유지하도록 합니다. | | logs/ | 예 | 로그 파일은 각 세션마다 다시 만들어집니다. 삭제해도 함수에 영향을 주지 않습니다. | | lsp-config.json | 권장되지 않음 | 사용자 수준 LSP 서버 정의가 손실됩니다. 먼저 백업하세요. | | mcp-config.json | 권장되지 않음 | 사용자 수준 MCP 서버 정의가 손실됩니다. 먼저 백업하세요. | | permissions-config.json | 주의해서 | 저장된 모든 권한을 다시 설정합니다. CLI는 도구 및 디렉터리 승인을 다시 묻는 메시지를 표시합니다. | | plugin-data/ | 예 | 플러그 인 영구 데이터는 필요에 따라 다시 만들어집니다. | | session-state/ | 주의해서 | 삭제하면 세션 기록이 제거됩니다. 더 이상 과거 세션을 다시 시작할 수 없습니다. | | session-store.db | 주의해서 | 삭제하면 세션 간 데이터가 제거됩니다. 파일이 자동으로 다시 만들어집니다. | | settings.json | 주의해서 | 모든 구성을 기본값으로 다시 설정합니다. 기본 설정을 다시 구성하고 다시 인증해야 합니다. |

구성 파일 설정

설정은 사용자에서 리포지토리로, 그 다음 로컬로 계단식으로 적용되며, 더욱 구체적인 범위는 더 일반적인 범위를 우선적으로 재정의합니다. 명령줄 옵션 및 환경 변수는 항상 가장 높은 우선 순위를 사용합니다.

ScopeLocationPurpose
사용자~/.copilot/settings.json모든 리포지토리의 전역 기본값입니다. 환경 변수를 COPILOT_HOME 사용하여 대체 경로를 지정합니다.
리포지토리.github/copilot/settings.json공유 리포지토리 구성(리포지토리에 커밋됨)
Local.github/copilot/settings.local.json개인 재정의(여기에 .gitignore 추가).

사용자 설정(~/.copilot/settings.json)

이러한 설정은 모든 세션 및 리포지토리에 적용됩니다. 이 파일을 직접 편집하거나 슬래시 명령을 사용하여 개별 값을 업데이트할 수 있습니다.

암호키유형Default설명
allowedUrlsstring[][]URL 또는 도메인은 프롬프트 없이 허용됩니다. 정확한 URL, 도메인 패턴 및 와일드카드 하위 도메인(예: "*.github.com")을 지원합니다.
askUserbooleantrue에이전트가 명확한 질문을 할 수 있도록 허용합니다. 완전 자율 작업을 위해 false 설정됩니다.
          `--no-ask-user`으로도 설정할 수 있습니다. |

| autoUpdate | boolean | true | CLI 업데이트를 자동으로 다운로드합니다. | | autoUpdatesChannel | "stable" | "prerelease" | "stable" | 채널을 업데이트합니다. 시험판 업데이트를 받도록 "prerelease" 설정합니다. | | banner | "always" | "once" | "never" | "once" | 애니메이션 배너 표시 빈도입니다. | | bashEnv | boolean | false | bash 셸에 대한 지원을 사용하도록 설정합니다 BASH_ENV . 또는 .를 사용하여 --bash-env``--no-bash-env설정할 수도 있습니다. | | beep | boolean | true | 주의가 필요할 때 가청 경고음을 재생합니다. | | colorMode | "default" | "dim" | "high-contrast" | "colorblind" | "default" | 색 대비 모드입니다. /theme 슬래시 명령어를 통해 관리합니다. | | compactPaste | boolean | true | 큰 붙여넣기(10줄 이상)를 압축 토큰으로 축소합니다. | | companyAnnouncements | string[] | [] | 시작 시 임의로 표시되는 사용자 지정 메시지입니다. CLI가 시작될 때마다 하나의 메시지가 임의로 선택됩니다. 팀 알림 또는 미리 알림에 유용합니다. | | continueOnAutoMode | boolean | false | 속도가 제한되면 자동으로 자동 모드로 전환됩니다. true 허용 기준에 맞는 속도 제한 오류가 발생하면 자동 모드로 전환되어 다시 시도합니다. 전역 속도 제한 또는 BYOK 공급자에는 적용되지 않습니다. | | copyOnSelect | boolean | true (macOS), false (기타) | 마우스로 선택한 텍스트를 대체 화면 모드에서 시스템 클립보드에 자동으로 복사합니다. | | customAgents.defaultLocalOnly | boolean | false | 로컬 사용자 지정 에이전트만 사용합니다(원격 조직 또는 엔터프라이즈 에이전트 없음). | | deniedUrls | string[] | [] | 항상 거부되는 URL 또는 도메인입니다. 거부 규칙은 허용 규칙보다 우선합니다. | | disableAllHooks | boolean | false | 모든 후크(리포지토리 수준 및 사용자 수준 모두)를 사용하지 않도록 설정합니다. | | disabledMcpServers | string[] | [] | 사용하지 않도록 설정할 MCP 서버 이름입니다. 나열된 서버는 구성되었지만 시작되지 않았습니다. | | disabledSkills | string[] | [] | 사용하지 않도록 설정할 기술 이름입니다. 나열된 기술은 검색되지만 로드되지 않습니다. | | effortLevel | string | "medium" | 확장된 사고에 대한 추론 노력 수준: "low", "medium", "high"또는 "xhigh". 상위 수준은 더 많은 컴퓨팅을 사용합니다. | | enabledMcpServers | string[] | [] | 기본적으로 사용하지 않도록 설정된 기본 제공 MCP 서버를 사용하도록 설정합니다(예: "computer-use"). | | enabledPlugins | Record<string, boolean> | {} | 선언적 플러그 인 자동 설치. 키는 플러그인 사양이며, 값은 true (사용) 또는 false (사용 안 함)입니다. | | experimental | boolean | false | 실험적 기능을 사용하도록 설정합니다. 명령줄 옵션 --experimental 또는 슬래시 명령 /experimental을 사용하여 사용할 수 있도록 설정할 수도 있습니다. | | extraKnownMarketplaces | Record<string, {...}> | {} | 추가 플러그 인 마켓플레이스. 각 키는 마켓플레이스 이름입니다. 값은 원본("directory"또는"git"``"github")을 지정합니다. | | footer | object | — | 상태 줄에 표시되는 항목을 제어합니다. 하위 키: showModelEffort,showDirectory, showBranch, showContextWindow, showQuota``showAgent (모두boolean). 슬래시 명령어로 /statusline을(를) 관리합니다. | | hooks | object | — | 이벤트 이름으로 키가 지정된 인라인 사용자 수준 후크 정의입니다. .github/hooks/*.json 파일과 동일한 스키마를 사용합니다. 후크 사용하기 GitHub Copilot 명령 줄 인터페이스 (CLI)을(를) 참조하세요. | | ide.autoConnect | boolean | true | 시작할 때 IDE 작업 영역에 자동으로 연결합니다. false시, /ide 명령을 사용하여 수동으로 연결할 수 있습니다. | | ide.openDiffOnEdit | boolean | true | 연결된 IDE에서 승인하기 위해 파일의 변경 사항을 열기 이 경우 false파일 편집 승인은 터미널에만 표시됩니다. | | includeCoAuthoredBy | boolean | true | 에이전트가 만든 git 커밋에 Co-authored-by 레이블을 추가합니다. | | logLevel | "none" | "error" | "warning" | "info" | "debug" | "all" | "default" | "default" | 로깅 상세 수위 | | mergeStrategy | "rebase" | "merge" | — | /pr fix conflicts에 대한 충돌 해결 전략 "rebase"로 설정하면 기본 브랜치에 리베이스하여 충돌이 해결됩니다. 로 "merge"설정하면 기본 분기가 기능 분기에 병합됩니다. 구성되지 않은 경우 선택기 대화 상자가 표시됩니다. | | model | string | 다양하다 | 사용할 AI 모델입니다. 사용 가능한 최상의 모델을 자동으로 선택하도록 "auto"Copilot 설정합니다. /model은 슬래시 명령으로 관리됩니다. | | mouse | boolean | true | 대체 화면 모드에서 마우스 지원을 사용하도록 설정합니다. 또는 .를 사용하여 --mouse``--no-mouse설정할 수도 있습니다. | | powershellFlags | string[] | ["-NoProfile", "-NoLogo"] | 시작 시 PowerShell(pwsh)에 전달된 플래그입니다. Windows 전용. | | renderMarkdown | boolean | true | 터미널 출력에서 Markdown을 렌더링합니다. | | respectGitignore | boolean | true | 파일 멘션 선택기에서 @ gitignored 파일을 제외합니다. 이 경우 false 선택기는 일반적으로 .gitignore에 의해 제외되는 파일을 포함합니다. | | screenReader | boolean | false | 화면 읽기 프로그램 최적화를 사용하도록 설정합니다. | | skillDirectories | string[] | [] | 추가 디렉터리(~/.copilot/skills/ 외)에 사용자 지정 기술 정의를 검색합니다. | | statusLine | object | — | 사용자 지정 상태 줄 표시. type: 반드시 "command"이어야 합니다. command: stdin에서 세션 JSON을 수신하고 상태 콘텐츠를 stdout에 출력하는 실행 가능한 스크립트의 경로입니다. padding: 선택적인 왼쪽 여백 공간의 수. | | storeTokenPlaintext | boolean | false | 시스템 키 집합을 사용할 수 없는 경우 인증 토큰을 구성 파일에 일반 텍스트로 저장합니다. | | stream | boolean | true | 스트리밍 응답을 사용하도록 설정합니다. | | streamerMode | boolean | false | 미리 보기 모델 이름 및 할당량 세부 정보를 숨깁니다. 화면 공유 또는 코파일럿 CLI을(를) 시연할 때 유용합니다. | | theme | "auto" | "dark" | "light" | "auto" | 터미널 색 테마입니다. "auto" 는 터미널 배경을 검색하고 그에 따라 선택합니다. | | updateTerminalTitle | boolean | true | 터미널 탭 또는 창 제목에 현재 의도를 표시합니다. |

리포지토리 설정(.github/copilot/settings.json)

리포지토리 설정은 리포지토리에서 작동하는 모든 사용자에게 적용됩니다. 리포지토리에 커밋되고 공동 작업자와 공유됩니다.

다음 표에 나열된 키만 리포지토리 수준에서 지원됩니다. 사용자 구성 파일에서 유효한 키를 포함한 다른 키는 자동으로 무시됩니다.

암호키유형동작 통합설명
companyAnnouncementsstring[]Replaced - 리포지토리가 우선합니다.시작 시 임의로 표시되는 메시지입니다.
disableAllHooksboolean리포지토리가 우선합니다.모든 후크를 사용하지 않도록 설정합니다.
enabledPluginsRecord<string, boolean>병합됨 - 저장소가 동일한 키에 대해 사용자를 우선합니다.선언적 플러그 인 자동 설치.
extraKnownMarketplacesRecord<string, {...}>병합됨 - 저장소가 동일한 키에 대해 사용자를 우선합니다.이 리포지토리에서 사용할 수 있는 플러그 인 마켓플레이스입니다.
hooksobject연결됨 - 사용자 후크 후 리포지토리 후크가 실행됨이 리포지토리로 범위가 지정된 후크 정의입니다.
          [AUTOTITLE](/copilot/how-tos/copilot-cli/customize-copilot/use-hooks)을(를) 참조하세요. |

| mergeStrategy | "rebase" | "merge" | 리포지토리가 우선합니다. | /pr fix conflicts에 대한 충돌 해결 전략 |

로컬 설정(.github/copilot/settings.local.json)

개인 재정의 사항은 커밋하지 않도록 리포지토리에서 .github/copilot/settings.local.json 생성합니다. 에 이 파일을 추가합니다 .gitignore.

로컬 구성 파일은 리포지토리 구성 파일(.github/copilot/settings.json)과 동일한 스키마를 사용하며 이보다 우선합니다.

추가 읽기