← ClaudeAtlas

commitlisted

변경사항을 분석하고 지라 태스크 기반 커밋 메시지를 생성하여 커밋
jyh4358/jay-plugin · ★ 0 · Code & Development · score 69
Install: claude install-skill jyh4358/jay-plugin
# Commit Skill 변경사항을 분석하여 Conventional Commits 형식의 한국어 커밋 메시지를 자동 생성하고 커밋한다. **동작 개요**: Step 1~3(스테이징 → 커밋 타입·Jira 판별 → 메시지 생성)은 **질문 없이 자동**으로 수행한다. 그 결과를 **Step 4에서 한 번에 보여주고 확인(예/아니오/취소)**받는다. "아니오"면 Step 1~3 중 하나를 골라 수정한 뒤, 영향받는 뒤 단계를 자동 재생성하고 다시 확인하는 루프를 돈다. > 참고: 본문은 Step 4의 항목을 `4.N`(예: 4.1, 4.3, 4.5) 형식으로, 그 하위 절을 `4.5-a/4.5-b/4.5-c` 형식으로 참조한다. ## Step 1: 변경사항 확인 및 스테이징 (자동) 1. **사전 점검**: `git rev-parse --is-inside-work-tree`로 현재 위치가 git 저장소인지 확인한다. 저장소가 아니면(예: `fatal: not a git repository`) "현재 위치가 git 저장소가 아닙니다." 안내 후 즉시 중단한다. 2. **진행 중 작업 가드**: `git status --porcelain`에 충돌 항목(`UU`/`AA`/`DD`/`AU`/`UA`/`DU`/`UD`)이 있거나, merge/rebase가 진행 중이면(`git rev-parse -q --verify MERGE_HEAD` 성공, 또는 `.git/rebase-merge`·`.git/rebase-apply` 존재) "merge/rebase가 진행 중이거나 충돌이 해결되지 않았습니다. 해결(또는 --abort) 후 다시 실행해주세요." 안내 후 즉시 중단한다. (충돌 마커가 남은 파일을 스테이징·커밋하는 사고 방지) 3. **원격 최신화 확인 (비차단)**: 현재 브랜치에 upstream이 설정되어 있��면 `git fetch --quiet`를 실행하고(실패·오프라인·upstream 없음이면 이 항목 전체를 조용히 건너뜀) `git rev-list --count HEAD..@{upstream}`으로 behind 커밋 수를 구해 기록해둔다. **behind > 0이어도 커밋을 막지 않는다** — 커밋 전 pull은 더러운 작업 트리에서 충돌을 유발할 수 있으므로 하지 않는다. 경고는 Step 4.1에서 표시하고, 정리 순서로 "커밋 후 `git pull --rebase`"를 권장한다. 4. **기존 스테이징 기��**: `git diff --cached --name-only`로 이미 스테이징되어 있던 파일 목록을 기록해둔다. 비어 있지 않으면 사용자가 의도적으로 부분 스테이징해둔 상태일 수 있으므로, 이 목록을 Step 4.1에서 반드시 안내한다. 5. Run `git status` to see all changed files. 6. **자동 스테이징**: `git add -A`를 실행하여 모든 변경(수정·삭제·신규 untracked)을 스테이징한다. `.gitignore`에 등록된 파일