# 06. Commit Convention ## 목적 세션이 끊겨도 커밋 이력만으로 복구 가능하도록, 메시지를 사람이 읽기 쉬우면서 기계적으로도 파싱 가능한 형태로 통일한다. ## 기본 형식 (Conventional Commits) ```text (): ``` ## 언어 규칙 (필수) - 커밋 제목의 ``는 한국어로 작성한다. - 커밋 본문도 한국어로 작성한다. - 영문 사용은 `type/scope`, 경로, 코드 식별자 같은 고유명사에 한정한다. 예시: - `feat(app-hub): 데스크톱 CTA를 내용폭 버튼으로 조정` - `refactor(room): 인원 수 표시를 분위기 메타데이터로 전환` - `docs(session): 세션 복구 가이드와 템플릿 추가` ## type 규칙 - `feat`: 사용자 가시 기능 추가/변경 - `fix`: 버그 수정 - `refactor`: 동작 동일한 구조 개선 - `style`: UI 스타일/카피 조정 - `docs`: 문서 추가/수정 - `chore`: 설정/스크립트/의존성 정리 ## 권장 본문 템플릿 ```text 맥락: - 왜 이 변경이 필요한지 변경사항: - 실제 변경 사항 검증: - 실행한 검증 (예: npx tsc --noEmit) 세션-상태: <현재 상태 한 줄> 세션-다음: <다음 우선순위 한 줄> 세션-리스크: <남은 리스크 한 줄> ``` ## 커밋 크기 규칙 - 1커밋 1의도 원칙 - 화면 변경과 구조 변경이 모두 크면 분리 커밋 - 대규모 리팩터링은 중간 checkpoint 커밋을 남긴다