VS Code Copilot 커스텀 인스트럭션 — AI를 팀 스타일로 길들이는 법
.github/copilot-instructions.md 파일 하나로 Copilot이 프로젝트의 코딩 표준과 워크플로우를 자동으로 따르게 만드는 방법을 설명한다.
Copilot한테 같은 말을 반복하는 게 지겨워졌다면, 커스텀 인스트럭션이 해답이다. "우리 팀은 화살표 함수 쓰고, 싱글 쿼트 쓰고, async/await 써야 해"를 매번 프롬프트에 넣는 대신, 파일 하나에 한 번만 쓰면 된다.
커스텀 인스트럭션이 뭔가
Copilot에게 팀의 워크플로우와 스타일 선호도를 알려주는 상시 컨텍스트.
프로젝트 루트에 .github/copilot-instructions.md 파일을 만들면, Copilot이 이 파일을 자동으로 인식해서 모든 대화에 적용한다. 새 팀원이 합류해도, CI에서 코드 생성 도구를 쓸 때도, 이 파일 하나가 일관성을 보장한다.
비유하면 회사에 새로 입사한 직원한테 "우리 팀 코딩 컨벤션 문서"를 주는 것과 같다. 매번 구두로 설명하지 않아도 기준이 생긴다.
기본 설정
.github/copilot-instructions.md 파일을 만들고 마크다운으로 지시사항을 작성한다.
# Copilot Instructions
## 코딩 표준
- 변수/함수명: camelCase
- 컴포넌트명: PascalCase
- 문자열: 싱글 쿼트
- 들여쓰기: 2스페이스
- 함수: 화살표 함수 사용
- 비동기: async/await (Promise.then 금지)
- 선언: const 우선, 필요 시 let (var 금지)
- 구조 분해 할당 적극 활용
- 템플릿 리터럴 사용 (문자열 연결 금지)
## 패턴
- 컴포넌트는 함수형으로만 작성
- Props 타입은 interface로 정의
- 상태 관리는 Zustand 사용
- API 호출은 React Query 사용이게 전부다. 파일을 저장소에 커밋하면 팀 전체에 즉시 적용된다.
[💡 잠깐! 이 용어는?]
.github/ 디렉토리: GitHub이 특별하게 인식하는 설정 파일을 저장하는 디렉토리. GitHub Actions, Pull Request 템플릿, Copilot 설정 등이 여기에 들어간다.
워크스페이스 설정으로 세밀하게 조정
.github/copilot-instructions.md가 전역 인스트럭션이라면, .vscode/settings.json으로는 특정 작업별 인스트럭션을 추가로 설정할 수 있다.
커밋 메시지 생성 커스터마이징
{
"github.copilot.chat.commitMessageGeneration.instructions": [
{
"text": "커밋 타입은 feat/fix/refactor/docs/test/chore만 사용. 한 줄 설명은 한글로. 변경 이유를 명확히 포함."
}
]
}코드 생성 시 여러 스타일 문서 참조
{
"github.copilot.chat.codeGeneration.instructions": [
{
"file": "./docs/typescript-conventions.md"
},
{
"file": "./docs/api-patterns.md"
},
{
"file": "./docs/database-query-style.md"
}
]
}파일이 여러 개여도 된다. 백엔드 스타일, 프론트엔드 스타일, DB 쿼리 패턴을 각각 문서로 분리해서 관리할 수 있다.
실제 효과
인스트럭션 없이 "tail recursion으로 피보나치 구현해줘"라고 하면, Copilot이 일반적인 형태로 코드를 작성한다. 인스트럭션에 팀 스타일을 지정해두면, 같은 요청에도 화살표 함수, 싱글 쿼트, TypeScript 타입 명시가 자동으로 적용된다.
| 상황 | 인스트럭션 없을 때 | 인스트럭션 있을 때 |
|---|---|---|
| 함수 작성 | function 키워드 혼용 | 화살표 함수 통일 |
| 에러 처리 | try/catch 스타일 제각각 | 팀 패턴 적용 |
| 커밋 메시지 | "update files" 수준 | 구체적 변경 이유 포함 |
| 코드 리뷰 요청 | 일반적인 체크 | 팀 규칙 기반 검토 |
프롬프트 파일 — 재사용 가능한 명령어
.github/prompts/ 디렉토리에 *.prompt.md 파일을 만들면, 팀이 자주 쓰는 프롬프트를 재사용 가능한 형태로 저장할 수 있다.
---
description: "코드 리뷰 수행"
---
아래 코드를 검토하고 피드백을 제공해줘:
- TypeScript 타입 안전성
- [conventions.md](../docs/conventions.md) 규칙 준수 여부
- 성능 문제 가능성
- 테스트 커버리지 부족 부분파일 간 링크도 된다. 프롬프트 파일에서 다른 마크다운 문서를 참조하면, Copilot이 해당 문서도 같이 읽는다.
모델 톤 조절
사소하지만 실제로 영향이 있는 설정이다. Copilot이 너무 과하게 정중하면 인스트럭션으로 조절할 수 있다.
## 응답 스타일
- 사과 표현 사용 금지 ("죄송합니다", "미안합니다")
- 동의 표현 최소화 ("맞습니다", "훌륭한 질문이에요")
- 틀렸다고 하면, 맞는지 판단하고 근거 있으면 반박
- 간결하게. 불필요한 도입부 없이 바로 본론주의할 점이 있다. "~하지 마라"는 부정형보다 "~을 피해라"처럼 긍정형으로 쓰는 게 모델이 더 잘 따른다. "과장된 표현을 사용하지 마라"보다 "간결하고 직접적인 표현을 사용해라"가 효과적이다.
Sequelize 같은 ORM 패턴 자동 적용
데이터 접근 계층 코드를 자주 작성한다면, 샘플 파일을 인스트럭션으로 지정할 수 있다.
{
"github.copilot.chat.codeGeneration.instructions": [
{
"file": "./src/models/User.example.ts"
}
]
}User.example.ts에 팀에서 사용하는 Sequelize 모델 패턴을 하나 써두면, Copilot이 새 모델을 만들 때 같은 패턴을 따른다. 주석도, Association도, 커스텀 메서드도 일관되게 나온다.
마무리
커스텀 인스트럭션은 작은 투자로 큰 일관성을 얻는 방법이다.
- 팀 코딩 표준 문서가 있다면 →
.github/copilot-instructions.md로 연결 - 자주 쓰는 프롬프트가 있다면 →
.github/prompts/로 저장 - 특정 작업 유형에 다른 기준이 필요하면 →
.vscode/settings.json으로 세분화
파일이 저장소에 커밋되면, 새 팀원도 클론 즉시 같은 AI 환경에서 작업하게 된다. "Copilot이 우리 팀 스타일을 몰라요"는 이제 변명이 되지 않는다.
참고:
- VS Code 커스텀 인스트럭션 공식 블로그: https://code.visualstudio.com/blogs/2025/03/26/custom-instructions
같은 카테고리 · AI
비슷한 주제의 최신 글
태그가 겹치는 글
공통 태그가 많을수록 위에 보인다