GitHub Copilot는 충분한 컨텍스트를 제공하면 개인적인 선호, 팀의 작업 방식, 사용하는 도구 또는 프로젝트의 세부 사항에 맞춘 응답을 제공할 수 있습니다. 프롬프트에 이 상황별 세부 정보를 반복적으로 추가하는 대신 자동으로 이 정보를 추가하는 사용자 지정 지침을 만들 수 있습니다. 추가 정보는 표시되지 않지만, 더 높은 품질의 응답을 생성할 수 있도록 Copilot에 제공됩니다.
사용자 지정 지침 유형
GitHub Copilot 명령 줄 인터페이스 (CLI) 는 다음 위치의 지침을 지원합니다.
아래 표에 나와 있지 않은 경우 리포지토리 루트, 코파일럿 CLI 현재 작업 디렉터리, 중간 디렉터리 및 작업 중인 파일의 경로에 중첩된 디렉터리 등 표준 위치에서 리포지토리 및 에이전트 명령 파일을 검색합니다. 모듈식 명령 파일(일치하는 *.instructions.md파일)은 경로에 따라 다릅니다. 값이 있는 applyTo 파일은 일치하는 파일에만 적용됩니다.
| 위치 | 범위 및 동작 |
|---|---|
$HOME/ | 리포지토리에 적용되는 사용자 수준 지침입니다. |
$HOME/ | 모듈식 사용자 수준 지침입니다. |
.github/ | 표준 위치에서 발견된 리포지토리 전체에 적용되는 지침입니다. |
.github/ | 표준 위치에서 검색되었지만 중간 디렉터리는 검색되지 않은 모듈식 리포지토리 명령입니다. |
AGENTS.md | 표준 위치에서 검색된 에이전트 지침입니다. 자세한 내용은 agentsmd/agents.md 리포지토리를 참조하세요. |
CLAUDE.md | 표준 위치에서 검색된 에이전트 지침입니다. |
코파일럿 CLI 또한 .claude/CLAUDE.md을 사용합니다. | |
GEMINI.md | 표준 위치에서 검색된 에이전트 지침입니다. |
COPILOT_CUSTOM_에 나열된 디렉터리 | 추가 AGENTS.md 및 *.instructions.md 파일. 여러 디렉터리를 쉼표로 구분합니다. |
환경 변수 COPILOT_HOME 를 코파일럿 CLI 설정하는 경우 사용자 수준 명령 위치 대신 $HOME/.copilot 해당 디렉터리를 사용합니다.
명령을 /instructions 사용하여 현재 세션에 대해 검색된 명령 파일을 보고 개별 파일을 사용하거나 사용하지 않도록 설정합니다.
여러 명령 파일이 상호 작용하는 방법
적용 가능한 여러 사용자 수준 및 리포지토리 명령 파일이 있는 코파일럿 CLI 경우 해당 지침을 결합합니다. 동일한 사용자 수준 copilot-instructions.md, 리포지토리 전체 및 에이전트 명령의 중복 복사본을 제거하지만 이러한 파일 간의 일반적인 우선 순위 순서는 정의하지 않습니다. 충돌하는 지침을 피합니다.
경로별 지침은 해당 applyTo 값이 작업 중인 파일 코파일럿 CLI 과 일치하는 경우에만 포함됩니다.
/instructions를 사용하여 비활성화한 지시 파일은 포함되지 않습니다.
리포지토리 전체 사용자 지정 지침 생성하기
-
리포지토리의 루트에서
.github/copilot-instructions.md파일을 만듭니다.아직 없는 경우
.github디렉터리를 만듭니다. -
파일에 자연어 지침을 Markdown 형식으로 추가하세요
지침 사이의 공백은 무시되므로 지침을 새 줄에 각각 하나의 단락으로 작성하거나 가독성을 위해 빈 줄로 구분할 수 있습니다.
효과적인 사용자 지정 지침을 작성하는 방법에 대한 도움말은 GitHub Copilot 응답을 사용자 지정하는 방법에 대한 정보을 참조하세요.
다른 파일 참조
.github/copilot-instructions.md, AGENTS.md 또는 CLAUDE.md에서는 @ 뒤에 상대 경로를 사용하여 다른 파일을 포함합니다.
코파일럿 CLI 는 참조된 파일을 즉시 읽고 참조된 파일 내의 참조를 지원합니다.
참조된 파일은 리포지토리 내에 있거나 로컬 지침에 대한 사용자 지정 지침 디렉터리 내에 있어야 합니다. 시작 ~/ 하는 절대 경로 및 경로 로드 되지 않습니다.
GEMINI.md 또는 *.instructions.md 파일에서는 파일 참조가 확장되지 않습니다.
경로별 사용자 지정 지침 만들기
-
.github/instructions디렉터리가 아직 없는 경우, 새로 만듭니다. -
필요에 따라
.github/instructions의 하위 디렉터리를 만들어 명령 파일을 체계적으로 정리할 수 있습니다. -
하나 이상의
NAME.instructions.md파일을 만드세요. 여기서NAME은 지침의 목적을 나타냅니다. 파일 이름은.instructions.md로 끝나야 합니다. -
파일의 시작 부분에,
applyTo키워드를 포함하는 프론트매터 블록을 만드세요. glob 구문을 사용하여 지침이 적용될 파일이나 디렉터리를 지정합니다.예시:
--- applyTo: "app/models/**/*.rb" ---쉼표로 여러 패턴을 구분하여 지정할 수 있습니다. 예를 들어, 리포지토리의 모든 TypeScript 파일에 지침을 적용하려면, 다음과 같은 프론트매터 블록을 사용할 수 있습니다.
--- applyTo: "**/*.ts,**/*.tsx" ---Glob 예제:
*- 현재 디렉터리의 모든 파일과 일치합니다.**또는**/*- 모든 디렉터리에 있는 모든 파일과 일치합니다.*.py- 현재 디렉터리의 모든.py파일과 일치합니다.**/*.py- 모든 디렉터리에 있는 모든.py파일을 재귀적으로 일치합니다.src/*.py-.py디렉터리 내 모든src파일을 일치시킵니다. 예를 들어,src/foo.py와src/bar.py그러나 아니src/foo/bar.py.src/**/*.py- 디렉터리의 모든.py파일src과 재귀적으로 일치합니다. 예:src/foo.py,src/foo/bar.py및src/foo/bar/baz.py.**/subdir/**/*.py- 모든.py디렉터리의 깊은 곳에 있는 모든subdir파일을 재귀적으로 일치시킵니다. 예를 들어subdir/foo.py,subdir/nested/bar.py,parent/subdir/baz.py,deep/parent/subdir/nested/qux.py와 같은 경우에는 사용되지만, 디렉터리foo.py가 포함되지 않은subdir경로에서는 사용되지 않습니다.
-
파일이 Copilot 클라우드 에이전트 또는 Copilot 코드 검토에 의해 사용되는 것을 방지하려면, 프런트매터 블록의 앞부분에
excludeAgent키워드를 추가하십시오. 또는"code-review"``"cloud-agent".를 사용합니다.예를 들어 다음 파일은 Copilot 클라우드 에이전트에서만 읽힙니다.
--- applyTo: "**" excludeAgent: "code-review" ---키워드가
excludeAgent프론트 머터블록에 포함되지 않은 경우, Copilot 코드 검토와 Copilot 클라우드 에이전트는 둘 다 귀하의 지침을 사용합니다. -
Markdown 형식을 사용하여 자연어로 사용자 지정 지침을 추가합니다. 지침 사이의 공백은 무시되므로 지침을 새 줄에 각각 단일 단락으로 작성하거나 가독성을 위해 빈 줄로 구분할 수 있습니다.
사용 중인 사용자 지정 지침
사용자 지정 지침 파일에 대한 변경 내용은 활성 CLI 세션에서 즉시 사용할 수 없습니다. 변경 내용을 적용하려면 현재 세션을 종료한 다음 다시 시작하거나(예: 실행 copilot --continue) 새 세션을 시작합니다(예: 대화형 세션 내에서 사용 /new ).
추가 읽기
- 다양한 유형의 사용자 지정 지침 지원
- 사용자 지정 지침 - 큐레이팅된 예제 컬렉션
- 사용자 지정 지침을 사용하여 Copilot 코드 검토의 기능 잠금 해제