개발자들이 자신의 GitHub 프로필을 꾸미기 위해 다양한 방법을 시도하고 있습니다. 그러나 대다수의 사용자들은 공개 저장소에서의 활동만을 보여주는 기존의 통계로는 자신의 진정한 기여도를 충분히 표현할 수 없습니다. 이 문제를 해결하기 위해 등장한 프로젝트가 바로 jstrieb/github-stats입니다. 이 오픈소스 프로젝트는 사용자의 GitHub 통계를 시각적으로 나타내어, 비공식적인 기여를 포함한 보다 완전한 프로필을 만들어 줍니다.
프로젝트 개요
github-stats는 GitHub API를 사용하여 다양한 프로필 및 저장소 통계를 수집하고, 이를 기반으로 이미지 형태로 시각화하여 제공합니다. 이 과정에서 개인 저장소의 데이터도 포함할 수 있어, 자신의 기여도를 보다 정확하게 드러낼 수 있습니다. 또한 GitHub의 라이트 테마와 다크 테마에 맞추어 자동으로 변환되는 이미지를 생성합니다.
주요 기능과 특징
- 비공식 기여 포함: 공개 저장소뿐만 아니라 개인 저장소에서도 기여를 포함하여 통계를 생성합니다.
- 자동화된 이미지 생성: GitHub Actions를 통해 주기적으로 통계를 업데이트하여, 항상 최신 정보를 제공합니다.
- JSON 데이터 출력: 생성된 통계는 JSON 파일로도 저장되어, 추가적인 데이터 분석이 가능합니다.
- 테마 자동 전환: 다크 모드와 라이트 모드에 맞춰 생성된 이미지를 제공하여 디자인 일관성을 유지합니다.
설치 및 기본 사용법
이제 프로젝트를 설치하고 사용하는 방법에 대해 살펴보겠습니다.
1단계: 저장소 포크하기
먼저, GitHub에서 jstrieb/github-stats 저장소를 포크합니다.
2단계: GitHub 액션 설정하기
포크한 저장소에서 .github/workflows 디렉토리 내의 ci.yml 파일을 확인하여 필요한 경우 수정합니다. 기본 설정으로도 충분히 사용할 수 있습니다.
3단계: GitHub 액세스 토큰 생성
- GitHub에서 Settings > Developer settings > Personal access tokens로 이동합니다.
- Generate new token을 클릭하여 액세스 토큰을 생성합니다. 이 토큰은 비공식 기여를 포함한 통계를 수집하는 데 사용됩니다.
- 생성된 토큰을 안전한 곳에 보관합니다.
4단계: Secrets에 토큰 추가하기
포크한 저장소의 Settings > Secrets > Actions로 가서, 새로운 Secret을 추가합니다. 이름은 GH_TOKEN으로 하고, 값으로 앞서 생성한 액세스 토큰을 입력합니다.
5단계: 이미지 생성하기
이제 기본적인 설정은 완료되었습니다. GitHub Actions가 자동으로 실행되어 통계 이미지를 생성합니다. README 파일에 다음과 같은 코드를 추가하여 이미지를 표시할 수 있습니다.

여기서 <YOUR_USERNAME>과 <YOUR_REPOSITORY_NAME>을 본인의 GitHub 사용자명과 저장소 이름으로 변경합니다.
실무에서의 활용 시나리오
이 프로젝트는 주로 오픈소스 프로젝트에 기여하는 개발자들에게 유용합니다. 예를 들어, GitHub 프로필을 통해 자신의 기여도를 한눈에 보여주고 싶은 개발자들은 이 도구를 사용하여 비공식적인 기여를 포함한 통계를 시각화할 수 있습니다. 또한, 팀 프로젝트의 진행 상황을 한눈에 보여주고 싶을 때 이 통계를 활용하여 쉽게 시각화할 수 있습니다.
비슷한 도구와 비교
github-stats 외에도 GitHub 활동을 시각화하는 여러 도구가 존재합니다. 예를 들어, GitHub Readme Stats는 사용자가 기여한 저장소의 통계를 보여주는 데 중점을 두고 있습니다. 그러나 github-stats는 비공식 기여까지 포함하고, GitHub Actions를 통해 자동으로 업데이트되는 점에서 차별화됩니다.
마무리
이러한 이유로 jstrieb/github-stats는 오픈소스 기여자들에게 매우 유용한 도구입니다. 개인의 기여를 보다 정확히 보여주고, 프로필의 매력을 한층 더 높여줄 수 있습니다. GitHub 프로필을 더욱 돋보이게 만들고 싶다면, 지금 바로 이 도구를 사용해 보세요!
자세한 내용은 jstrieb/github-stats GitHub 저장소에서 확인하실 수 있습니다.