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)
- •각 시도마다:
- •실패 로그 수집(핵심 에러 라인/파일/스택)
- •원인 분류(예: ESLint 규칙 위반 / 타입 오류 / import 누락 / 경로 오류 / 빌드 설정 문제)
- •가능한 자동 조치 수행
- •동일 명령 재실행
- •성공 시 즉시 다음 단계로 진행
- •최대 시도 횟수 초과 시:
- •커밋 중단
- •마지막 실패 로그 요약 + 사용자가 수동으로 처리할 액션 제시
자동 조치 범위(예시)
- •Lint:
- •
yarn lint --fix1회 자동 시도(프로젝트가 지원하는 경우) - •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 실패를 사전에 줄이기 위한 로컬 품질 게이트” 역할을 목표로 합니다.