본문으로 건너뛰기
로그인 둘러보기
개발·코딩·데이터베이스 · 윈도우즈 유틸

codegpt

0

CodeGPT는 Go 언어로 작성된 CLI 도구로, ChatGPT AI(gpt-4o, gpt-4.1 모델)를 활용해 git 커밋 메시지를 생성하거나 코드 리뷰 요약을 제공합니다.

커밋 메시지코드 리뷰훅

소개

CodeGPT는 Go 언어로 작성된 CLI 도구로, ChatGPT AI(gpt-4o, gpt-4.1 모델)를 활용해 git 커밋 메시지를 생성하거나 코드 리뷰 요약을 제공합니다. 이 도구는 자동으로 git prepare-commit-msg 훅을 설치하여 개발 워크플로에 통합됩니다. 공식 GitHub 저장소는 appleboy/CodeGPT이며, MIT 라이선스로 배포됩니다.

상세정보

AI 기반 커밋 메시지 생성

staged changes에 대해 git diff를 분석하고, OpenAI, Azure OpenAI, Gemini, Anthropic, Ollama, Groq, OpenRouter 등 다양한 LLM 서비스를 통해 conventional commits 형식의 커밋 메시지를 생성합니다. 생성된 메시지는 .git/COMMIT_EDITMSG 파일에 작성되거나 미리보기(–preview)로 확인할 수 있습니다.

코드 리뷰 요약 생성

codegpt review 명령을 통해 staged changes에 대한 간단한 코드 리뷰 메시지를 생성할 수 있으며, 다양한 언어로 번역 출력도 지원합니다. 리뷰 결과는 토큰 사용량과 함께 요약 형태로 제공됩니다.

Git Hook 자동 통합

codegpt hook install 명령을 실행하면 prepare-commit-msg 훅이 자동으로 설치되어, git commit 시 AI가 생성한 커밋 메시지가 편집기에 미리 채워집니다. 훅 제거는 codegpt hook uninstall로 수행됩니다.

다중 LLM 제공자 지원

OpenAI API를 기본으로 하며, 환경 변수나 config를 통해 Azure OpenAI, Gemini, Anthropic, Ollama, Groq, OpenRouter 등으로 제공자를 전환할 수 있습니다. 각 제공자별로 모델, 엔드포인트, API 키 등을 개별적으로 설정할 수 있습니다.

프롬프트 템플릿 커스터마이징

생성되는 커밋 메시지의 형식을 --template_string 또는 --template_file 옵션으로 변경할 수 있으며, .summarize_prefix, .summarize_title, .summarize_message 등 변수를 사용할 수 있습니다. 추가 변수는 --template_vars 또는 --template_vars_file로 전달할 수 있습니다.

스트리밍 출력 지원

--stream 플래그를 사용하면 토큰이 생성되는 실시간으로 출력을 볼 수 있으며, codegpt config set openai.stream true로 전역적으로 활성화할 수 있습니다. 이 기능은 commit 및 review 명령 모두에서 작동합니다.

Windows에서의 Chocolatey 설치

Windows 사용자는 Chocolatey 패키지 관리자를 통해 간단히 설치할 수 있습니다. 관리자 권한으로 PowerShell 또는 CMD를 열고 다음 명령을 실행합니다:

choco install codegpt

이 명령은 최신 버전의 CodeGPT를 다운로드하고 시스템 경로에 등록합니다.

자동 설치 스크립트 (권장)

모든 플랫폼에서 사용할 수 있는 설치 스크립트를 실행하면 최신 �리스 바이너리를 자동으로 다운로드하고 설치를 완료합니다. 다음 명령을 터미널에 입력합니다:

