| name | commit-helper |
| description | 이 저장소에서 변경 내용을 바탕으로 프로젝트 커밋 메시지 규칙에 맞는 커밋 메시지를 만들거나, staged 변경을 확인해 적절한 Type과 제목을 정리할 때 사용한다. |
Commit Helper
루트 AGENTS.md 규칙을 전제로 사용한다.
목적
- staged 변경 내용을 요약한다.
- 커밋 타입을 분류한다.
- 프로젝트 포맷에 맞는 제목과 본문을 포함한 커밋 메시지를 만든다.
작업 순서
git diff --staged로 staged 변경을 확인한다.
- staged 파일이 없으면
git status로 상태를 확인한다.
- 변경 의도를 파악한다.
- 적절한 Type과 제목을 제안한다.
- 변경 범위를 기능/파일/의도 단위로 묶어 commit body를 작성한다.
- 제목과 본문을 모두 포함한 커밋 메시지 초안을 만든다.
커밋 메시지 규칙
기본 형식:
[#이슈번호] :Emoji: Type: 제목
- 변경 요약
- 변경 이유 또는 기대 효과
- 검증 내용 또는 미검증 사유
commit body는 반드시 포함한다.
예시:
[#이슈번호] :Emoji: Type: 제목
- auth controller에 토큰 재발급 응답 계약을 반영
- device 등록 흐름에서 중복 기기 처리 정책을 정리
- 관련 controller/service 테스트를 실행해 회귀 여부 확인
Type / Emoji
Feature / ✨: 새로운 기능 추가
Fix / 🐛: 버그 수정
Docs / 📝: 문서 수정
Style / 🎨: 포맷팅 위주 변경
Refactor / ♻️: 리팩토링
Test / ✅: 테스트 추가 또는 수정
Chore / 🔧: 빌드, 설정, 기타 유지보수
제목 규칙
- 50자 이하
- 마침표 없음
- 변경 의도가 바로 드러나게 작성
Body 규칙
- 본문은 필수이며 bullet list로 작성한다.
- 각 bullet은
- 로 시작한다.
- 2~4개 bullet을 권장한다.
- 첫 bullet은 변경 범위 또는 핵심 변경을 요약한다.
- 두 번째 bullet은 변경 이유, 정책 결정, 사용자/운영 영향 중 중요한 내용을 적는다.
- 마지막 bullet은 테스트 실행 결과를 적는다.
- 테스트를 실행하지 못했으면 마지막 bullet에 미실행 사유를 명시한다.
- staged 범위에 없는 변경은 body에 쓰지 않는다.
- 단순 파일 목록 나열보다 의도와 영향 중심으로 작성한다.
- 마침표는 사용하지 않는다.
주의사항
- 커밋은 사용자 요청 또는 확인 없이 임의로 진행하지 않는다.
- staged 범위와 메시지 범위가 맞는지 먼저 확인한다.
- 브랜치명에 이슈 번호 규칙이 있으면 참고하되, 불명확하면 추정이라고 명시한다.