
AI가 작성한 커밋 초안을 직접 조정한 후 커밋하는 VS Code 확장 프로그램을 만들었습니다
요약
AI가 생성한 코드 변경 사항을 의미 있는 단위로 분할하고, 사용자의 승인을 거쳐 커밋할 수 있도록 돕는 VS Code/Cursor 확장 프로그램 'GitInProgress'를 소개합니다. AI가 임의로 커밋하여 히스토리가 꼬이는 문제를 방지하고, 개발자가 커밋의 입도와 메시지를 직접 제어할 수 있게 합니다.
핵심 포인트
- AI의 제안과 사용자의 승인을 결합한 '승인 게이트' 방식 제공
- 파일 내 변경 블록(hunk) 단위로 커밋 후보 분할 가능
- MCP를 통해 Claude Code, Cursor, Codex 등과 연동 지원
- 모든 데이터는 로컬에 저장되어 보안 및 프라이버시 유지
- 디버그 로그 등 불필요한 변경 사항을 제외하는 'park' 기능
AI에게 코드와 커밋 후보를 모두 맡기고, 마지막에는 직접 커밋하고 싶다—— 그렇게 생각한 적 없으신가요?
Claude Code, Cursor, Copilot, Codex … AI로 코드를 작성할 기회는 단번에 늘어났습니다. 하지만 현실은 다음과 같은 상황이 되기 쉽습니다.
- AI가 무관한 여러 변경 사항을 한꺼번에 만들어 작업 트리(working tree)가 엉망이 된다 - 그대로 "전부 커밋해줘"라고 말한다 —— 혹은 멋대로 커밋해 버린다 - 결과적으로 나중에 리뷰도, 단 하나의 revert(되돌리기)도 하기 어려운, 꼬여버린 커밋 히스토리가 된다
그렇다고 매번 수동으로 "이것은 이 커밋, 저것은 다른 커밋"이라며 분류하는 것은 번거롭습니다.
그래서 그 "AI에게 맡기면서도, 마지막에는 직접 커밋"을 실현하는 VS Code / Cursor 확장 프로그램인 GitInProgress를 만들었습니다.
동작 방식
AI에게 **"커밋 초안을 만들어줘"**라고 요청하면:
- 작업 트리를 읽고, **의미 있는 단위의 커밋 후보(ChangeBox)**로 분할 - 각각에 커밋 메시지 초안을 붙여 제안 - 당신은 내용을 확인하고, 필요하다면 입도(granularity)나 메시지를 조정 - 한꺼번에 스테이징(stage) → Commit All로 확정

가장 중요한 부분:
제안은 어디까지나 제안일 뿐입니다. 당신이 승인할 때까지 커밋은 단 하나도 만들어지지 않습니다.
AI는 스스로 커밋하지 않습니다.
"어질러진 작업 트리 → 한 줌의 깨끗하고 정리된 커밋"이 AI의 제안 + 당신의 승인을 통해 완성됩니다.
특징
- 승인 게이트(Approval Gate): 승인할 때까지 git 히스토리에는 아무것도 들어가지 않습니다. AI가 멋대로 커밋하는 일은 없습니다.
- 디버그 변경 사항은 "park": "이것은 커밋하고 싶지 않다"라는 디버그 로그 등은 박스째로 park 하여 모든 커밋에서 제외할 수 있습니다.
- 1개 파일 내에서도 분할 (hunk 단위): 하나의 파일에 두 가지 관심사가 섞여 있어도, 변경 블록 단위로 다른 커밋 후보로 분류할 수 있습니다.
- Inbox로 누락 방지: 아직 분류되지 않은 변경 사항은 자동으로 Inbox에 모이므로 커밋을 잊어버리는 일이 발생하기 어렵습니다.
- AI에게 파괴적인 조작을 넘기지 않음: 휴지통 비우기, 완전 삭제 등은 AI에게 공개하지 않으므로, 에이전트(agent)가 작업 내용을 지워버리는 사고가 발생하지 않습니다.
- 전부 로컬(Local): 상태는
.git/gitinprogress/에 저장됩니다. 외부로 전송하지 않습니다.
AI와의 연결 방식 (MCP)
MCP 서버를 동봉하고 있습니다. Claude Code / Cursor / Codex는 MCP를 경유하고, Copilot Chat은 내장 연동을 통해, 에이전트가 생(raw) git commit을 실행하는 것이 아니라 "당신의 분할을 통해서" 커밋합니다. 설정은 몇 번의 클릭으로 완료됩니다.
이런 분들에게 적합합니다
- AI에게 코드는 작성하게 하되, 커밋 히스토리는 직접 관리하고 싶은 분
- AI의 "전부 커밋", "멋대로 커밋"을 확인한 후에 통과시키고 싶은 분
- 리뷰하기 쉽고 revert하기 쉬운 입도로 커밋을 나누고 싶은 분
설치
- VS Code Marketplace / Open VSX (Cursor, VSCodium)에서 "GitInProgress"로 검색
- 얼리 액세스(Early Access) 기간에는 무료입니다. 솔직히 말씀드리면, 소스코드는 현재 클로즈드(closed) 상태입니다. 다만 상태는 전부 로컬에 저장되며 외부 전송은 없습니다.
마치며
커밋 초안은 AI가, 무엇을 확정할지는 당신이 결정합니다.
직접 사용해 보시고, 특히 커밋 분할의 UX에 대해 피드백을 주시면 감사하겠습니다.
Discussion

AI 자동 생성 콘텐츠
본 콘텐츠는 Zenn AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기