{"id":50412348,"url":"https://github.com/cskwork/git-commit-manager","last_synced_at":"2026-05-31T04:04:57.327Z","repository":{"id":299985426,"uuid":"1004799320","full_name":"cskwork/git-commit-manager","owner":"cskwork","description":"터미널에서 실행되는 AI 기반 Git 커밋 메시지 생성 및 코드 리뷰 도구입니다.","archived":false,"fork":false,"pushed_at":"2025-06-19T08:41:13.000Z","size":26,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-06-19T09:40:00.761Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cskwork.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-06-19T07:42:34.000Z","updated_at":"2025-06-19T08:41:16.000Z","dependencies_parsed_at":"2025-06-19T09:50:18.978Z","dependency_job_id":null,"html_url":"https://github.com/cskwork/git-commit-manager","commit_stats":null,"previous_names":["cskwork/git-commit-manager"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/cskwork/git-commit-manager","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cskwork%2Fgit-commit-manager","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cskwork%2Fgit-commit-manager/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cskwork%2Fgit-commit-manager/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cskwork%2Fgit-commit-manager/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cskwork","download_url":"https://codeload.github.com/cskwork/git-commit-manager/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cskwork%2Fgit-commit-manager/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33718498,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-05-31T02:00:06.040Z","response_time":95,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-05-31T04:04:56.404Z","updated_at":"2026-05-31T04:04:57.314Z","avatar_url":"https://github.com/cskwork.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Git Commit Manager\n\nAI 기반 Git 커밋 메시지 생성 및 코드 리뷰 도구\n\n## 빠른 설치\n\n### 🚀 원클릭 설치 (추천)\n\n#### macOS/Linux\n\n```bash\n# 전체 설치 (대화형)\n./install.sh\n\n# 빠른 설치 (자동)\n./quick-install.sh\n```\n\n#### Windows\n\n```cmd\n# 배치 파일 (CMD)\ninstall.bat\n\n# PowerShell (추천)\n.\\install.ps1\n```\n\n### 📦 수동 설치\n\n```bash\npip install -r requirements.txt\npip install -e .\ngcm watch  # 실행\n```\n\n## 기능\n\n- 🔍 **실시간 변경사항 감시**: Git 저장소의 파일 변경을 자동으로 감지\n- 🤖 **AI 커밋 메시지 생성**: 변경사항을 분석하여 적절한 커밋 메시지 제안\n- 📝 **코드 리뷰**: 변경된 코드에 대한 AI 기반 리뷰 제공\n- 🔧 **다양한 LLM 지원**: Ollama (로컬), OpenRouter, Google Gemini\n- 🎯 **스마트 모델 선택**: 설치된 Ollama 모델 자동 감지 및 추천\n- 🌐 **다국어 지원**: 한국어, 영어, 일본어, 중국어, 스페인어, 프랑스어, 독일어\n- ⚙️ **유연한 설정**: .env 파일을 통한 기본 설정 및 동작 사용자화\n- 🔄 **중복 처리 방지**: 동일한 변경사항에 대한 중복 분석 자동 방지\n- 🎛️ **자동 리뷰 토글**: 필요에 따라 자동 코드 리뷰 활성화/비활성화\n\n## 상세 설치 가이드\n\n### 1. 저장소 클론 및 설치\n\n```bash\ngit clone https://github.com/yourusername/git-commit-manager.git\ncd git-commit-manager\npip install -e .\n```\n\n또는 requirements.txt 사용:\n\n```bash\npip install -r requirements.txt\npython setup.py install\n```\n\n### 2. LLM 프로바이더 설정\n\n#### Ollama (로컬 모델) - 추천\n\n```bash\n# Ollama 설치\ncurl -fsSL https://ollama.ai/install.sh | sh\n\n# 추천 모델 설치 (자동으로 제안됨)\nollama pull gemma3:1b\n```\n\n#### OpenRouter\n\n1. [OpenRouter](https://openrouter.ai)에서 API 키 발급\n2. 환경변수 설정:\n\n```bash\nexport OPENROUTER_API_KEY='your-api-key'\n```\n\n#### Google Gemini\n\n1. [Google AI Studio](https://makersuite.google.com/app/apikey)에서 API 키 발급\n2. 환경변수 설정:\n\n```bash\nexport GEMINI_API_KEY='your-api-key'\n```\n\n### 3. 환경변수 설정 (선택사항)\n\n프로젝트 루트에 `.env` 파일 생성:\n\n```bash\n# 기본 LLM 프로바이더 및 모델 설정\nDEFAULT_PROVIDER=ollama\nDEFAULT_MODEL=gemma3:1b\n\n# API 키\nOPENROUTER_API_KEY=your-openrouter-key\nGEMINI_API_KEY=your-gemini-key\n\n# 고급 설정\nDEBOUNCE_DELAY=3.0  # 파일 변경 후 대기 시간(초)\nCOMMIT_MESSAGE_LANGUAGE=korean  # 커밋 메시지 언어\nAUTO_CODE_REVIEW=true  # 자동 코드 리뷰 활성화\n```\n\n**설정 가능한 언어**: korean, english, japanese, chinese, spanish, french, german\n\n#### 커스텀 프롬프트 설정 (고급)\n\nAI의 응답을 커스터마이징하려면 다음 환경변수를 설정할 수 있습니다:\n\n```bash\n# 커밋 메시지 프롬프트 커스터마이징\nCUSTOM_COMMIT_SYSTEM_PROMPT_KOREAN=\"당신은 Git 커밋 메시지 전문가입니다...\"\nCUSTOM_COMMIT_USER_PROMPT_KOREAN=\"다음 변경사항에 대한 커밋 메시지를 작성해주세요:\\n\\n{changes_summary}\"\n\n# 코드 리뷰 프롬프트 커스터마이징\nCUSTOM_REVIEW_SYSTEM_PROMPT_KOREAN=\"당신은 시니어 개발자로서 코드를 리뷰합니다...\"\nCUSTOM_REVIEW_USER_PROMPT_KOREAN=\"파일: {file_path}\\n변경 유형: {change_type}\\n\\n{diff_content}\\n\\n위 코드를 리뷰해주세요.\"\n```\n\n**주의사항**:\n\n- 사용자 프롬프트에는 반드시 필요한 플레이스홀더를 포함해야 합니다\n  - 커밋 메시지: `{changes_summary}`\n  - 코드 리뷰: `{file_path}`, `{change_type}`, `{diff_content}`\n- 영어 버전은 `_KOREAN`을 `_ENGLISH`로 변경하여 설정\n\n`.env.example` 파일을 참고하여 필요한 설정을 복사하세요.\n\n## 사용법\n\n### 실시간 감시 모드\n\n저장소의 변경사항을 실시간으로 감시하고 자동으로 커밋 메시지와 코드 리뷰를 생성합니다:\n\n```bash\n# Ollama 사용 (기본, 모델 자동 선택)\ngcm watch\n\n# 특정 모델 지정\ngcm watch -p ollama -m codellama\n\n# OpenRouter 사용\ngcm watch -p openrouter -m openai/gpt-3.5-turbo\n\n# Gemini 사용\ngcm watch -p gemini -m gemini-pro\n\n# 특정 저장소 경로 지정\ngcm watch -r /path/to/repo\n```\n\n### 일회성 분석\n\n현재 변경사항을 분석하여 커밋 메시지를 생성합니다:\n\n```bash\ngcm analyze\n```\n\n### 코드 리뷰\n\n변경된 코드에 대한 리뷰를 수행합니다:\n\n```bash\n# 모든 변경사항 리뷰\ngcm review\n\n# 특정 파일만 리뷰\ngcm review -f src/main.py\n```\n\n### 설정 가이드 확인\n\n```bash\ngcm config\n```\n\n## 명령어 옵션\n\n### 공통 옵션\n\n- `-p, --provider`: LLM 프로바이더 선택 (ollama, openrouter, gemini) - 미지정시 .env의 DEFAULT_PROVIDER 사용\n- `-m, --model`: 사용할 모델 이름 - 미지정시 .env의 DEFAULT_MODEL 사용\n- `-r, --repo`: Git 저장소 경로 (기본값: 현재 디렉토리)\n\n### watch 명령어\n\n실시간으로 변경사항을 감시하고 분석합니다.\n\n### analyze 명령어\n\n현재 변경사항을 분석하고 커밋 메시지를 제안합니다.\n\n### review 명령어\n\n- `-f, --file`: 특정 파일만 리뷰\n\n## 작동 방식\n\n1. **변경사항 감지**: watchdog을 사용하여 파일 시스템 변경 모니터링\n2. **Git 분석**: GitPython으로 변경사항 추출 및 diff 생성\n3. **청크 분할**: 컨텍스트 제한을 고려하여 변경사항을 작은 단위로 분할\n4. **AI 분석**: 선택한 LLM으로 커밋 메시지 생성 및 코드 리뷰 수행\n5. **결과 표시**: Rich 라이브러리로 보기 좋게 결과 출력\n\n## 주의사항\n\n- Git 저장소에서만 작동합니다\n- 큰 변경사항은 자동으로 청크로 분할되어 처리됩니다\n- API 키가 필요한 서비스는 사용 전 설정이 필요합니다\n- `.git/`, `__pycache__/` 등의 디렉토리는 자동으로 무시됩니다\n\n## 문제 해결\n\n### \"유효한 Git 저장소가 아닙니다\" 오류\n\n현재 디렉토리가 Git 저장소인지 확인하세요:\n\n```bash\ngit init\n```\n\n### API 키 오류\n\n환경변수가 올바르게 설정되었는지 확인하세요:\n\n```bash\necho $OPENROUTER_API_KEY\necho $GEMINI_API_KEY\n```\n\n### Ollama 연결 오류\n\nOllama 서비스가 실행 중인지 확인하세요:\n\n```bash\nollama list\n```\n\n## 라이선스\n\nMIT License\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcskwork%2Fgit-commit-manager","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcskwork%2Fgit-commit-manager","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcskwork%2Fgit-commit-manager/lists"}