# git-auto-commit > 현재 저장소의 변경사항을 분석해 한국어 커밋 메시지(MMDD:HHmm - 요약)와 상세 변경 요약을 생성하고, `yarn lint` 및 `yarn build`를 모두 통과한 뒤 전체 스테이징 후 커밋합니다(푸시 없음). lint/build 실패 시 AI가 로그를 기반으로 자동 수정→재시도를 수행합니다(최대 N회). 기본 브랜치는 develop이며, 다른 브랜치에서는 경고 후 진행합니다. - Author: JungDahun - Repository: dahun428-fx/git-auto-commit - Version: 20260128232522 - Stars: 0 - Forks: 0 - Last Updated: 2026-02-08 - Source: https://github.com/dahun428-fx/git-auto-commit - Web: https://mule.run/skillshub/@@dahun428-fx/git-auto-commit~git-auto-commit:20260128232522 --- --- name: git-auto-commit description: "현재 저장소의 변경사항을 분석해 한국어 커밋 메시지(MMDD:HHmm - 요약)와 상세 변경 요약을 생성하고, `yarn lint` 및 `yarn build`를 모두 통과한 뒤 전체 스테이징 후 커밋합니다(푸시 없음). lint/build 실패 시 AI가 로그를 기반으로 자동 수정→재시도를 수행합니다(최대 N회). 기본 브랜치는 develop이며, 다른 브랜치에서는 경고 후 진행합니다." --- # Git Auto Commit ## Overview 현재 저장소의 변경사항을 분석하여 다음 작업을 자동으로 수행합니다. - 한국어 한 줄 커밋 메시지 생성 - 상세 변경 요약 생성 (커밋 전 확인용) - `yarn lint` 강제 실행 - `yarn build` 강제 실행 - 전체 스테이징 후 커밋 - 자동 push 없음 추가로, lint/build가 실패하면 **AI가 자동으로 수정 작업을 수행**하고 재시도합니다. 모든 검증(lint, build)은 **커밋 전에 반드시 통과**해야 하며, 최대 재시도 횟수를 초과하면 커밋을 중단합니다. --- ## Commit Message Format - 형식(엄수): `MMDD:HHmm - 메시지` - 시간 기준: 로컬 타임(Asia/Seoul), 24시간제 예시 0123:2215 - 로그인 카드 UI 구조 개선 --- ## Detailed Change Summary 커밋 전에 변경 내용을 사람이 읽기 좋은 형태로 자세히 요약합니다. ### 요약 기준 - 변경된 파일 및 diff 기반 - 기능 및 의도 중심 요약 - 단순 diff 나열 금지 - 코드 리뷰 시 이해를 돕는 수준의 정보 제공 ### 예시 출력 [상세 변경 요약] - 로그인 카드 컴포넌트 레이아웃 재구성 - 버튼 영역 padding 및 타이포 크기 조정 - 모바일 환경에서 overflow 발생하던 문제 수정 - 관련 스타일 파일 구조 정리 --- ## Workflow ### 1. 변경 컨텍스트 수집 - `git status --porcelain`로 변경 파일 확인 - `git diff --stat`, `git diff`로 변경 범위 파악 - 변경사항이 없으면 중단 ### 2. 상세 변경 요약 생성 - 변경 파일과 diff를 기반으로 bullet 형태의 상세 요약 생성 - 커밋 전 사용자에게 출력하여 검토 가능 ### 3. 커밋 메시지 생성 - 상세 요약을 압축해 한 줄 한국어 요약 생성 - 포맷 고정: `MMDD:HHmm - 메시지` ### 4. Lint → Build → Commit (No Push) #### 4-1. Lint 검사 (Auto-heal) - `yarn lint` 실행 - 성공: 다음 단계로 진행 - 실패: 아래 **자동 복구 루프** 실행 #### 4-2. Build 검사 (Auto-heal) - `yarn build` 실행 - 성공: 다음 단계로 진행 - 실패: 아래 **자동 복구 루프** 실행 #### 4-3. Commit - `git add -A` - `git commit -m "<메시지>"` - 브랜치가 `develop`이 아니면 경고 후 진행 - 자동 push는 하지 않음 --- ## Auto-heal Policy (NEW ✨) lint/build 실패 시 AI가 로그를 기반으로 수정하고 재시도합니다. ### 자동 복구 루프(권장 기본값) - 최대 시도 횟수: 3회 (lint), 2회 (build) - 각 시도마다: 1. 실패 로그 수집(핵심 에러 라인/파일/스택) 2. 원인 분류(예: ESLint 규칙 위반 / 타입 오류 / import 누락 / 경로 오류 / 빌드 설정 문제) 3. 가능한 자동 조치 수행 4. 동일 명령 재실행 - 성공 시 즉시 다음 단계로 진행 - 최대 시도 횟수 초과 시: - 커밋 중단 - 마지막 실패 로그 요약 + 사용자가 수동으로 처리할 액션 제시 ### 자동 조치 범위(예시) - Lint: - `yarn lint --fix` 1회 자동 시도(프로젝트가 지원하는 경우) - import 정렬/미사용 변수 제거/규칙 위반 수정 - prettier/eslint 충돌 시 설정/규칙 정리(범위 제한) - Build: - TypeScript 타입 오류 수정(명확한 경우) - 누락된 export/import 경로 수정(명확한 경우) - 환경변수/설정 키 누락 등은 “안전한 기본값/가드” 추가(보수적으로) ### 안전장치(중요) - 잠재적으로 위험한 변경은 자동으로 하지 않음: - 의존성 대규모 업그레이드, 락파일 전체 재생성, 빌드 파이프라인/배포 설정의 광범위 변경 - 의미가 불명확한 타입 캐스팅 남발(any 강제) - 자동 수정이 코드 의미를 바꿀 수 있는 경우: - AI는 수정안을 제시하고, “왜 필요한지”와 “영향 범위”를 설명한 뒤 진행 - 비밀정보/민감파일(.env, 키 파일 등) 내용은 수정/출력하지 않음 --- ## Run Script PowerShell 예시: .\scripts\commit_with_lint.ps1 -Summary "로그인 카드 UI 구조 개선" 옵션 예시: - 요약 자동 생성 + 상세 요약 출력 + 자동 복구 활성화 .\scripts\commit_with_lint.ps1 - 자동 복구를 더 적극적으로(시도 횟수 상향) 하고 싶다면 스크립트 옵션으로 분리 권장: - -MaxLintFixAttempts 3 - -MaxBuildFixAttempts 2 --- ## Notes - Push는 사용자가 수동으로 수행합니다. - lint/build가 실패한 커밋을 원천 차단합니다. - 상세 변경 요약은 커밋 로그 품질 유지를 위해 커밋 메시지에 포함하지 않습니다. - 자동 복구는 “CI 실패를 사전에 줄이기 위한 로컬 품질 게이트” 역할을 목표로 합니다.