73 lines
2.1 KiB
Markdown
73 lines
2.1 KiB
Markdown
---
|
|
name: commit-review
|
|
label: 커밋 메시지 리뷰
|
|
description: Git 커밋 메시지를 Conventional Commits 기준으로 검토하고 개선을 제안합니다.
|
|
icon: \uE8CB
|
|
allowed-tools:
|
|
- process
|
|
- git_tool
|
|
- file_read
|
|
- text_summarize
|
|
tabs: code
|
|
---
|
|
|
|
작업 폴더의 최근 Git 커밋 메시지를 검토하고 개선안을 제시하세요.
|
|
|
|
## 작업 절차
|
|
1. `process` — `git log --oneline -20` 으로 최근 커밋 목록 확인
|
|
2. `process` — `git log --format="%H%n%s%n%b%n---" -10` 으로 상세 메시지 확인
|
|
3. `process` — `git diff HEAD~1` 으로 최신 커밋 변경 내용 확인 (필요 시)
|
|
4. 각 커밋을 Conventional Commits 기준으로 분석
|
|
5. 결과를 정리하여 출력
|
|
|
|
## Conventional Commits 규칙
|
|
```
|
|
<type>[optional scope]: <description>
|
|
|
|
[optional body]
|
|
|
|
[optional footer(s)]
|
|
```
|
|
|
|
### type 종류
|
|
- `feat`: 새 기능
|
|
- `fix`: 버그 수정
|
|
- `docs`: 문서 변경
|
|
- `style`: 포맷팅 (코드 동작 변경 없음)
|
|
- `refactor`: 리팩토링
|
|
- `perf`: 성능 개선
|
|
- `test`: 테스트 추가/수정
|
|
- `chore`: 빌드/도구 설정
|
|
- `ci`: CI 설정 변경
|
|
|
|
## 검토 항목
|
|
1. **type 적절성**: 변경 내용과 type이 일치하는가
|
|
2. **설명 품질**: 50자 이내, 명령형, 명확한 내용
|
|
3. **본문 유무**: 복잡한 변경에 "왜" 설명이 있는가
|
|
4. **일관성**: 팀 내 커밋 스타일이 통일되어 있는가
|
|
5. **Breaking Change**: BREAKING CHANGE 푸터 또는 ! 표기
|
|
|
|
## 출력 형식
|
|
```
|
|
## 커밋 메시지 리뷰 결과
|
|
|
|
### 전체 요약
|
|
- 검토 커밋: N개
|
|
- 규칙 준수: N개 ✓ / 위반: N개 ✗
|
|
|
|
### 개별 리뷰
|
|
|
|
#### abc1234 "Fix login bug"
|
|
- ❌ type 없음 → `fix: resolve login authentication failure`
|
|
- ❌ 본문 없음 → 원인과 해결 방법 추가 권장
|
|
|
|
#### def5678 "feat: add user profile page"
|
|
- ✅ Conventional Commits 준수
|
|
- 💡 scope 추가 권장: `feat(profile): add user profile page`
|
|
```
|
|
|
|
## 주의사항
|
|
- 비판이 아닌 건설적 제안을 하세요.
|
|
- 팀의 기존 컨벤션이 있으면 그것을 우선 존중하세요.
|
|
- 개선된 메시지 예시를 항상 함께 제시하세요.
|