# 06. Commit Convention ## 목적 세션이 끊겨도 커밋 이력만으로 복구 가능하도록, 메시지를 사람이 읽기 쉬우면서 기계적으로도 파싱 가능한 형태로 통일한다. ## 기본 형식 (Conventional Commits) ```text (): ``` 예시: - `feat(app-hub): compact CTA layout for desktop` - `refactor(room): replace member count with vibe metadata` - `docs(session): add recovery playbook and state template` ## type 규칙 - `feat`: 사용자 가시 기능 추가/변경 - `fix`: 버그 수정 - `refactor`: 동작 동일한 구조 개선 - `style`: UI 스타일/카피 조정 - `docs`: 문서 추가/수정 - `chore`: 설정/스크립트/의존성 정리 ## 권장 본문 템플릿 ```text Context: - 왜 이 변경이 필요한지 Changes: - 실제 변경 사항 Validation: - 실행한 검증 (예: npx tsc --noEmit) Session-State: <현재 상태 한 줄> Session-Next: <다음 우선순위 한 줄> Session-Risks: <남은 리스크 한 줄> ``` ## 커밋 크기 규칙 - 1커밋 1의도 원칙 - 화면 변경과 구조 변경이 모두 크면 분리 커밋 - 대규모 리팩터링은 중간 checkpoint 커밋을 남긴다