Github Copilot 커밋 메시지 자동 생성 개선 프롬프트
🥳

Github Copilot 커밋 메시지 자동 생성 개선 프롬프트

작성자
devkodevko
카테고리
Environment
태그
LLM
GPT
Prompt
작성일
2025년 03월 14일
Github Copilot에는 커밋 메시지를 자동 생성해 주는 기능이 내장되어 있습니다.
 
간단한 작업의 커밋 메시지 작성이 번거로워 이 기능을 자주 활용했지만, 커밋 기록을 검토해 보니 메시지들의 일관성이 부족하고 전반적으로 만족스럽지 않았습니다.
 
'커밋 메시지 자동 생성도 LLM 기반일 텐데, 프롬프트 커스터마이징이 가능하지 않을까?'라는 생각에 관련 옵션을 찾아보았습니다.
 

설정

 
VSCode 설정에서 Commit Message Generation을 검색하면 관련 설정이 표시됩니다.
 
notion image
 
해당 설정 옵션의 아래 setting.json에서 편집 을 클릭하여 파일을 열 수 있습니다.
 

Commit Message 생성 프롬프트

 
일관된 형식의 Commit Message 생성을 위해 사용 할 프롬프트는 아래와 같습니다.
다음 Conventional Commits 형식을 엄격하게 따라 커밋 메시지를 생성하세요: <type>[optional scope]: <한글 설명> [optional 한글 본문] 지침: 1. type은 다음 중 하나를 사용하세요 (영어로 유지): - feat: 새로운 기능 추가 - fix: 버그 수정 - docs: 문서 관련 변경 - style: 코드 포맷팅, 세미콜론 누락 등 (코드 변경 없음) - refactor: 코드 리팩토링 - test: 테스트 코드 관련 변경 - chore: 빌드 프로세스 또는 보조 도구 변경 2. scope는 선택사항이며 변경이 영향을 미치는 부분을 명시합니다 (예: ui, api, auth) 3. 모든 설명은 한글로 작성하고, 간결하고 명확한 어조로 작성하세요 4. 중요한 변경사항을 우선적으로 설명하고, 맥락 이해에 필요하지 않은 사소한 수정사항은 생략하세요 5. 변경 내용 이해에 중요한 경우에만 핵심 파일이나 컴포넌트를 언급하세요 6. '이 커밋은', '이 변경은' 같은 표현은 사용하지 마세요 7. 추측성 결론은 작성하지 말고, 실제 코드 변경사항을 기반으로한 사실만 작성하세요 8. 불필요한 설명은 생략하고 변경의 핵심을 간결하게 전달하세요 9. 첫 줄(제목)은 50-72자 이내로 유지하세요 10. 본문 작성 시 다음 가이드라인을 따르세요: - 각 항목은 글머리 기호(-)로 시작하세요 - 각 항목은 동사로 시작하는 간결한 문장으로 작성하세요 - 항목별로 한 줄씩 작성하고 줄당 72자를 넘지 마세요 - 관련 항목끼리 그룹화하세요 - 필요한 경우 '이유'와 '결과'를 명시하세요 (예: '성능 개선을 위해 캐싱 도입') - 코드 변경의 맥락이 중요한 경우에만 추가 설명을 포함하세요 11. 변경된 기능이나 컴포넌트의 맥락을 명확히 포함하세요: - 변경 대상(객체, 서비스, 컴포넌트 등)의 전체 맥락을 명시하세요 - 예를 들어 "요청 객체" 대신 "공용자산 요청 객체"와 같이 완전한 맥락을 제공하세요 - 관련된 도메인이나 기능 영역을 항목 설명에 포함하세요
 
프롬프트를 적용 하기 위해서는 setting.json 의 설정 규칙에 맞게 설정 해주어야 합니다.
 

프롬프트를 setting.json 형식에 맞게 수정한 코드

"github.copilot.chat.commitMessageGeneration.instructions": [ { "text": "다음 Conventional Commits 형식을 엄격하게 따라 커밋 메시지를 생성하세요:\n\n<type>[optional scope]: <한글 설명>\n\n[optional 한글 본문]\n\n지침:\n\n1. type은 다음 중 하나를 사용하세요 (영어로 유지):\n - feat: 새로운 기능 추가\n - fix: 버그 수정\n - docs: 문서 관련 변경\n - style: 코드 포맷팅, 세미콜론 누락 등 (코드 변경 없음)\n - refactor: 코드 리팩토링\n - test: 테스트 코드 관련 변경\n - chore: 빌드 프로세스 또는 보조 도구 변경\n\n2. scope는 선택사항이며 변경이 영향을 미치는 부분을 명시합니다 (예: ui, api, auth)\n\n3. 모든 설명은 한글로 작성하고, 간결하고 명확한 어조로 작성하세요\n\n4. 중요한 변경사항을 우선적으로 설명하고, 맥락 이해에 필요하지 않은 사소한 수정사항은 생략하세요\n\n5. 변경 내용 이해에 중요한 경우에만 핵심 파일이나 컴포넌트를 언급하세요\n\n6. '이 커밋은', '이 변경은' 같은 표현은 사용하지 마세요\n\n7. 추측성 결론은 작성하지 말고, 실제 코드 변경사항을 기반으로한 사실만 작성하세요\n\n8. 불필요한 설명은 생략하고 변경의 핵심을 간결하게 전달하세요\n\n9. 첫 줄(제목)은 50-72자 이내로 유지하세요\n\n10. 본문 작성 시 다음 가이드라인을 따르세요:\n - 각 항목은 글머리 기호(-)로 시작하세요\n - 각 항목은 동사로 시작하는 간결한 문장으로 작성하세요\n - 항목별로 한 줄씩 작성하고 줄당 72자를 넘지 마세요\n - 관련 항목끼리 그룹화하세요\n - 필요한 경우 '이유'와 '결과'를 명시하세요 (예: '성능 개선을 위해 캐싱 도입')\n - 코드 변경의 맥락이 중요한 경우에만 추가 설명을 포함하세요\n \n11. 변경된 기능이나 컴포넌트의 맥락을 명확히 포함하세요:\n - 변경 대상(객체, 서비스, 컴포넌트 등)의 전체 맥락을 명시하세요\n - 예를 들어 \"요청 객체\" 대신 \"공용자산 요청 객체\"와 같이 완전한 맥락을 제공하세요\n - 관련된 도메인이나 기능 영역을 항목 설명에 포함하세요" } ]
 
위 코드를 setting.json 파일에 복사 붙혀넣기 해줍니다.
notion image
 
설정이 완료된 후 커밋 메시지를 생성해 보면 이전보다 일관적인 포맷으로 커밋 메시지가 생성되는 것을 확인할 수 있습니다.
 
부족한 부분이나 수정이 필요한 부분이 있으면 댓글로 편하게 의견 부탁 드립니다.
 
감사합니다.

댓글

guest