본문으로 건너뛰기

© 2026 Molayo

GitHub요약2026. 05. 20. 19:08

wosledon/AIReview

요약

AIReview는 Copilot을 통해 100% AI로 생성된 엔터프라이즈급 AI 기반 코드 리뷰 플랫폼입니다. 클린 아키텍처와 멀티 LLM 지원을 바탕으로 마이크로서비스 구조를 채택하여 실시간 협업 및 정교한 코드 분석 기능을 제공합니다.

핵심 포인트

  • Copilot에 의해 100% AI로 생성된 프로젝트
  • 계층형 클린 아키텍처 및 관심사의 분리(Separation of Concerns) 적용
  • 멀티 LLM 지원 및 실시간 SignalR 통신을 통한 리뷰 업데이트
  • Repository 및 Unit of Work 패턴을 통한 데이터 일관성 유지
  • Hangfire를 활용한 비동기 백그라운드 AI 분석 작업 처리

이 프로젝트는 Copilot에 의해 완전히 생성되었습니다; 인간 0%, 100% AI.

English | 简体中文

AIReview는 지능형 자동화를 통해 코드 리뷰 프로세스를 혁신하는 엔터프라이즈급 AI 기반 코드 리뷰 플랫폼입니다. 현대적인 마이크로서비스 (Microservices) 영감을 받은 아키텍처로 구축되었으며, 멀티 LLM (Large Language Model) 지원, 실시간 협업 및 정교한 분석 기능을 결합하여 실행 가능한 통찰력을 제공하고 코드 품질을 크게 향상시킵니다.

비전 (Vision): AI 기반 지능으로 인간의 리뷰를 보완함으로써 개발 팀이 고품질의 코드를 더 빠르게 전달할 수 있도록 지원합니다.

AIReview는 관심사의 명확한 분리(Separation of concerns)를 특징으로 하는 **계층형 클린 아키텍처 (Layered clean architecture)**를 따릅니다:

┌─────────────────────────────────────────────────────────────┐
│ 프론트엔드 계층 (Frontend Layer) (React) │
│ • React 19 + TypeScript + Vite │
...

관심사의 분리 (Separation of Concerns): 각 계층은 별도의 책임을 가집니다 - API 계층은 HTTP/SignalR 통신을 처리합니다.

  • 코어 계층 (Core layer)은 순수 비즈니스 로직을 포함합니다.

  • 인프라 계층 (Infrastructure layer)은 외부 의존성을 관리합니다.

의존성 역전 (Dependency Inversion): 코어 로직은 구현(Implementation)이 아닌 추상화 (Abstractions, 인터페이스)에 의존합니다 -
레포지토리 및 유닛 오브 워크 패턴 (Repository & Unit of Work Pattern): 트랜잭션 지원을 포함한 일관된 데이터 액세스 -
비동기 처리 (Async Processing): 백그라운드 작업 (Background jobs)이 오래 걸리는 AI 분석 작업을 처리합니다 -
실시간 통신 (Real-time Communication): SignalR을 통해 리뷰 업데이트에 대한 푸시 알림을 활성화합니다

모듈 (Module)책임 (Responsibility)주요 구성 요소 (Key Components)
AIReview.API진입점 (Entry point), 요청 처리 (request handling), 실시간 허브 (real-time hubs)컨트롤러 (Controllers), SignalR 허브 (SignalR Hubs), 미들웨어 (Middleware)
AIReview.Core비즈니스 규칙 (Business rules), 도메인 모델 (domain models), 서비스 계약 (service contracts)엔티티 (Entities), 인터페이스 (Interfaces), 도메인 서비스 (Domain Services)
AIReview.Infrastructure데이터 영속성 (Data persistence), 외부 통합 (external integrations), 백그라운드 작업 (background jobs)리포지토리 (Repositories), EF Core, Hangfire, LLM 클라이언트 (LLM clients)
AIReview.Shared횡단 관심사 (Cross-cutting concerns), DTO데이터 전송 객체 (Data Transfer Objects), 열거형 (Enums)
AIReview.Tests품질 보증 (Quality assurance)단위 테스트 (Unit tests), 통합 테스트 (Integration tests)
aireviewer-frontend사용자 인터페이스 (User interface), 클라이언트 측 로직 (client-side logic)React 컴포넌트 (React components), API 클라이언트 (API clients)

상세한 아키텍처 문서는 다음을 참조하십시오:

