
AI 기반 CLI 도구로, LLM을 사용하여 코드에서 보안 취약점, 버그, 안티 패턴을 검토합니다. 로컬 및 클라우드 제공자, git diff, CI/CD 통합을 지원합니다.
AI 기반 코드 리뷰를 터미널에서 바로.
한 줄 명령. 즉각적인 피드백. 프로덕션에 도달하기 전에 보안 취약점, 버그, 나쁜 패턴을 잡아냅니다.
codereview는 코드를 LLM에 보내고 심각도 등급, 라인 참조 및 구체적인 수정 제안과 함께 구조화되고 색상이 구분된 리뷰를 터미널에 직접 반환합니다.
브라우저 불필요, PR 불필요, 팀원을 기다릴 필요 없음. 그냥:
codereview app.py
git clone https://github.com/jaydendancer12/ai-code-review.git
cd ai-code-review
./install.sh
또는 수동:
git clone https://github.com/jaydendancer12/ai-code-review.git
cd ai-code-review
pip install -e .
모든 종속성(rich, requests)이 자동으로 설치됩니다. 추가 설정이 필요 없습니다.
codereview는 코드를 분석하기 위해 LLM이 필요합니다. 가장 빠른 무료 옵션은 Groq — 신용카드 불필요, 체험판 없음, 그냥 무료입니다.
export GROQ_API_KEY="gsk_your_key_here"
영구적으로 설정하려면 (터미널 세션마다 설정하지 않아도 됨):
# zsh (Mac 기본)
echo 'export GROQ_API_KEY="gsk_your_key_here"' >> ~/.zshrc
source ~/.zshrc
# bash (Linux 기본)
echo 'export GROQ_API_KEY="gsk_your_key_here"' >> ~/.bashrc
source ~/.bashrc
codereview --init groq
codereview yourfile.py
끝입니다. AI 코드 리뷰를 실행하고 있습니다.
처음 실행인가요? 인수 없이 codereview를 입력하면 전체 설정 과정을 안내합니다.
codereview app.py
codereview src/auth.py src/db.py src/api.py
git add .
codereview --staged
codereview --last 3
codereview --diff origin/main
cat suspicious_code.py | codereview --stdin
codereview app.py --model gpt-4
codereview app.py --provider ollama
codereview --setup
codereview는 OpenAI 호환 API와 함께 작동합니다. 자신에게 맞는 것을 선택하세요:
export GROQ_API_KEY="gsk_your_key_here"
codereview --init groq
# 1. Ollama 설치
# Mac: https://ollama.com 에서 다운로드
# Linux: curl -fsSL https://ollama.com/install.sh | sh
# 2. 모델 가져오기
ollama pull llama3
# 3. 서버 시작
ollama serve
# 4. 초기화 (API 키 불필요)
codereview --init ollama
export OPENAI_API_KEY="sk-..."
codereview --init openai
export ANTHROPIC_API_KEY="sk-ant-..."
codereview --init anthropic
설정 파일은 ~/.codereview/config.json에 저장됩니다:
{
"provider": "groq",
"model": "llama-3.3-70b-versatile",
"base_url": "https://api.groq.com/openai/v1",
"max_tokens": 2048,
"temperature": 0.2
}
API 키는 설정 파일에 저장되지 않습니다. 환경 변수에서만 읽어옵니다.
export CODEREVIEW_API_KEY="any-key" # 범용 재정의
export CODEREVIEW_MODEL="gpt-4" # 모델 재정의
codereview app.py --model gpt-4 --provider openai
Your Code --> codereview CLI --> LLM API --> Structured Terminal Output
(file/diff) (prompt builder) (any provider) (color-coded findings)
$ codereview api/auth.py
Score: 3/10
🔴 심각 — 하드코딩된 JWT 시크릿
12번째 줄에 시크릿 키가 하드코딩됨.
제안: 환경 변수 사용: os.environ["JWT_SECRET"]
🔴 심각 — 비밀번호 해싱 없음
34번째 줄에 비밀번호가 일반 텍스트로 저장됨.
제안: bcrypt 사용: bcrypt.hashpw(password, bcrypt.gensalt())
🟡 경고 — 토큰 만료 없음
JWT 토큰에 만료 설정이 없음.
제안: timedelta로 exp 클레임 추가
$ git add .
$ codereview --staged
Score: 8/10
🔵 정보 — 오류 처리 추가 고려
새 API 엔드포인트가 ConnectionError를 처리하지 않음.
제안: 재시도 로직이 있는 try/except로 감싸기.
$ codereview --last 3
Score: 9/10
⚪ 스타일 — 일관성 없는 명명
utils.py에서 snake_case와 camelCase 혼용
제안: PEP 8에 따라 snake_case로 통일.
GitHub Actions 워크플로우에 추가:
name: Code Review
on: [pull_request]
jobs:
review:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: actions/setup-python@v5
with:
python-version: "3.10"
- run: pip install ai-code-review
- run: codereview --diff origin/main
env:
GROQ_API_KEY: ${{ secrets.GROQ_API_KEY }}
ai-code-review/
├── codereview/
│ ├── __init__.py # 버전
│ ├── cli.py # 명령줄 인터페이스 + 첫 실행 설정
│ ├── reviewer.py # LLM API 호출 + 응답 파싱
│ ├── formatter.py # 리치 터미널 출력 포맷팅
│ ├── git_utils.py # Git diff/파일 추출 유틸리티
│ └── config.py # 설정 관리 + API 키 처리
├── tests/
│ ├── test_reviewer.py # 리뷰 파싱 테스트
│ └── test_git_utils.py # Git 유틸리티 테스트
├── setup.py
├── pyproject.toml
├── LICENSE
└── README.md
API 키를 설정하지 않았습니다. 가장 빠른 무료 옵션:
# 1. https://console.groq.com 에서 무료 키 받기
# 2. 설정:
export GROQ_API_KEY="gsk_your_key_here"
codereview --init groq
HTTP 클라이언트가 Cloudflare에 의해 차단되었습니다. 최신 상태인지 확인하세요:
git pull
pip install -e .
모델이 지원 종료되었습니다. 최신 모델을 위해 다시 초기화하세요:
codereview --init groq
Ollama 서버가 실행 중이 아닙니다:
ollama serve
그런 다음 새 터미널에서 다시 시도하세요.
종속성이 설치되지 않았습니다. 실행:
pip install rich requests
또는 재설치:
pip install -e .
설치 시 PATH에 추가되지 않았습니다. 직접 사용:
python3 -m codereview.cli yourfile.py
또는 별칭 생성:
echo 'alias codereview="python3 -m codereview.cli"' >> ~/.zshrc
source ~/.zshrc
PR 환영합니다! 이 프로젝트는 활발히 유지 관리됩니다.
git clone https://github.com/jaydendancer12/ai-code-review.git
cd ai-code-review
pip install -e .
pip install pytest
pytest -v
MIT — LICENSE 참조
codereview가 버그를 막아줬다면 ⭐을 눌러주세요
| 심각도 | 발견 내용 | 예시 |
|---|
| 🔴 심각 | 보안 취약점, 데이터 손실, 크래시 | SQL 인젝션, 사용자 입력에 eval() 사용, 하드코딩된 비밀 |
| 🟡 경고 | 버그, 누락된 오류 처리, 경쟁 조건 | 0으로 나누기, 처리되지 않은 예외, 리소스 누수 |
| 🔵 정보 | 성능 개선, 더 나은 패턴 | 불필요한 할당, 누락된 캐싱, N+1 쿼리 |
| ⚪ 스타일 | 명명, 포맷팅, 문서화 | 누락된 문서 문자열, 일관성 없는 명명, 죽은 코드 |