bash < <(curl -sSL https://raw.githubusercontent.com/appleboy/CodeGPT/main/install.sh)

또는 수동으로 스크립트를 다운로드 후 실행할 수도 있습니다:

curl -LO https://raw.githubusercontent.com/appleboy/CodeGPT/main/install.sh
chmod +x install.sh
./install.sh

수동 바이너리 설치

GitHub �리스 페이지에서 사전 컴파일된 바이너리를 직접 다운로드할 수 있습니다. 다운로드 후 다음 단계를 따릅니다:

  1. 최신 바이너리를 릴리스 페이지에서 다운로드합니다.
  2. 실행 권한을 부여합니다: chmod 755 codegpt
  3. 바이너리를 시스템 경로에 이동합니다 (예: mv codegpt /usr/local/bin/)
  4. 설치를 확인합니다: codegpt version

소스 코드로부터 설치

Go 개발 환경이 갖춰진 경우, 소스 코드로부터 직접 설치할 수 있습니다:

go install github.com/appleboy/CodeGPT/cmd/codegpt@latest

CLI 모드로 커밋 메시지 생성

변경을 스테이지한 후 다음 명령을 실행하여 AI가 생성한 커밋 메시지를 미리볼 수 있습니다:

git add 
codegpt commit --preview

미리보기 없이 바로 커밋 메시지를 .git/COMMIT_EDITMSG에 작성하려면:

codegpt commit

생성된 메시지를 다른 언어로 번역하여 보려면 --lang 옵션을 사용합니다 (지원 언어: en, zh-tw, zh-cn, ja):

codegpt commit --lang zh-tw --preview

마지막 커밋을 수정하려면 --amend 플래그를 사용합니다:

codegpt commit --amend

실시간 토큰 출력을 보려면 --stream 플래그를 추가합니다:

codegpt commit --stream

Git Hook 사용법

저장소에 훅을 설치한 후 일반적인 Git 워크플로를 따릅니다:

codegpt hook install
git add 
git commit

커밋 메시지가 편집기에 채워지면 내용을 검토하고 수정한 후 저장을 마치면 커밋이 완료됩니다. 훅을 제거하려면:

codegpt hook uninstall

코드 리뷰 생성

스테이지된 변경 사항에 대한 코드 리뷰 요약을 생성하려면:

codegpt review

다른 언어로 리뷰 결과를 보려면:

codegpt review --lang zh-tw

실시간 출력을 원한다면 --stream 플래그를 추가할 수 있습니다.

구성 방법

먼저 OpenAI Platform에서 API 키를 발급받아야 합니다. 발급받은 키는 다음 방법 중 하나로 설정할 수 있습니다:

  • 환경 변수: export OPENAI_API_KEY=sk-xxxxxxx
  • 명령어로 config 설정: codegpt config set openai.api_key sk-xxxxxxx (이로써 $HOME/.config/codegpt/.codegpt.yaml 파일이 생성됩니다)

기본 제공자는 OpenAI이며, 모델은 gpt-4o입니다. 제공자를 변경하려면 다음 명령을 사용합니다 (예: Azure OpenAI):

codegpt config set openai.provider azure
codegpt config set openai.base_url https://xxxxxxxxx.openai.azure.com/
codegpt config set openai.api_key xxxxxxxxxxxxxxxx
codegpt config set openai.model xxxxx-gpt-4o

각 제공자별로 전용 환경 변수도 지원됩니다 (예: Gemini용 gemini.api_key). API 키를 동적으로 관리하려면 api_key_helper 기능을 사용할 수 있습니다:

codegpt config set openai.api_key_helper "op read op://vault/openai/api_key"  # 1Password 예시
codegpt config set openai.api_key_helper_refresh_interval 300  # 5분마다 갱신

지원 환경·시스템 요구사항

CodeGPT는 Windows, macOS, Linux에서 실행 가능한 크로스플랫폼 바이너리를 제공합니다. 설치를 위해서는 인터넷 연결이 필요하며, 바이너리 다운로드 및 AI 서비스 호출을 위해 외부 네트워크 접근이 필수입니다. 소스 코드로부터 빌드하려면 Go 1.22 이상이 필요합니다.

최신 버전·업데이트

현재 버전은 0.14.6이며, GitHub 저장소의 main 브랜치에서 지속적으로 업데이트되고 있습니다. 최신 버전 확인 및 업데이트는 설치 방법을 다시 실행함으로써 수행할 수 있습니다 (예: choco upgrade codegpt 또는 설치 스크립트 재실행).

화면으로 보는 주요 기능

로고 이미지

로고 이미지

파란색, 보라색, 노란색의 세 마리 고블린 캐릭터가 서로를 바라보며 서 있는 캐릭터 일러스트입니다. 중앙의 보라색 고블린은 종이를 들고 있습니다.

리뷰 요약 화면

리뷰 요약 화면

검은색 배경에 노란색 텍스트로 구성된 텍스트 기반 인터페이스입니다. 'Review Summary'라는 제목 아래, 세 가지 개선 제안이 번호로 나열되어 있습니다. 각 제안은 Go 언어 파일(`cmd/commit.go`, `cmd/helper.go`, `cmd/cmd.go`)에서의 코드 변경 사항에 대해 설명하고 있습니다.

API 키 관리 페이지

API 키 관리 페이지

'API keys'라는 제목 아래, 'SECRET KEY', 'CREATED', 'LAST USED' 열로 구성된 테이블이 있습니다. 테이블에는 두 개의 API 키가 나열되어 있으며, 각 키는 생성일과 마지막 사용일이 표시되어 있습니다. 테이블 아래에는 '+ Create new secret key'라는 버튼이 있습니다. 왼쪽 사이드바에는 'ORGANIZATION'과 'USER' 섹션이 있으며, 'USER' 섹션의 'API Keys' 항목이 선택되어 있습니다.

키 및 엔드포인트 설정 페이지

키 및 엔드포인트 설정 페이지

'Keys and Endpoint' 섹션이 선택된 상태의 설정 페이지입니다. 'Show Keys' 버튼이 있습니다. 'KEY 1'과 'KEY 2'라는 입력 필드가 있으며, 각각의 오른쪽에는 복사 아이콘이 있습니다. 'Location/Region' 필드에는 'eastus'가 입력되어 있고, 'Endpoint' 필드에는 'https://[...].openai.azure.com/'라는 URL이 표시되어 있습니다.

시스템 요구사항

별도의 시스템 요구사항이 등록되지 않았습니다.