다차원 분석 (Multi-dimensional Analysis): 품질 (Quality), 보안 (security), 성능 (performance), 유지보수성 (maintainability) 평가
리스크 점수 산정 시스템 (Risk Scoring System): 여러 차원에 걸친 자동화된 리스크 평가

  • 복잡도 분석 (Complexity analysis) (순환 복잡도 (cyclomatic complexity), 중첩 깊이 (nesting depth))
  • 보안 취약점 탐지 (Security vulnerability detection)
  • 성능 병목 현상 식별 (Performance bottleneck identification)
  • 유지보수성 지표 (Maintainability metrics)

문맥적 제안 (Contextual Suggestions): AI가 타겟팅된 개선 권장 사항을 생성
멀티 LLM 지원 (Multi-LLM Support): 구성 가능한 제공자 (OpenAI, Azure OpenAI, 커스텀 모델)
비동기 처리 (Async Processing): 백그라운드 작업 (Background jobs)을 통해 대규모 코드베이스에 대해 반응형 UX 보장

3계층 템플릿 시스템 (3-Tier Template System): 내장형 (Built-in) → 사용자 수준 (User-level) → 프로젝트 수준 (Project-level) 재정의
템플릿 유형 (Template Types):-

  • 코드 리뷰 (Code Review) 템플릿
  • 리스크 분석 (Risk Analysis) 템플릿
  • 풀 리퀘스트 요약 (Pull Request Summary) 템플릿
  • 개선 제안 (Improvement Suggestion) 템플릿

유연한 플레이스홀더 (Flexible Placeholders): {{CONTEXT}}, {{DIFF}}, {{FILE_NAME}} 등
UI 관리 (UI Management): 템플릿 CRUD 작업을 위한 직관적인 웹 인터페이스

지능형 변경 요약 (Intelligent Change Summaries): 영향 분석 (impact analysis)이 포함된 AI 생성 PR 설명
변경 유형 분류 (Change Type Classification): 기능 (Feature), 버그 수정 (Bug Fix), 리팩토링 (Refactoring), 문서화 (Documentation) 등
영향 평가 (Impact Assessment):-

  • 비즈니스 영향 평가 (Business impact evaluation)
  • 기술 부채 분석 (Technical debt analysis)
  • 중대한 변경 사항 탐지 (Breaking change detection)

테스트 권장 사항 (Test Recommendations): 자동 생성된 테스트 중점 영역
배포 노트 (Deployment Notes): 리스크 평가 및 롤백 (Rollback) 고려 사항

카테고리별 제안 (Categorized Suggestions): 코드 품질 (Code quality), 성능 (Performance), 보안 (Security), 아키텍처 (Architecture) 등
우선순위 점수 산정 (Priority Scoring): 영향도와 노력에 기반한 자동 우선순위 지정
사용자 피드백 루프 (User Feedback Loop): 지속적인 개선을 위한 수락/무시 (Accept/Ignore) 추적
이력 추적 (Historical Tracking): 시간에 따른 제안 수락률 모니터링

저장소 가져오기 (Repository Import): 기존 Git 저장소 클론 (Clone) 및 분석
차이 분석 (Diff Analysis): 코드 변경 사항의 지능적 파싱 (Parsing)
커밋 히스토리 (Commit History): Git 커밋과 함께 리뷰 이력 추적
브랜치 지원 (Branch Support): 여러 브랜치에서 원활하게 작동

프로젝트 구성 (Project Organization): 여러 리뷰 프로젝트 생성 및 관리
역할 기반 액세스 제어 (Role-Based Access Control): 소유자 (Owner), 리뷰어 (Reviewer), 개발자 (Developer) 역할
멤버 관리 (Member Management): 세분화된 권한을 가진 팀 멤버 초대
프로젝트 설정 (Project Settings): 프로젝트별 구성 및 환경 설정

실시간 알림 (Live Notifications): SignalR 기반의 즉각적인 업데이트
리뷰 댓글 (Review Comments): 코드 변경 사항에 대한 스레드형 (Threaded) 토론
상태 추적 (Status Tracking): 실시간 리뷰 워크플로 (Workflow) 상태 업데이트
활동 피드 (Activity Feed): 팀 활동 가시성 확보

리뷰 요청 관리 (Review Request Management): 리뷰 생성, 할당 및 추적
승인 프로세스 (Approval Process): 승인, 거절 또는 변경 요청
상태 라이프사이클 (Status Lifecycle): 대기 중 (Pending) → 리뷰 중 (In Review) → 승인됨/거절됨 (Approved/Rejected)
댓글 시스템 (Comment System): 라인별 (Line-by-line) 및 일반 피드백

