appleboy/CodeGPT
A CLI written in Go language that writes git commit messages or do a code review brief for you using ChatGPT AI (gpt-4.1, gpt-4o model) and automatically installs a git prepare-commit-msg hook.
CodeGPT – AI 기반 커밋 메시지 및 코드 리뷰 보조 도구
무엇인가요 – 대규모 언어 모델 API(OpenAI, Azure OpenAI, Gemini, Anthropic, Ollama, Groq, OpenRouter, LiteLLM 프록시)와 통신하는 Go로 작성된 명령줄 도구입니다. 모델을 사용하여 다음 작업을 수행합니다:
- 현재
git diff에서 전통적인 커밋 메시지를 생성합니다. - 짧은 코드 리뷰 요약을 생성합니다.
- 생성된 텍스트를 영어, 번체 중국어, 간체 중국어 또는 일본어로 번역합니다.
- 모델의 출력을 스트리밍하여 실시간으로 토큰이 표시되도록 합니다.
왜 주목해야 할까요 – 좋은 커밋 메시지를 작성하고 빠르게 코드 리뷰를 확인하는 것은 반복적인 작업입니다. CodeGPT는 LLM을 호출하여 이를 자동화하여, 터미널을 떠나지 않고도 깔끔한 커밋 기록을 유지할 수 있습니다.
주요 기능 (README에 기재된 내용)
- 다양한 백엔드 지원: OpenAI (gpt-4o, gpt-4, gpt-5), Azure OpenAI, Gemini, Anthropic, Ollama, Groq, OpenRouter, LiteLLM 프록시.
- Conventional Commits 사양을 따르는 메시지 생성.
- 자동으로
prepare-commit-msgGit 훅 설치. - 사용자 정의 가능한 diff 컨텍스트 줄 수 (기본값 3줄) 및 파일 제외 패턴.
- 내장된 언어 번역 기능 (
en,zh-tw,zh-cn,ja). - SOCKS 또는 HTTP 프록시 지원.
- 짧은 코드 리뷰 생성.
- 실시간 토큰 표시를 위한 스트리밍 출력.
- 프롬프트 템플릿 시스템 – 커밋, 리뷰 등에 사용되는 템플릿을 편집 가능.
설치 옵션
| 플랫폼 | 방법 |
|---|---|
| macOS | brew tap appleboy/tap && brew install codegpt |
| Windows | choco install codegpt |
| Linux / 어떤 OS든 | 제공된 설치 스크립트 실행 (bash <(curl -sSL https://raw.githubusercontent.com/appleboy/CodeGPT/main/install.sh)) 또는 릴리스 페이지에서 사전 컴파일된 바이너리를 다운로드하여 $HOME/.config/codegpt/bin (또는 $PATH 내의 어떤 디렉터리든)에 배치. |
| 소스에서 | go install github.com/appleboy/CodeGPT/cmd/codegpt@latest |
| VS Code devcontainer | devcontainer.json에 ghcr.io/kvokka/features/codegpt:1 기능 추가. |
스크립트는 두 가지 환경 변수를 존중합니다:
VERSION– 특정 릴리스 선택.INSECURE=1– SSL 검증 건너뛰기 (기업 프록시 뒤에서 유용).
빠른 시작 / 일반 워크플로우
- API 키 설정 – 예: OpenAI의 경우:
도구는 API 키 헬퍼 명령어를 사용해 키를 동적으로 가져올 수도 있습니다 (비밀번호 관리자나 클라우드 시크릿 저장소와 연동할 때 유용).export OPENAI_API_KEY=sk-xxxxxxx # 또는 CLI로 저장 codegpt config set openai.api_key sk-xxxxxxx - Git 훅 설치 (리포지토리당 한 번):
codegpt hook install # .git/hooks/prepare-commit-msg 생성 - 일반적인 방식으로 커밋 –
git commit을 실행하면 훅이 CodeGPT를 호출하여 다음 작업을 수행합니다:- 스테이징된 변경 사항에 대해
git diff실행. - 디프를 선택된 LLM에 전송.
- Conventional-Commit 형식의 메시지를 수신하고 커밋 에디터에 삽입.
- 스테이징된 변경 사항에 대해
- 옵션 코드 리뷰 – 다음을 실행하여 변경 사항의 요약을 얻습니다:
codegpt review
구성 요약
- 프로바이더 선택 –
openai.provider는openai,azure,gemini,anthropic,litellm등으로 설정 가능. - 모델 선택 –
openai.model은 기본적으로gpt-4o이지만, 선택한 프로바이더가 지원하는 어떤 모델도 지정 가능. - 프록시 –
openai.proxy(HTTP/HTTPS) 또는openai.socks로 SOCKS5 지원. - 프롬프트 폴더 – 기본값은
$HOME/.config/codegpt/prompt;codegpt config set prompt.folder /my/prompt로 변경 가능. - 동적 키 헬퍼 –
openai.api_key_helper에 쉘 명령어를 설정하면, 그 결과가 키로 사용되며 15분간 캐시됨 (사용자 정의 가능). - 출력 언어 –
output.lang(en,zh-tw,zh-cn,ja).
예제 명령어
# 커밋 메시지 생성 (CLI 모드, 훅 없음)
codegpt commit
# 스테이징된 변경 사항 리뷰
codegpt review
# 버전 표시
codegpt version
누가 사용할 수 있을까?
- Git을 이미 사용하면서 터미널에서 벗어나지 않고 AI 지원 커밋 메시지를 원하는 개발자.
- Conventional Commits를 강제하는 팀에서 형식 일관성을 빠르게 유지하고 싶은 사람.
- 즉각적인 코드 요약을 위한 가벼우면서도 구성 가능한 LLM 클라이언트를 원하는 누구나.
라이선스 및 커뮤니티
리포지토리는 린팅, 테스트, 보안 스캔, 코드 커버리지에 대한 CI 배지가 포함되어 있어, 활발히 유지 관리되는 오픈소스 프로젝트임을 나타냅니다. README에는 중국어 블로그 포스트와 유튜브 데모 링크가 포함되어 있어 추가적인 맥락을 제공합니다.
결론 – CodeGPT는 실용적이고 Go 기반의 CLI로, LLM을 Git 워크플로우에 통합하여 커밋 메시지 생성과 간단한 코드 리뷰를 자동화하면서도, 다양한 프로바이더, 프록시 지원, 동적 자격 증명 헬퍼, 사용자 정의 프롬프트와 같은 광범위한 구성 옵션을 제공합니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트