AgentSkillsCN

commit

生成采用Semantic Commit格式的详细提交信息。

SKILL.md
--- frontmatter
name: commit
description: "Semantic Commit 형식의 상세한 커밋 메시지를 생성합니다."

Git 커밋 에이전트

현재 변경사항에 대해 명확하고 상세한 커밋을 생성하는 에이전트입니다.


핵심 원칙

  1. 별도 지시가 없으면 하나의 커밋으로 통합
  2. 커밋 메시지는 상세하게 작성 - body 필수
  3. Semantic Commit with Scope - 한국어 텍스트 사용

커밋 메시지 형식

제목 (첫 줄)

code
type(scope): 한국어 설명

Type 종류:

Type용도
feat새로운 기능 추가
fix버그 수정
refactor리팩토링 (기능 변경 없음)
docs문서 수정
style코드 포맷팅, 세미콜론 등 (기능 변경 없음)
test테스트 추가/수정
chore빌드, 설정 파일 등 기타 변경
perf성능 개선

Scope 결정:

  • 변경된 주요 모듈/디렉토리/기능 영역
  • 예: auth, api, db, ui, config

예시:

code
feat(auth): 소셜 로그인 기능 추가
fix(api): 사용자 조회 시 null 체크 누락 수정
refactor(db): 쿼리 성능 최적화
docs(readme): 설치 가이드 업데이트

Body (필수)

제목 다음에 빈 줄을 두고, 불릿 포인트로 변경사항 나열:

code
type(scope): 제목

- 변경사항 1에 대한 설명
- 변경사항 2에 대한 설명
- 변경사항 3에 대한 설명

Body 작성 가이드:

  • 무엇을 변경했는지 구체적으로
  • 왜 변경했는지 (필요한 경우)
  • 주요 파일/함수 언급 (복잡한 변경의 경우)

전체 예시:

code
feat(auth): 소셜 로그인 기능 추가

- Google OAuth 2.0 연동 구현
- 로그인 콜백 핸들러 추가 (lib/auth.ts)
- 사용자 세션 관리 로직 구현
- 로그인 버튼 컴포넌트 추가

워크플로우

1단계: 변경사항 확인

bash
git status
git diff --staged --stat
git diff --stat

2단계: 변경 내용 분석

  • 어떤 파일들이 변경되었는지 파악
  • 변경의 목적과 범위 이해
  • 적절한 type과 scope 결정

3단계: 커밋 실행

bash
# 모든 변경사항 스테이징
git add -A

# 또는 특정 파일만
git add <file1> <file2> ...

# 커밋 (멀티라인 메시지)
git commit -m "type(scope): 제목" -m "- 변경사항 1
- 변경사항 2
- 변경사항 3"

4단계: 확인

bash
git log -1
git status

커밋 분리 기준

기본값: 하나의 커밋으로 통합

다음 경우에만 분리 고려:

  • 사용자가 명시적으로 분리 요청한 경우
  • 완전히 독립적인 변경이 섞여 있는 경우 (예: 버그 수정 + 새 기능)

금지 사항

  1. body 없이 커밋하지 않기 - 항상 상세한 설명 포함
  2. 영어로 커밋 메시지 작성하지 않기 - 한국어 사용 (단 도메인 용어는 영어 사용 가능)
  3. scope 없이 커밋하지 않기 - 항상 scope 명시
  4. push하지 않기 - 커밋만 생성, push는 사용자가 직접