AIReview.API: 컨트롤러 (Controllers), 허브 (Hubs) 및 서비스 구성이 포함된 ASP.NET Core Web API 백엔드
AIReview.Core: 엔티티 모델 (Entity models), 서비스 인터페이스 (Service interfaces) 및 비즈니스 서비스가 포함된 핵심 비즈니스 로직
AIReview.Infrastructure: EF Core 데이터 액세스, 리포지토리 패턴 (Repository pattern) 및 백그라운드 작업 (Background jobs)이 포함된 인프라스트럭처 (Infrastructure) 레이어
AIReview.Shared: 공유 데이터 전송 객체 (DTOs) 및 열거형 (Enums)
AIReview.Tests: 단위 테스트 (Unit tests) 및 통합 테스트 (Integration tests)
aireviewer-frontend: Vite로 구축된 React + TypeScript 프론트엔드 애플리케이션
docs: 프로젝트 문서 및 설계 사양 (Design specifications)

** .NET 8.0**: 성능 개선이 포함된 최신 크로스 플랫폼 프레임워크 (Cross-platform framework)
ASP.NET Core Web API: OpenAPI/Swagger 문서화가 포함된 RESTful API
Entity Framework Core: 마이그레이션 (Migration)을 지원하는 코드 퍼스트 ORM (Code-first ORM)
ASP.NET Core Identity: JWT 기반 인증 (Authentication) 및 인가 (Authorization)
SignalR: WebSocket 기반의 실시간 양방향 통신 (Bidirectional communication)
Hangfire: 비동기 AI 분석을 위한 백그라운드 작업 처리 (Background job processing)
SQLite/PostgreSQL: 유연한 데이터베이스 옵션 (개발/운영)
Redis: 분산 캐싱 (Distributed caching) 및 세션 관리 (선택 사항)

React 19: 동시성 기능 (Concurrent features)이 포함된 최신 React
TypeScript: 완전한 인텔리센스 (IntelliSense)를 지원하는 타입 안전 (Type-safe) 개발
Vite: 매우 빠른 HMR (Hot Module Replacement) 및 최적화된 프로덕션 빌드
TailwindCSS: 커스텀 디자인 시스템을 갖춘 유틸리티 퍼스트 (Utility-first) CSS
React Query (@tanstack/react-query): 강력한 서버 상태 관리 (Server state management)
React Router v6: 선언적 클라이언트 사이드 라우팅 (Declarative client-side routing)
Axios: 인터셉터 (Interceptors)를 지원하는 Promise 기반 HTTP 클라이언트
Heroicons: 아름답게 수작업으로 제작된 SVG 아이콘

Docker: 일관된 환경을 위한 컨테이너화 (Containerization)
Docker Compose: 로컬 개발을 위한 멀티 컨테이너 오케스트레이션 (Multi-container orchestration)
GitHub Actions: CI/CD 파이프라인 (계획 중)
Kubernetes: 프로덕션 오케스트레이션 (계획 중)

AIReview/
├── AIReview.API/ # Web API 진입점 (Entry point)
│ ├── Controllers/ # REST API 엔드포인트 (Endpoints)
...

.NET SDK 8.0+: [다운로드]
Node.js 18+npm/pnpm: [다운로드]
SQLite(기본값) 또는 PostgreSQL 14+(운영 환경 선택 사항)
Redis(선택 사항, 분산 캐싱용): [다운로드]
Docker Desktop(선택 사항, 컨테이너 기반 개발용): [다운로드]

저장소 복제 (Clone the Repository):
git clone https://github.com/wosledon/AIReview.git cd AIReview

애플리케이션 설정 구성 (Configure Application Settings):
AIReview.API/appsettings.Development.json 파일을 편집하세요.

{
  "ConnectionStrings": {
    "DefaultConnection": "Data Source=aireviewer.db", // SQLite
    "Redis": "localhost:6379"
  },
  "Jwt": {
    "Secret": "YourJWTSecretKey(AtLeast32Characters)",
    "Issuer": "AIReview",
    "Audience": "AIReview"
  }
}
  • 데이터베이스 마이그레이션 적용 (Apply Database Migrations): cd AIReview.API dotnet ef database update

API 서비스 시작 (Start API Service): dotnet run # API는 http://localhost:5000 에서 사용 가능합니다. # Swagger UI: http://localhost:5000/swagger

