여러 GitHub 저장소를 한 번에 분석하여 개발 시간을 추정하고 상세한 보고서를 생성하는 스크립트입니다.
pip install pandas openai python-dateutilhttps://github.com/user1/repo1
https://github.com/user2/repo2
https://github.com/user3/repo3
# 주석도 가능합니다[
{
"name": "프로젝트 이름",
"url": "https://github.com/user/repo",
"description": "프로젝트 설명"
}
]name,url,description
"프로젝트1","https://github.com/user1/repo1","첫 번째 프로젝트"
"프로젝트2","https://github.com/user2/repo2","두 번째 프로젝트"python batch_repo_analyzer.py repositories.txt# 출력 디렉토리 지정
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| 저장소 | URL | 설명 | 커밋수 | 총개발시간(분) | 총개발시간(시간) | 커밋당평균시간(분) | 분석기간 | 상태 |
|---|---|---|---|---|---|---|---|---|
| user/repo1 | https://... | 프로젝트 설명 | 45 | 3240 | 54.0 | 72.0 | 2024-01-01 ~ 2024-02-28 | success |
| 저장소 | URL | 일자 | 시간대 | 커밋 수 | 개발작업 추정시간 (분) | 커밋내용요약 |
|---|---|---|---|---|---|---|
| user/repo1 | https://... | 2024-01-15 | 오후 | 3 | 180 | 프로젝트 초기 설정 및 구조 생성 |
| 옵션 | 설명 | 기본값 | 예시 |
|---|---|---|---|
urls_file | URL 목록 파일 경로 | 필수 | repositories.txt |
--output, -o | 결과 저장 디렉토리 | analysis_results | --output ./my_results |
--author, -a | 특정 작성자 필터링 | 없음 | --author "김개발" |
--since, -s | 시작 날짜 | 없음 | --since 2024-01-01 |
--until, -u | 종료 날짜 | 없음 | ` |