git-commit-at: API 키 없이 로컬 AI로 Conventional Commit 메시지 생성하기
요약
git-commit-at은 API 키나 클라우드 전송 없이 로컬 AI 모델을 사용하여 Conventional Commit 메시지를 생성하는 npm CLI 도구입니다. Ollama와 Docker를 활용해 데이터를 기기 외부로 유출하지 않고 안전하게 커밋 메시지를 제안합니다.
핵심 포인트
- 로컬 AI 모델(qwen2.5-coder)을 사용하여 데이터 프라이버시 완벽 보호
- Conventional Commits 규격에 맞는 3가지 메시지 제안 기능
- Docker, Ollama, Redis를 활용한 로컬 서비스 아키텍처
- JIRA, Linear 등 티켓 번호 접두사 추가 지원
- 첫 모델 다운로드 후 완전 오프라인 환경에서 작동 가능
우리 모두는 다음과 같이 보이는 커밋 히스토리를 알고 있습니다:
fix
wip
actually fix
update
FINAL fix
AI 도구들이 도움을 줄 수 있지만, 대부분의 도구는 코드 차이(diff)를 클라우드로 전송하며 유료 API 키를 요구합니다. 이는 프라이빗 저장소(private repos)나 민감한 코드베이스(codebases)의 경우 사용할 수 없는 방식입니다.
내가 만든 것
git-commit-at은 스테이징된 차이(staged diff)를 분석하고 로컬에서 실행되는 AI 모델을 사용하여 3가지 Conventional Commit 메시지를 제안하는 npm CLI입니다. 어떤 데이터도 사용자의 기기를 벗어나지 않습니다.
npm install -g git-commit-at
그 다음, 어떤 git 저장소에서든:
git add .
git-commit-at
메시지를 선택하고, 선택적으로 티켓 번호(JIRA, Linear 등)를 추가한 뒤 확인하는 대화형 프롬프트(interactive prompt)가 나타납니다. 끝입니다.
내부 작동 원리
git-commit-at (CLI)
│
├── Docker 서비스가 실행 중인지 확인
│ ├── Ollama — qwen2.5-coder:1.5b를 로컬에서 실행 (port 11434)
│ ├── Redis — 세션 + 캐시 (port 6379)
│ └── Gradio — 로그인/히스토리를 위한 웹 UI (port 7860)
│
├── 스테이징된 git 차이(staged git diff)를 읽음
├── Ollama로부터 3개의 커밋 제안을 스트리밍함
├── 사용자가 하나를 선택함 (선택적으로 티켓 접두사 추가 가능)
└── git commit 실행
첫 실행 시, Docker가 모델(1 GB)을 가져오고 서비스를 시작합니다. 그 이후에는 제안을 받는 데 약 510초가 소요됩니다.
기능
기능 | 상세 내용
AI 제안 | 실제 차이(diff)를 기반으로 실행당 3개 제공
Conventional commits | feat:, fix:, refactor:, chore: 등을 사용
티켓 통합 | JIRA/Linear 티켓 번호 접두사 추가 가능
브랜치 시각화 도구 | 웹 UI에서 실시간 git DAG 제공
커밋 히스토리 | 모든 저장소에 걸쳐 추적됨
완전 오프라인 | 첫 모델 다운로드 이후에는 오프라인 작동
개인정보 보호 | 100% 로컬 — 데이터를 어디로도 전송하지 않음
요구 사항
Docker (모든 백엔드 서비스는 컨테이너에서 실행됨)
Node.js 18+
이것이 전부입니다. Ollama 설치도, Python 설정도, API 키도 필요 없습니다.
설치
npm install -g git-commit-at
GitHub: https://github.com/bhargavirengarajan21/git-commit-at
npm: https://www.npmjs.com/package/git-commit-at
Hugging face: https://huggingface.co/spaces/build-small-hackathon/git-commit-app
피드백을 환영합니다 — 특히 Docker 요구 사항과 모델 선택에 대한 의견을 부탁드립니다. 모델을 주요 설정 (first-class setting)으로 구성하여 사용자가 설정할 수 있도록 만드는 방안을 고려 중입니다.
두 포스트 모두 바로 복사하여 붙여넣을 수 있도록 준비되었습니다. dev.to의 경우, Markdown 형식으로 붙여넣고 태그를 git, ai, opensource, devtools로 설정하세요. 커버 이미지와 데모 GIF가 있다면 추가해 주세요 — 시각 자료가 포함된 포스트는 그곳에서 훨씬 더 많은 도달률 (reach)을 기록합니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기