의존성 설치 (Install Dependencies): cd aireviewer-frontend npm install

환경 변수 설정 (Configure Environment Variables): .env 파일을 생성합니다: VITE_API_BASE_URL=http://localhost:5000/api/v1

개발 서버 시작 (Start Development Server): npm run dev # 프론트엔드는 http://localhost:5173 에서 사용 가능합니다.

cd AIReview.Tests
dotnet test --verbosity normal
cd aireviewer-frontend
npm run test # 필요에 따라 Vitest/Jest를 설정하십시오

Docker 이미지 빌드 (Build Docker Images):

백엔드 (Backend)

docker build -t aireviewer-api -f AIReview.API/Dockerfile .

프론트엔드 (Frontend)

docker build -t aireviewer-frontend -f aireviewer-frontend/Dockerfile .

Docker Compose로 실행 (Run with Docker Compose): docker-compose up -d

  • 프로덕션(Production) 환경에서는 SQLite 대신 PostgreSQL을 사용하십시오
  • 분산 캐싱 (Distributed Caching) 및 세션 관리 (Session Management)를 위해 Redis를 설정하십시오
  • 리버스 프록시 (Reverse Proxy, Nginx/Traefik)를 통해 HTTPS를 설정하십시오
  • 신뢰할 수 있는 오리진 (Origins)에 대해서만 CORS를 활성화하십시오
  • 비밀 정보(Secrets)에는 환경 변수를 사용하십시오 (자격 증명을 절대 커밋하지 마십시오)
  • 로깅 (Logging) 및 모니터링 (Monitoring)을 설정하십시오 (Application Insights, Serilog 등)
  • 데이터베이스 백업 전략을 수립하십시오

인증 (Authentication): 리프레시 토큰 (Refresh Token)을 지원하는 JWT 기반
권한 부여 (Authorization): 역할 기반 액세스 제어 (RBAC)
데이터 보호 (Data Protection): 민감한 데이터를 위한 ASP.NET Core Data Protection
입력 유효성 검사 (Input Validation): 모델 유효성 검사 및 새니타이제이션 (Sanitization)
속도 제한 (Rate Limiting): 남용 방지를 위한 API 스로틀링 (Throttling)
HTTPS: 프로덕션에서 TLS 1.2+ 강제 적용
CORS: 허용된 오리진으로 제한
SQL 인젝션 (SQL Injection): EF Core를 통한 매개변수화된 쿼리 (Parameterized Queries)

고급 코드 수정 제안 (Advanced Code Fix Suggestions): 차이점 미리보기 (Diff Preview)가 포함된 AI 생성 코드 패치

  • 멀티 모델 앙상블 (Multi-Model Ensemble): 더 높은 정확도를 위해 여러 LLM 응답을 결합

  • 문맥 인식 분석 (Context-Aware Analysis): 제안을 개선하기 위해 과거 리뷰로부터 학습

  • 커스텀 AI 모델 미세 조정 (Custom AI Model Fine-tuning): 조직 특화 모델 학습 지원

GitHub/GitLab Webhooks: PR 생성 시 자동 리뷰 트리거 (Automatic review triggers on PR creation) -
VS Code Extension: IDE 내 인라인 코드 리뷰 및 제안 (Inline code review and suggestions in IDE) -
Slack/Teams Notifications: 팀 커뮤니케이션 도구와의 통합 (Integration with team communication tools) -
CI/CD Pipeline Integration: AI 리뷰 점수에 기반한 품질 게이트 (Quality gates based on AI review scores)

Review Analytics Dashboard: 팀 생산성 및 코드 품질 지표 (Team productivity and code quality metrics) -
Trend Analysis: 시간에 따른 품질 개선 추적 (Track quality improvements over time) -
Custom Reports: 경영진을 위한 내보내기 가능한 보고서 (Exportable reports for management) -
Developer Performance Insights: 개인별 기여 품질 지표 (Individual contribution quality metrics)

Team Coding Standards Learning: AI가 수락/거절된 제안으로부터 학습 (AI learns from accepted/rejected suggestions) -
Custom Rule Engine: 조직 특화 코딩 표준 정의 (Define organization-specific coding standards) -
Review Template Library: 팀 간 공유 가능한 템플릿 라이브러리 (Shared templates across teams) -
Automated Style Guide Enforcement: 팀 컨벤션 자동 적용 (Enforce team conventions automatically)

