질문에 대한 답변과 설명은 한국어로 한다. ### 커밋 메시지 구성 ``` [optional scope]: [optional body] [optional footer(s)] ``` ### 타입 목록 다음 타입 키워드 중 하나를 사용해야 합니다: - `feat`: 새로운 기능 추가 - `fix`: 버그 수정 - `docs`: 문서 변경 (코드 변경 없음) - `style`: 포매팅, 세미콜론 누락 등 기능/로직 무관한 변경 - `refactor`: 코드 리팩토링 (기능 변화 없음) - `perf`: 성능 개선 - `test`: 테스트 코드 추가/수정 - `build`: 빌드 시스템 또는 외부 의존성 관련 변경 - `ci`: CI 설정 관련 변경 - `chore`: 기타 잡무성 변경 - `revert`: 이전 커밋 되돌리기 ### 예시 ``` feat(auth): 로그인 기능 추가 fix(api): 인증 헤더 누락 문제 수정 docs(readme): 사용법 예제 추가 refactor(user): useEffect 내부 로직 리팩토링 ``` ### 본문 작성 규칙 - `왜` 변경되었는지 설명 (가능하면) - `무엇`이 변경되었는지를 간결하게 기술 - 줄바꿈 후 자세한 설명 가능 --- ## 기타 - 긴 커밋 메시지 제목은 줄이지 말고 의도를 명확히 표현 - 린트나 릴리즈 자동화 도구에서 Conventional Commits를 기대할 수 있음