CodeRabbit을 구매할 여유가 없는 개발자를 위한 AI 코드 리뷰 도구 CodeVibes
요약
CodeVibes는 AI를 활용하여 GitHub 저장소를 스캔하고 보안 취약점, 버그 및 성능 문제, 코드 품질 개선 사항을 식별하는 지능형 코드 분석 도구입니다. 이 도구는 'Vibe Score'와 실행 가능한 통찰력을 제공하며, 중요도에 따라 P1(보안)부터 P3(코드 품질)까지 3단계 우선순위 시스템으로 파일을 분석합니다.
핵심 포인트
- AI 기반의 종합적인 코드 리뷰 기능을 제공합니다.
- P1: 보안 취약점 (AWS 키, JWT 등)을 최우선으로 감지합니다.
- 버그, 성능 문제, 가독성 등 다각적인 관점에서 코드를 분석합니다.
- 발견된 이슈와 심각도에 따라 정량화된 Vibe Score를 제공합니다.
CodeVibes는 인공지능(AI)을 사용하여 GitHub 저장소를 스캔하고 보안 취약점 (Security Vulnerabilities), 버그 및 성능 문제 (Bugs & Performance Issues), 그리고 코드 품질 (Code Quality) 개선 사항을 식별하는 지능형 코드 분석 도구입니다. 이를 통해 정량화된 Vibe Score와 실행 가능한 통찰력을 제공합니다.
| 대시보드 | 사전 분석 뷰 |
|---|---|
| 실행 | 저장소 선택 |
|---|---|
| 사후 분석 | 상세 통계 |
|---|---|
| 리포트 인사이트 |
|---|
graph TB
subgraph "프론트엔드 (React + Vite)"
UI[🖥️ AnalyzePage]
...
CodeVibes가 저장소를 처리하는 방식은 다음과 같습니다:
sequenceDiagram
participant User
participant Frontend
...
CodeVibes는 중요도 순서에 따라 파일을 분석하기 위해 **3단계 우선순위 시스템 (three-tier priority system)**을 사용합니다:
graph LR
subgraph "P1: 보안 (🛡️ 최우선)"
A1[".env 파일"]
...
| 우선순위 | 초점 | 심각도 레벨 | 감지 예시 |
|---|---|---|---|
| + | P1 | 보안 | CRITICAL, HIGH, MEDIUM, LOW |
| + | P2 | 버그 및 성능 | HIGH, MEDIUM, LOW |
| + | P3 | 코드 품질 | MEDIUM, LOW |
비밀 감지 (Secret Detection): AWS 키, GitHub 토큰, Stripe 키, JWT
주입 공격 (Injection Attacks): SQL, NoSQL, Command, 코드 주입
인증 문제 (Auth Issues): 누락된 JWT 검증, IDOR, 세션 오설정
XSS/CSRF: 위험한 innerHTML, 누락된 CSRF 토큰
논리 오류 (Logic Errors): Null 접근, Off-by-one, 타입 강제 변환 버그
성능 (Performance): N+1 쿼리, O(n²) 알고리즘, 메모리 누수
비동기 문제 (Async Issues): 처리되지 않은 promise, Race conditions
데이터 무결성 (Data Integrity): 누락된 트랜잭션, 동시 업데이트
가독성 (Readability): 명명 규칙, 복잡도 분석
DRY 위반 (DRY Violations): 중복 코드 패턴
최신 관행 (Modern Practices): 사용 중단된 API, 더 나은 대안
테스트 가능성 (Testability): 테스트하기 어려운 코드 패턴
다음 요소들을 기반으로 계산되는 0-100점 점수:
- 이슈 개수 및 심각도
- 스캔한 파일 수 대비 발견된 이슈 비율
- 보안 이슈 가중치 (더 높은 페널티)
| Layer | Technology | 목적 |
|---|---|---|
| Frontend | React 18 + Vite | 빠르고 현대적인 UI |
| TailwindCSS | 유틸리티 우선 스타일링 (Utility-first styling) | |
| Zustand | 상태 관리 (State management) | |
| Lucide Icons | 일관된 아이콘 세트 (iconography) | |
| Backend | Node.js + Express | API 서버 |
| Better-SQLite3 | 로컬 데이터베이스 (Local database) | |
| tsx | TypeScript 실행 환경 (TypeScript execution) | |
| AI | DeepSeek API | 코드 분석 (Code analysis) |
| Integration | Octokit | GitHub API 클라이언트 |
Node.js v18+ DeepSeek API Key(무료 키 받기) GitHub Token(선택 사항, 비공개 저장소용)
# 1. 리포지토리 복제 (Clone the repository)
git clone https://github.com/danish296/codevibes.git
cd codevibes
...
codevibes-backend/.env 파일 생성하기
:
# 필수 항목 (Required)
PORT=3001
DEEPSEEK_API_KEY=sk-your-deepseek-key
...
codevibes/
├── src/ # React 프론트엔드 (React Frontend)
│ ├── components/
...
| 엔드포인트 (Endpoint) | 메서드 (Method) | 설명 (Description) |
|---|---|---|
/api/analyze | POST | 새로운 분석 시작 (Start new analysis) |
/api/analyze/stream | GET | 실시간 업데이트를 위한 SSE 스트림 (SSE stream for live updates) |
| 엔드포인트 (Endpoint) | 메서드 (Method) | 설명 (Description) |
|---|---|---|
/api/history | GET | 과거 분석 목록 조회 (List past analyses) |
/api/history | POST | 분석 결과 저장 (Save analysis result) |
/api/history/:id | DELETE | 분석 삭제 (Delete analysis) |
| 엔드포인트 (Endpoint) | 메서드 (Method) | 설명 (Description) |
|---|---|---|
/api/github/repos | GET | 사용자 리포지토리 목록 조회 (List user's repos) |
/api/github/validate | POST | 리포지토리 접근 권한 확인 (Check repo access) |
function calculateVibeScore(issues: Issue[]): number {
const weights = {
CRITICAL: 25,
...
| 점수 범위 (Score Range) | 레이블 (Label) | 색상 (Color) |
|---|---|---|
| 90-100 | Excellent | 🟢 Green |
| ... |
DeepSeek 응답 잘림 수정: max_tokens를 8000으로 늘려 불완전한 JSON 응답을 방지했습니다.
오류 처리 향상: 잘림 감지 기능을 갖춘 DeepSeek JSON 파싱 개선
로깅 개선: 디버깅을 위한 더 상세한 로그 제공
OAuth 설정 개선: 문제 해결 가이드가 포함된 포괄적인 설정 방법 추가
- 모든 구성 옵션이 포함된 포괄적인
.env.example파일 추가 - 오류 메시지 및 사용자 피드백 개선 - 향상된 TypeScript 타입과 인터페이스
📄 새로운 변경 로그 페이지: 전체 기록을 담은 /changelog 페이지 추가.
🛡️ 신뢰 지표 (Trust Indicators): Hero 섹션에 AES-256, 개인 정보 보호(Privacy), 오픈 소스 배지 추가.
❓ FAQ 섹션: 홈페이지에 추가됨.
🧭 탐색 업데이트 (Navigation Updates):
- 헤더: API → CHANGELOG
- 푸터: Changelog (자료), API Reference (제품), 1월 10일 업데이트 배지.
🔒 보안 강화 (Security Hardening): 비밀 정보 감지 범위 확장 (AWS, Stripe, Google 등) 및 라이브 키에 대한 심각도(Critical severity) 적용.
⚡ 안정성 (Stability): 자동 비동기 오류 및 메모리 누수 감지 기능 추가.
📄 문서화 (Documentation): 변경 로그 업데이트 및 API 참조 정렬.
⬆️ 사용자 경험 (UX): 탐색 시 상단으로 자동 스크롤 기능 추가.
기여 환영합니다! 언제든지 Pull Request를 제출해 주세요.
- 저장소 포크(Fork)하기
- 기능 브랜치 생성 (
git checkout -b feature/amazing-feature) - 변경 사항 커밋 (
git commit -m 'Add amazing feature') - 브랜치로 푸시 (
git push origin feature/amazing-feature) - Pull Request 열기
본 프로젝트는 MIT 라이선스 하에 라이선스됩니다. 자세한 내용은 LICENSE 파일을 참조하세요.
이슈 (Issues): GitHub Issues
토론 (Discussions): GitHub Discussions
Danish Akhtar가 💜의 마음을 담아 제작했습니다.
도움이 되었다면 이 저장소를 Star ⭐ 해주세요!
AI 자동 생성 콘텐츠
본 콘텐츠는 GitHub AI Coding Assistants의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기