| name | commit |
| description | 작업 내역을 분석해 논리적 단위로 커밋 계획을 세우고 사용자 승인 후 커밋을 실행한다. 커밋할 준비가 됐거나 사용자가 커밋을 요청할 때 사용한다. |
| user-invocable | true |
| disable-model-invocation | false |
| allowed-tools | Bash, Read, Glob, Grep |
Commit
작업 내역을 분석해 논리적 단위로 커밋 계획을 세운 뒤 사용자 승인을 받고 실행한다.
중요: Co-Authored-By 등 co-author 정보를 커밋 메시지에 절대 추가하지 않는다. author는 개발자 혼자여야 한다.
실행 절차
1단계: 변경사항 파악
아래 명령어를 실행해 현재 상태를 파악한다.
git status
git diff --stat HEAD
git diff HEAD
git log --oneline -10
- 스테이징된 파일, 미스테이징 파일, 미추적 파일을 모두 확인한다.
- 파일 내용이 필요하면 Read/Grep 도구로 추가 확인한다.
- 최근 커밋 이력을 보고 이 프로젝트의 커밋 메시지 스타일을 파악한다.
2단계: 커밋 계획 수립
변경사항을 분석해 논리적 단위로 커밋을 나눈다.
- 하나의 커밋은 하나의 관심사만 담는다 (기능 추가, 버그 수정, 리팩토링 등을 섞지 않는다)
- 파일 간 의존관계를 고려해 순서를 정한다 (예: 인터페이스 → 구현체 → 테스트)
- 커밋 메시지는 프로젝트의 기존 스타일을 따른다
계획을 아래 형식으로 사용자에게 제시한다:
📋 커밋 계획
커밋 1: <타입>: <메시지>
- <파일1>
- <파일2>
커밋 2: <타입>: <메시지>
- <파일3>
총 N개 커밋
3단계: 사용자 승인
계획을 제시한 후 반드시 사용자에게 선택지를 제공한다:
진행 방식을 선택해주세요:
1. 계획대로 커밋 실행
2. 커밋 계획 다시 수립
3. 취소
- 1번 선택: 4단계로 진행
- 2번 선택: 사용자 피드백을 반영해 2단계로 돌아가 계획을 다시 수립
- 3번 선택: 아무것도 하지 않고 종료
4단계: 커밋 실행
승인된 계획대로 순서대로 커밋을 실행한다.
각 커밋마다:
- 해당 파일만
git add <파일> 으로 스테이징 (절대 git add -A 나 git add . 사용 금지)
- 커밋 메시지에 Co-Authored-By 등 co-author 정보를 포함하지 않는다
git commit -m "메시지" 로 커밋
모든 커밋 완료 후 git log --oneline -N 으로 결과를 확인하고 사용자에게 보여준다.