AI Git Narrator
요약
AI Git Narrator는 GPT, Gemini 등 다양한 LLM을 활용하여 Git diff 및 커밋 기반의 통찰력 있는 커밋 메시지와 PR 설명을 생성하는 macOS용 명령줄 도구입니다. 이 도구는 개발자가 지루한 Git 기록 작업을 자동화하고, 명확성을 높여 협업 효율성을 극대화하도록 돕습니다.
핵심 포인트
- GPT, Gemini 등 다중 AI 모델 지원으로 유연성이 높음
- 커밋 메시지 및 PR 설명 생성을 자동화하여 시간 절약
- macOS 네이티브 Swift 기반의 경량 CLI 도구로 최적화됨
- 개발 워크플로우에 깊숙이 통합되어 협업을 강화함
AI Git Narrator
AI Git Narrator는 OpenAI의 GPT 모델, Google의 Gemini 모델, 그리고 Ollama의 로컬 LLM 모델을 활용하여 사용자의 Git diff 및 커밋을 기반으로 통찰력 있는 커밋 메시지와 풀 리퀘스트 설명을 생성하는 명령줄 도구입니다. 이 도구는 의미 있고 포괄적인 Git 히스토리를 작성하는 종종 지루한 작업을 자동화함으로써 개발 워크플로우를 간소화하고, 협업을 용이하게 하며 프로젝트의 진화를 명확하게 만드는 것을 목표로 합니다.
macOS에 특별히 구축된 AI Git Narrator는 macOS 개발 워크플로우에 원활하게 통합되도록 설계되었으며, 플랫폼의 네이티브 기능과 Swift의 성능 최적화를 활용합니다.
AI Git Narrator를 사용해야 하는 이유?
- 시간 및 노력 절약: 완벽한 커밋 메시지를 작성하는 데 귀중한 시간을 낭비하지 마세요. AI가 힘든 작업을 대신 처리하게 하세요.
- 명확성 향상: Git 로그를 가치 있는 자료로 만드는 일관되고 설명적인 메시지를 생성합니다.
- 협업 강화: 잘 작성된 PR 설명은 더 원활한 코드 리뷰와 팀 이해를 촉진합니다.
- 코딩에 집중: 개발하는 시간에 더 많은 시간을 할애하고 Git 관리 작업에는 적은 시간을 사용하세요.
- 맞춤 설정 가능: 구성 가능한 매개변수와 AI 제공자 선택을 통해 프로젝트의 필요에 맞게 AI 출력을 조정할 수 있습니다.
- 전용 및 집중적: 대규모 IDE나 플랫폼의 내장 AI 기능과 달리, AI Git Narrator는 Git 전용으로 설계된 경량 명령줄 도구입니다. 이는 완전한 개발 환경의 오버헤드 없이 간소화된 경험을 제공하여 더 큰 제어력, 유연성, 그리고 전용 도구를 선호하는 사용자에게 종종 더 상세하고 맞춤화된 출력을 제공합니다.
기능
- 커밋 메시지 생성 (Generate Commit Messages): 모든 변경 사항, 스테이징된 변경 사항 또는 언스테이징된 변경 사항을 기반으로 커밋 메시지를 자동으로 생성합니다.
- PR 설명 생성 (Generate PR Descriptions): 커밋 기록을 바탕으로 상세한 풀 리퀘스트(Pull Request) 설명을 작성합니다.
- 다중 AI 제공업체 지원 (Support for Multiple AI Providers): OpenAI의 GPT 모델, Google의 Gemini 모델, 그리고 Ollama를 이용한 로컬 LLM 모델 중 선택할 수 있습니다.
- 사용자 정의 가능한 매개변수 (Customizable Parameters): 사용자의 필요에 맞게 선택된 AI 모델의 설정, 최대 토큰(max tokens), 온도(temperature) 등을 구성할 수 있습니다.
설치 (Installation)
Homebrew (권장)
AI Git Narrator를 설치하는 가장 쉬운 방법은 Homebrew를 이용하는 것입니다:
brew tap pmusolino/ai-git-narrator
brew install ai-git-narrator
설치 후, 즉시 도구를 사용할 수 있습니다:
ai-git-narrator --help
소스에서 빌드 (Building from Source)
요구 사항: 이 도구는 macOS 전용으로 설계되었으며 Swift 6.x 이상이 필요합니다.
AI Git Narrator를 소스에서 빌드하려면, 저장소를 클론(clone)하세요:
git clone https://github.com/pmusolino/AI-Git-Narrator.git
cd AI\ Git\ Narrator/
이 프로젝트에는 실행 가능한 바이너리(executable)를 생성하고 이를 프로젝트 루트 디렉토리에 배치하는 헬퍼 스크립트가 포함되어 있습니다.
- 스크립트가 실행 가능하도록 설정합니다:
chmod +x build_executable.sh
2. 스크립트를 실행합니다:
```bash
./build_executable.sh
이렇게 하면 `ai-git-narrator` 실행 파일이 컴파일되어 프로젝트의 루트 디렉토리에 복사됩니다. 이후에는 해당 위치에서 직접 실행할 수 있습니다.
사용법 (Usage)
다음 옵션들을 사용하여 명령줄(command line)에서 도구를 실행합니다:
ai-git-narrator [--api-key <api-key>] [--llm-provider <provider>] [--model <model>] [--max-tokens <max-tokens>] [--temperature <temperature>] [--timeout <timeout>] [--ollama-base-url <ollama-base-url>] [--base-branch <base-branch>] [--generate-commit-message] [--generate-staged-commit-message] [--generate-unstaged-commit-message] [--generate-pr]
옵션 (Options)
--help: 도움말 메시지를 표시합니다.--api-key <api-key>: 선택한 AI 제공업체의 API 키를 설정합니다 (OpenAI 및 Gemini의 경우 필수, Ollama의 경우 선택 사항).--llm-provider <provider>: AI 제공업체를 설정합니다 (기본값:openai). 지원되는 값:openai,gemini,ollama.--model <model>: AI 제공업체의 모델을 설정합니다 (OpenAI의 기본값:gpt-4.1-mini, Gemini의 기본값:gemini-2.0-flash, Ollama의 기본값:llama3.2).--max-tokens <max-tokens>: 최대 토큰 수를 설정합니다 (기본값: 32768).--temperature <temperature>: 샘플링 온도를 설정합니다 (기본값: 0.7). 값이 낮을수록 출력이 더 집중적이고 결정론적이며, 값이 높을수록 더 무작위하게 만듭니다.--timeout <timeout>: LLM 제공업체에 대한 요청 타임아웃 시간을 초 단위로 설정합니다 (기본값: 120).--ollama-base-url <ollama-base-url>: Ollama 기본 URL을 설정합니다 (기본값:http://localhost:11434).--llm-provider가ollama일 때만 사용됩니다.--base-branch <base-branch>: PR 설명을 생성할 비교 기준이 되는 베이스 브랜치를 설정합니다.--generate-commit-message: 모든 변경 사항을 기반으로 커밋 메시지를 생성합니다.--generate-staged-commit-message: 스테이징된 변경 사항을 기반으로 커밋 메시지를 생성합니다.--generate-unstaged-commit-message: 언스테이징된 변경 사항을 기반으로 커밋 메시지를 생성합니다.--generate-pr: 커밋을 기반으로 PR 제목과 설명을 생성합니다.
예시
OpenAI를 사용하여 모든 변경 사항에 대한 커밋 메시지 생성:
./ai-git-narrator --api-key YOUR_OPENAI_API_KEY --generate-commit-message
Gemini를 사용하여 스테이징된 변경 사항에 대한 커밋 메시지 생성:
./ai-git-narrator --api-key YOUR_GEMINI_API_KEY --llm-provider gemini --model gemini-2.0-flash --generate-staged-commit-message
OpenAI를 사용하여 PR 설명 생성:
./ai-git-narrator --api-key YOUR_OPENAI_API_KEY --generate-pr
특정 모델을 사용하여 Gemini로 PR 설명을 생성합니다:
./ai-git-narrator --api-key YOUR_GEMINI_API_KEY --llm-provider gemini --model gemini-2.0-flash --generate-pr
Ollama를 사용하여 모든 변경 사항에 대한 커밋 메시지를 생성합니다:
./ai-git-narrator --llm-provider ollama --model llama3.2 --generate-commit-message
커스텀 모델을 사용하여 Ollama로 PR 설명을 생성합니다:
./ai-git-narrator --llm-provider ollama --model llama3.1:8b --generate-pr
OpenAI API 키 얻기
AI Git Narrator를 사용하려면 OpenAI에서 API 키가 필요합니다. 아직 없다면 다음 단계를 따르세요:
- OpenAI 계정 생성: https://platform.openai.com/signup로 이동하여 계정을 만드세요.
- API 키로 이동: 로그인한 후, OpenAI 대시보드의 API 키 섹션(일반적으로 https://platform.openai.com/account/api-keys에서 찾을 수 있음)으로 이동합니다.
- 새 비밀 키 생성:
Ollama 설정하기 (로컬 LLM)
AI Git Narrator를 로컬 LLM 모델용으로 Ollama와 함께 사용하려면, 로컬 컴퓨터에 Ollama를 설치하고 설정해야 합니다. 다음 단계를 따르세요:
- Ollama 설치: https://ollama.ai/를 방문하여 운영체제에 맞는 Ollama를 다운로드합니다.
- Ollama 시작: 설치 후, Ollama 서비스를 시작합니다. 대부분의 시스템에서는
http://localhost:11434에서 백그라운드 서비스로 자동으로 실행됩니다. - 모델 다운로드: 사용하려는 모델을 설치합니다. 예를 들어, 기본
llama3.2모델을 설치하려면 다음 명령어를 사용합니다:
ollama pull llama3.2
llama3.1:8b, mistral, codellama 등 다른 모델도 설치할 수 있습니다.
4. 설치 확인: 브라우저에서 http://localhost:11434에 접속하거나 다음 명령어를 실행하여 Ollama가 실행 중인지 확인합니다:
ollama list
Ollama 사용의 이점:
- 개인 정보 보호(Privacy): 모델이 로컬 머신에서 실행되므로 코드가 시스템을 벗어나지 않습니다.
- API 비용 없음: 한 번 설치하면 요청당 비용이 발생하지 않습니다.
- 오프라인 사용: 인터넷 연결 없이 작동합니다.
- API 키 불필요: OpenAI나 Gemini와 달리 Ollama는 API 키를 요구하지 않습니다.
참고: 다른 호스트 또는 포트에서 Ollama를 실행하는 경우 --ollama-base-url을 사용하여 사용자 지정 Ollama URL을 지정할 수 있습니다.
기여하기 (Contributing)
기여를 환영합니다! Pull Request를 제출하거나 버그, 기능 또는 개선 사항에 대한 이슈를 열어주세요.
라이선스 (License)
본 프로젝트는 MIT License 하에 라이선스가 부여되었습니다. 자세한 내용은 LICENSE 파일을 참조하십시오.
AI 자동 생성 콘텐츠
본 콘텐츠는 개발 자료 GitHub · d10ae64d의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기