무료 GitHub Action을 만들었어요 — 레포 건강을 점수 매기고 README를 자동 업데이트합니다
Source: Dev.to
DevLens가 레포를 평가하는 방법
DevLens는 다음과 같은 7가지 가중 차원을 평가합니다:
| Dimension | Weight | What it checks |
|---|---|---|
| 📝 README Quality | 20 % | 길이, 섹션, 배지, 코드 예시, 키워드 |
| 🔥 Commit Activity | 20 % | 최근 90 일간 푸시 빈도 |
| 🌿 Repo Freshness | 15 % | 마지막 푸시 이후 경과 일수 |
| 📚 Documentation | 15 % | LICENSE, CONTRIBUTING, CHANGELOG, CODE_OF_CONDUCT, SECURITY, docs/ 존재 여부 |
| ⚙️ CI/CD Setup | 15 % | GitHub Actions 워크플로우 존재 여부 |
| 🎯 Issue Response | 10 % | 닫힌 이슈 대비 열린 이슈 비율 |
| ⭐ Community Signal | 5 % | 스타, 포크, 워처 수 |
결과는 레포가 현재 어느 수준에 있는지를 정확히 알려주는 단일 숫자입니다.
실시간 배지 예시
각 푸시마다 DevLens는 README의 두 마커 사이에 배지를 자동 커밋합니다:
## Repository Health
This repository has a health score of 91.
**Repo Status:**
- **readme**: 100
- **activity**: 75
- **freshness**: 100
- **docs**: 96
- **ci**: 100
- **issues**: 100
- **community**: 0수동으로 업데이트할 필요가 없습니다; 푸시할 때마다 최신 상태가 유지됩니다.
설정 가이드
1. README.md에 마커 추가
배지를 표시하고 싶은 위치에 마커를 배치합니다.
2. 워크플로우 생성
.github/workflows/devlens.yml 파일을 추가합니다:
name: DevLens Health Check
on:
push:
branches: [main, master]
schedule:
- cron: '0 8 * * 1' # Weekly Monday digest
permissions:
contents: write
jobs:
devlens:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: SamoTech/devlens@v1
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
groq_api_key: ${{ secrets.GROQ_API_KEY }} # optional — free
notify_discord: ${{ secrets.DISCORD_WEBHOOK }} # optional다음 푸시 시 DevLens가 레포를 평가하고 README를 자동으로 업데이트합니다.
3. (선택) 무료 Groq API 키 추가
DevLens는 Groq를 통해 Llama 3을 사용해 인간이 읽기 쉬운 건강 요약을 README에 직접 작성할 수 있습니다—유료 AI 플랜이나 OpenAI 크레딧이 필요 없습니다.
4. (선택) Discord 웹훅 설정
DISCORD_WEBHOOK을 설정하면 매주 월요일 UTC 08:00에 팀에 다음 정보를 담은 풍부한 임베드가 전송됩니다:
- 7가지 차원 점수
- 전체 건강 점수
- 레포지토리 직접 링크
대시보드를 확인하지 않아도 레포 위생을 자동으로 인식할 수 있습니다.
DevLens가 확인하는 항목
- ✅
LICENSE파일 존재 - ✅
CONTRIBUTING.md존재 - ✅
CHANGELOG.md존재 - ✅
CODE_OF_CONDUCT.md존재 - ✅
SECURITY.md존재 - ✅
docs/폴더 존재 - ✅ 설치, 사용법, 기능, 예시, 로드맵 섹션을 포함한 README
- ✅ README에 코드 블록 및 이미지 포함
- ✅ 3개 이상의 GitHub Actions 워크플로우
- ✅ 최근 90 일간 30개 이상의 커밋
- ✅ 모든 이슈가 닫혀 있거나 건강한 비율 유지
로드맵 (현재 상태)
- 7차원 건강 점수 엔진
- 자동 README 배지 삽입
- 주간 Discord 다이제스트
- AI README 인사이트 (Groq/Llama 3)
향후 계획
- 웹 대시보드 (Next.js)
- 이메일 다이제스트 (Resend 무료 티어)
- PR 품질 점수
- 히스토리 트렌드 차트
- 멀티 레포 포트폴리오 뷰
- Slack 연동
시작하기
DevLens가 시간을 절약해 주거나 팀이 더 나은 코드를 배포하는 데 도움이 된다면, GitHub ⭐ 하나가 큰 힘이 됩니다:
👉
스폰서십도 언제든 환영합니다—압박은 없고, 사랑만 주세요. 💛
GitHub Actions + Groq + ☕ 로 제작, @SamoTech