나는 로컬 AI(Ollama)를 사용해 Git 커밋 메시지를 작성하는 CLI 도구를 만들었다
Source: Dev.to
Introduction
개발자들이 가장 흔히 겪는 문제 중 하나는 좋은 Git 커밋 메시지를 작성하는 것입니다. 긴 코딩 세션을 마친 뒤, 우리는 종종 다음과 같은 커밋 메시지를 쓰게 됩니다:
fix stuff
update code
changes
final fix
이러한 메시지는 동작하지만, 무엇이 바뀌었는지 혹은 왜 변경했는지를 충분히 설명하지 못합니다. 시간이 지나면 프로젝트 히스토리를 이해하기 어려워집니다.
AI Commit: A Local AI‑Powered CLI Tool
AI Commit은 로컬 AI 모델(Ollama)을 사용해 자동으로 의미 있는 Git 커밋 메시지를 생성해 주는 CLI 도구입니다.
How It Works
- 스테이징된 Git 변경 사항을 감지
- diff를 로컬 AI 모델에 전송
- 구조화된 커밋 메시지 생성
- 개발자가 검토하고 커밋
Git diff
↓
AI Commit CLI
↓
Local Ollama Model
↓
Generated Commit Message
생성된 커밋 메시지는 다음과 같은 다양한 형식을 따를 수 있습니다:
- Conventional commits
- Semantic commit messages
- Detailed commit descriptions
Installation
이 도구는 PyPI에 배포되어 있습니다.
pip install ollama-git-commit
Prerequisites
- Python 3.8+
- Git 설치
- Ollama 설치 및 실행
Ollama 시작:
ollama serve
모델을 가져오기 (예시):
ollama pull llama3
Usage
Git 저장소로 이동한 뒤 변경 사항을 스테이징합니다:
git add .
도구 실행:
ai-commit
도구는 다음을 수행합니다:
- 스테이징된 변경 사항 분석
- 커밋 메시지 생성
- 검토하거나 수정할 수 있도록 제공
Benefits of a Local Solution
많은 AI 개발자 도구가 클라우드 API에 의존하는데, 이는 다음과 같은 문제를 야기할 수 있습니다:
- API 비용
- 인터넷 의존성
- 프라이버시 우려
Ollama와 같은 로컬 LLM을 사용함으로써 AI Commit은 모든 작업을 로컬 머신에서 처리하여 다음을 제공합니다:
- API 키 불필요
- 오프라인 작동 가능
- 프라이버시‑우선 워크플로우
Project Details
- GitHub Repository:
- PyPI Package:
프로젝트가 유용하다면 GitHub에 ⭐를 눌러 주세요.
What I Learned
- Python으로 CLI 도구 만들기
- Ollama를 이용한 로컬 LLM 통합
- Python 라이브러리를 PyPI에 패키징하고 배포하기
- 개발자 생산성 도구 설계
Planned Features
- Git 훅 지원
- 더 나은 커밋 스타일 감지
- 설정 파일 지원
- VS Code 통합
Conclusion
좋은 커밋 메시지는 깔끔하고 이해하기 쉬운 프로젝트 히스토리를 유지하는 데 필수적입니다. AI Commit은 로컬 AI의 도움으로 이 과정을 더 쉽게 만들기 위한 작은 단계입니다. 피드백과 기여를 언제든 환영합니다.