3.1 KiB
3.1 KiB
description, allowed-tools
| description | allowed-tools |
|---|---|
| 변경사항을 분석하여 conventional commit 형식으로 자동 커밋 | Bash(git status:*), Bash(git diff:*), Bash(git add:*), Bash(git commit:*), Bash(git log:*) |
Git Commit 자동 생성
변경된 파일과 내용을 분석하여 적절한 conventional commit 메시지를 자동으로 생성하고 커밋합니다.
현재 git 상태를 확인합니다:!git status: 현재 변경사항 및 staging 상태 확인
!git diff --cached: staged된 변경사항 상세 확인 (staged 파일이 없으면 unstaged 파일도 확인)
!git log -5 --oneline --no-decorate: 최근 커밋 메시지 스타일 참고
-
변경사항 분석
- staged된 파일이 없으면 사용자에게 알리고 어떤 파일을 stage할지 제안
- 변경된 파일 경로와 내용을 분석
- 프로젝트 구조를 고려하여 적절한 스코프 결정
-
커밋 스코프 자동 결정 다음 규칙으로 스코프를 선택:
feat: 새로운 기능, 컴포넌트, API 엔드포인트, UI 추가fix: 버그 수정, 에러 핸들링, 오류 수정chore: 의존성 업데이트, 설정 파일 변경, 빌드 설정docs: README, 문서 파일 (*.md), 주석 변경style: 코드 포맷팅, CSS, 스타일 수정 (기능 변경 없음)refactor: 기능 변경 없는 코드 구조 개선, 리팩토링test: 테스트 코드 추가/수정, 테스트 설정build: 빌드 스크립트, 패키지 설정 변경ci: CI/CD 설정 변경
-
커밋 메시지 작성 (한국어)
- 형식:
{scope}: {명확하고 간결한 한국어 요약} - 요약은 동사로 시작 (예: "추가", "수정", "개선", "제거")
- 50자 이내로 작성
- 필요시 빈 줄 후 상세 설명 추가 (각 줄 72자 이내)
- 형식:
-
사용자 확인 요청
- 생성된 커밋 메시지 보여주기
- 주요 변경사항 요약 (diff 하이라이트)
- AskUserQuestion 도구를 사용하여 승인 또는 수정 요청
- 옵션: "커밋 실행", "메시지 수정", "취소"
-
커밋 실행
- 승인되면:
git commit -m "생성된 메시지" - 수정 요청되면: 사용자 피드백 반영하여 메시지 재작성 후 다시 확인
- 취소되면: 작업 중단
- 승인되면: