코파일럿 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
export COPILOT_HOME=/path/to/my/copilot-config -
**명령줄 옵션**: CLI를 시작할 때 사용합니다 `--config-dir` .Bash copilot --config-dir /path/to/my/copilot-config
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 | 주의해서 | 모든 구성을 기본값으로 다시 설정합니다. 기본 설정을 다시 구성하고 다시 인증해야 합니다. |
구성 파일 설정
설정은 사용자에서 리포지토리로, 그 다음 로컬로 계단식으로 적용되며, 더욱 구체적인 범위는 더 일반적인 범위를 우선적으로 재정의합니다. 명령줄 옵션 및 환경 변수는 항상 가장 높은 우선 순위를 사용합니다.
| Scope | Location | Purpose |
|---|---|---|
| 사용자 | ~/.copilot/settings.json | 모든 리포지토리의 전역 기본값입니다. 환경 변수를 COPILOT_HOME 사용하여 대체 경로를 지정합니다. |
| 리포지토리 | .github/copilot/settings.json | 공유 리포지토리 구성(리포지토리에 커밋됨) |
| Local | .github/copilot/settings.local.json | 개인 재정의(여기에 .gitignore 추가). |
사용자 설정(~/.copilot/settings.json)
이러한 설정은 모든 세션 및 리포지토리에 적용됩니다. 이 파일을 직접 편집하거나 슬래시 명령을 사용하여 개별 값을 업데이트할 수 있습니다.
| 암호키 | 유형 | Default | 설명 |
|---|---|---|---|
allowedUrls | string[] | [] | URL 또는 도메인은 프롬프트 없이 허용됩니다. 정확한 URL, 도메인 패턴 및 와일드카드 하위 도메인(예: "*.github.com")을 지원합니다. |
askUser | boolean | true | 에이전트가 명확한 질문을 할 수 있도록 허용합니다. 완전 자율 작업을 위해 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)
리포지토리 설정은 리포지토리에서 작동하는 모든 사용자에게 적용됩니다. 리포지토리에 커밋되고 공동 작업자와 공유됩니다.
다음 표에 나열된 키만 리포지토리 수준에서 지원됩니다. 사용자 구성 파일에서 유효한 키를 포함한 다른 키는 자동으로 무시됩니다.
| 암호키 | 유형 | 동작 통합 | 설명 |
|---|---|---|---|
companyAnnouncements | string[] | Replaced - 리포지토리가 우선합니다. | 시작 시 임의로 표시되는 메시지입니다. |
disableAllHooks | boolean | 리포지토리가 우선합니다. | 모든 후크를 사용하지 않도록 설정합니다. |
enabledPlugins | Record<string, boolean> | 병합됨 - 저장소가 동일한 키에 대해 사용자를 우선합니다. | 선언적 플러그 인 자동 설치. |
extraKnownMarketplaces | Record<string, {...}> | 병합됨 - 저장소가 동일한 키에 대해 사용자를 우선합니다. | 이 리포지토리에서 사용할 수 있는 플러그 인 마켓플레이스입니다. |
hooks | object | 연결됨 - 사용자 후크 후 리포지토리 후크가 실행됨 | 이 리포지토리로 범위가 지정된 후크 정의입니다. |
[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)과 동일한 스키마를 사용하며 이보다 우선합니다.