오픈소스 개발자라면 누구나 자신의 기여도를 효과적으로 표현하고 싶어합니다. 그러나 많은 경우 GitHub 프로필에서 보여지는 별점, 포크 수, 고정된 레포지토리 등은 실제 기여를 정확히 반영하지 못합니다. 특히 개인 레포지토리의 기여나 비공식적인 기여는 더더욱 드러나지 않죠. 이를 해결하기 위해 등장한 오픈소스 프로젝트가 바로 github-stats입니다.

이 프로젝트는 GitHub API를 활용하여 사용자의 프로필 및 레포지토리 통계를 수집하고, 이를 시각적으로 표현한 이미지를 생성합니다. 이제부터 이 프로젝트의 주요 기능과 사용법에 대해 자세히 살펴보겠습니다.

주요 기능 및 특징

1. 개인 레포지토리 및 기여 통계 포함

다른 도구들과 달리, github-stats는 개인 레포지토리와 사용자가 기여한 레포지토리의 통계를 포함하여 보다 포괄적인 정보를 제공합니다. 이를 통해 다른 개발자들에게 나의 기여도를 더 정확히 전달할 수 있습니다.

2. 자동 테마 전환 기능

생성된 이미지는 GitHub의 라이트 및 다크 테마에 따라 자동으로 전환됩니다. 따라서 사용자는 어떤 테마에서도 일관된 비주얼을 유지할 수 있습니다.

3. GitHub Actions 기반

이 프로젝트는 GitHub Actions를 기반으로 하여, 별도의 서버 없이도 정기적으로 통계를 업데이트하고 이미지를 생성할 수 있습니다.

4. JSON 데이터 출력

사용자는 생성된 통계를 JSON 파일로 덤프하여, 추가적인 데이터 분석을 위한 기초 자료로 활용할 수 있습니다.

설치 및 기본 사용법

1. GitHub 레포지토리 Fork

먼저, 이 프로젝트를 사용하기 위해서는 GitHub에서 레포지토리를 Fork해야 합니다. github-stats GitHub 페이지로 이동하여 'Fork' 버튼을 클릭하세요.

2. 설정 파일 수정

Fork한 레포지토리에서 .github/workflows/main.yml 파일을 수정하여 GitHub Access Token과 사용자 정보를 설정해야 합니다. 아래와 같이 파일을 설정하세요.

name: Generate GitHub Stats
on:
  schedule:
    - cron: '0    ' # 매시간마다 실행
  workflow_dispatch:

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v2
      
      - name: Set up Zig
        uses: ziglang/setup-zig@v1

      - name: Generate stats
        run: |
          git clone https://github.com/jstrieb/github-stats.git
          cd github-stats
          zig run main.zig --token ${{ secrets.GITHUB_TOKEN }} --username YOUR_GITHUB_USERNAME
YOUR_GITHUB_USERNAME 부분에 본인의 GitHub 사용자명을 입력하세요.

3. GitHub Actions 실행

이제 GitHub Actions가 자동으로 실행되어 통계 이미지를 생성합니다. 생성된 이미지는 레포지토리의 generated 폴더에서 확인할 수 있습니다.

4. README에 이미지 추가

생성된 이미지를 자신의 GitHub 프로필 README에 추가하려면, 다음과 같은 형식으로 이미지를 삽입하세요.

Overview
Languages
USERNAME 부분에는 자신의 GitHub 사용자명을 삽입해야 합니다.

실무 활용 시나리오

이 도구는 특히 자신의 기여도를 강조하고 싶은 오픈소스 개발자에게 유용합니다. 예를 들어, 개발자 포트폴리오 페이지에 이 통계 이미지를 삽입함으로써, 고용주나 동료 개발자들에게 자신의 기여도를 한눈에 보여줄 수 있습니다. 또한, 개인 프로젝트나 팀 프로젝트의 기여도 분석에 활용하여, 팀 내에서의 기여 분포를 시각적으로 표현할 수 있습니다.

비슷한 도구와 비교

이와 유사한 도구로는 GitHub Readme Stats가 있습니다. 그러나 GitHub Readme Stats는 개인 레포지토리 통계에 대한 지원이 제한적입니다. 반면, github-stats는 개인 및 기여 레포지토리 통계를 포함하여 더 포괄적인 데이터를 제공합니다.

마무리 및 추천 대상

이 오픈소스 프로젝트는 자신의 GitHub 프로필을 더욱 매력적으로 꾸미고 싶은 개발자, 팀의 기여도를 시각적으로 표현하고 싶은 팀 리더, 그리고 데이터 분석을 통해 더 나은 기여를 하고자 하는 모든 개발자에게 추천합니다.

더 자세한 사항은 github-stats GitHub 페이지에서 확인해보세요. 지금 바로 시작해보세요!