--- description: 커밋 메시지는 Conventional Commits + 한글 본문 alwaysApply: true --- # 커밋 메시지 (Conventional Commits + 한글) ## 형식 - **한 줄:** `<타입>(선택 범위): <한글 설명>` - **타입·콜론·공백 뒤 설명은 반드시 한글**로 작성한다. - 제목은 **50자 전후**, 명령형·현재형으로 짧게 쓴다. (예: "추가함" 대신 "추가") ## 허용 타입 | 타입 | 용도 | |------|------| | `feat` | 새 기능 | | `fix` | 버그 수정 | | `docs` | 문서만 변경 | | `style` | 포맷·세미콜론 등, 동작 변화 없음 | | `refactor` | 리팩터링 (기능 변화 없음) | | `test` | 테스트 추가·수정 | | `chore` | 빌드·설정·잡일 | | `perf` | 성능 개선 | | `ci` | CI 설정 | | `build` | 빌드 시스템·의존성 | | `revert` | 되돌리기 | ## 예시 ```text feat: 로그인 실패 시 텔레그램 알림 전송 fix: GAME_COUNT 빈 문자열일 때 기본값 적용 refactor: 설정 로드 로직을 config 모듈로 분리 docs: README에 NAS 배포 절차 추가 test: LottoBuyer 로그인 성공 케이스 mock 테스트 chore: requirements.txt 버전 고정 ci: Gitea Actions에서 Secret 기반 설정 검증 ``` ## 범위(선택) - 괄호로 모듈을 짧게: `feat(lotto_buyer): 세션 만료 시 재로그인 시도` - 필요할 때만 사용. ## 본문이 필요할 때 - 제목 다음 빈 줄 뒤 **본문도 한글**로 상세 설명. - 푸터: `BREAKING CHANGE:` 등은 프로젝트에 필요할 때만 영문 키워드 유지 가능. ## 금지 - 타입 없이 자유 문장만 쓰기 - 제목 전체를 영어만으로 쓰기 (이 프로젝트 기본은 한글 설명)