Content is user-generated and unverified.

GitHub 저장소 일괄 분석 스크립트

여러 GitHub 저장소를 한 번에 분석하여 개발 시간을 추정하고 상세한 보고서를 생성하는 스크립트입니다.

🌟 주요 기능

  • 📋 다양한 형식 지원: TXT, JSON, CSV 형식의 URL 목록 파일
  • 🚀 병렬 처리: 여러 저장소를 동시에 분석하여 시간 단축
  • 📊 종합 보고서: 전체 요약 + 개별 상세 분석
  • 🤖 AI 요약: OpenAI API로 커밋 내용 자동 요약
  • 💾 다양한 출력: CSV, JSON 형식으로 결과 저장
  • 🔄 자동 클론/업데이트: 저장소 자동 클론 및 업데이트

📋 필요 조건

  1. Python 패키지 설치:
bash
pip install pandas openai python-dateutil
  1. Git 설치: 시스템에 Git이 설치되어 있어야 합니다.
  2. OpenAI API 키 (선택사항): 커밋 요약 기능을 사용하려면 필요합니다.

📁 URL 목록 파일 형식

1. 텍스트 파일 (.txt)

text
https://github.com/user1/repo1
https://github.com/user2/repo2
https://github.com/user3/repo3
# 주석도 가능합니다

2. JSON 파일 (.json)

json
[
  {
    "name": "프로젝트 이름",
    "url": "https://github.com/user/repo",
    "description": "프로젝트 설명"
  }
]

3. CSV 파일 (.csv)

csv
name,url,description
"프로젝트1","https://github.com/user1/repo1","첫 번째 프로젝트"
"프로젝트2","https://github.com/user2/repo2","두 번째 프로젝트"

🚀 사용 방법

기본 사용법

bash
python batch_repo_analyzer.py repositories.txt

고급 사용법

bash
# 출력 디렉토리 지정
python batch_repo_analyzer.py repositories.txt --output my_analysis

# 특정 작성자만 분석
python batch_repo_analyzer.py repositories.txt --author "김개발"

# 날짜 범위 지정
python batch_repo_analyzer.py repositories.txt --since 2024-01-01 --until 2024-12-31

# OpenAI API 키 지정
python batch_repo_analyzer.py repositories.txt --openai-key "sk-..."

# 동시 처리 저장소 수 조정 (기본값: 3)
python batch_repo_analyzer.py repositories.txt --workers 5

# 모든 옵션 조합
python batch_repo_analyzer.py repositories.json \
  --output ./results \
  --author "개발자" \
  --since 2024-01-01 \
  --openai-key "sk-..." \
  --workers 4

📊 출력 파일 구조

분석 완료 후 다음과 같은 파일들이 생성됩니다:

analysis_results/
├── summary_report_20241227_143022.csv          # 📊 전체 요약 보고서
├── detailed_analysis_20241227_143022.csv       # 📋 상세 분석 데이터
├── failed_repositories_20241227_143022.csv     # ❌ 실패한 저장소 목록
├── full_results_20241227_143022.json           # 📦 전체 결과 (JSON)
└── individual_20241227_143022/                 # 📁 개별 저장소 분석
    ├── user1_repo1.csv
    ├── user2_repo2.csv
    └── user3_repo3.csv

📊 요약 보고서 (summary_report.csv)

저장소URL설명커밋수총개발시간(분)총개발시간(시간)커밋당평균시간(분)분석기간상태
user/repo1https://...프로젝트 설명45324054.072.02024-01-01 ~ 2024-02-28success

📋 상세 분석 (detailed_analysis.csv)

저장소URL일자시간대커밋 수개발작업 추정시간 (분)커밋내용요약
user/repo1https://...2024-01-15오후3180프로젝트 초기 설정 및 구조 생성

🔧 커맨드 라인 옵션

옵션설명기본값예시
urls_fileURL 목록 파일 경로필수repositories.txt
--output, -o결과 저장 디렉토리analysis_results--output ./my_results
--author, -a특정 작성자 필터링없음--author "김개발"
--since, -s시작 날짜없음--since 2024-01-01
--until, -u종료 날짜없음`
Content is user-generated and unverified.
    일괄 분석 스크립트 사용 가이드 | Claude