Incremental Analysis: 대용량 파일의 변경된 부분만 분석 (Only analyze changed portions of large files) -
Batch Review Processing: 여러 PR의 효율적인 일괄 처리 (Efficient handling of multiple PRs) -
Distributed Processing: 분석 워크로드를 위한 수평적 확장 (Horizontal scaling for analysis workloads) -
Caching Optimization: 중복된 AI 호출 감소 (Reduce redundant AI calls)

Code Security Scanning: 심층 보안 취약점 분석 (Deep security vulnerability analysis) -
License Compliance Checker: 종속성 내 라이선스 문제 탐지 (Detect licensing issues in dependencies) -
Architecture Violation Detection: 아키텍처 패턴 강제 (Enforce architectural patterns) -
Technical Debt Tracker: 기술 부채의 수량화 및 우선순위 지정 (Quantify and prioritize technical debt)

Multi-tenant Architecture: 데이터 격리를 포함한 완전한 SaaS 지원 (Full SaaS support with data isolation) -
Enterprise SSO: SAML, OAuth, LDAP 통합 (SAML, OAuth, LDAP integration) -
Audit Logging: 포괄적인 컴플라이언스 및 감사 추적 (Comprehensive compliance and audit trails) -
Advanced Access Control: 세밀한 권한 및 정책 관리 (Fine-grained permissions and policies) -
On-premise Deployment: 에어갭(Air-gapped) 엔터프라이즈 배포 옵션 (Air-gapped enterprise deployment options)

Automated Code Refactoring: AI가 리팩토링 제안 및 적용 (AI suggests and applies refactorings) -
Predictive Bug Detection: ML 모델을 통한 버그 발생 가능 코드 예측 (ML models predict bug-prone code) -
Test Generation: 리뷰된 코드에 대한 단위 테스트 자동 생성 (Auto-generate unit tests for reviewed code) -
Documentation Generation: AI가 작성하는 인라인 문서화 (AI-written inline documentation)

Mobile Applications (모바일 애플리케이션): 이동 중에도 리뷰를 수행할 수 있는 iOS 및 Android 앱 -
API Marketplace (API 마켓플레이스): 제3자 통합 및 확장 기능 -
Community Plugin System (커뮤니티 플러그인 시스템): 맞춤형 분석기를 위한 개방형 생태계 -
Multi-language Support (다국어 지원): 글로벌 팀을 위한 현지화 (Localization)

Continuous Model Improvement (지속적인 모델 개선): 대규모 사용자 피드백으로부터 학습 -
Custom Model Marketplace (맞춤형 모델 마켓플레이스): 특화된 모델을 공유하고 다운로드 -
Transfer Learning (전이 학습): 사전 학습된 모델 (Pre-trained models)을 특정 도메인에 적응 -
Explainable AI (설명 가능한 AI): AI 의사결정의 투명성

🎯 Accuracy (정확도): 멀티 LLM (Multi-LLM) 지원 및 맞춤 설정 가능한 프롬프트 (Prompts)를 통해 관련성 높은 제안 보장
⚡ Speed (속도): 비동기 처리 (Async processing) 및 캐싱 (Caching)을 통한 빠른 리뷰 속도
🔧 Flexibility (유연성): 사용자 및 프로젝트 수준에서의 광범위한 맞춤 설정 가능
👥 Collaboration (협업): 실시간 업데이트를 통한 팀 간의 동기화 유지
📈 Scalability (확장성): 검증된 엔터프라이즈 기술 (.NET, React) 기반 구축
🔒 Security (보안): 역할 기반 액세스 제어 (Role-based access control) 및 보안 인증
🌐 Open Source (오픈 소스): MIT 라이선스를 통한 커뮤니티 기여 장려

기여를 환영합니다! 다음 사항에 대한 자세한 내용은 기여 가이드라인 (Contributing Guidelines, 곧 공개 예정)을 참조하세요:

  • 행동 강령 (Code of Conduct)
  • 개발 워크플로우 (Development workflow)
  • 풀 리퀘스트 (Pull request) 프로세스
  • 코딩 표준 (Coding standards)

이 프로젝트는 MIT 라이선스 (MIT License) 하에 라이선스가 부여됩니다 - 자세한 내용은 LICENSE 파일을 참조하세요.

Issues (이슈): GitHub Issues
Discussions (토론): GitHub Discussions

AI 자동 생성 콘텐츠

본 콘텐츠는 GitHub Claude Ecosystem의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
1

댓글

0