Outil en Go simple pour analyser les statistiques de commits des contributeurs d'une organisation GitHub sur une année donnée.
- Analyse des commits par contributeur sur une année complète
- Utilise l'API ContributorStats de GitHub (plus efficace)
- Classement des contributeurs du plus actif au moins actif
- Statistiques détaillées : commits, ajouts/suppressions de lignes
- Export en JSON ou affichage en tableau
go mod tidy
go build -o github-stats-
Créer un token GitHub avec les permissions appropriées :
- Aller sur GitHub → Settings → Developer settings → Personal access tokens
- Créer un token avec les scopes :
repo,read:org
-
Exporter le token :
export GITHUB_TOKEN="votre_token_github"# Analyser l'année courante
./github-stats -org="votre-org"
# Analyser l'année 2023 avec sortie JSON
./github-stats -org="votre-org" -year=2023 -output="json"
# Limiter à 20 contributeurs
./github-stats -org="votre-org" -limit=20
# Utiliser un token spécifique
./github-stats -org="votre-org" -token="ghp_xxxx"-org: Nom de l'organisation GitHub (requis)-token: Token GitHub (optionnel si GITHUB_TOKEN est défini)-year: Année à analyser (défaut: année courante)-output: Format de sortie (tableoujson, défaut: table)-limit: Nombre maximum de contributeurs (défaut: 50)
{
"organization": "mon-org",
"year": 2024,
"contributors": [
{
"username": "utilisateur1",
"commits": 245,
"additions": 12450,
"deletions": 3200,
"avatar_url": "https://avatars.githubusercontent.com/u/123456"
}
],
"summary": {
"total_commits": 1234,
"total_additions": 45600,
"total_deletions": 12300,
"total_repos": 25
}
}=== Top Contributeurs mon-org - Année 2024 ===
Résumé global:
- Repositories analysés: 25
- Total commits: 1234
- Total lignes ajoutées: 45600
- Total lignes supprimées: 12300
Classement des contributeurs par nombre de commits:
Rang Utilisateur Commits Ajouts Suppressions
---- ---------- ------- ------ -----------
1 utilisateur1 245 12450 3200
2 utilisateur2 189 8900 2100
3 utilisateur3 156 6700 1800
Top 3 contributeurs:
1. utilisateur1 - 245 commits (19.9% du total)
2. utilisateur2 - 189 commits (15.3% du total)
3. utilisateur3 - 156 commits (12.6% du total)
- Performance optimisée : Utilise l'API ContributorStats au lieu de parcourir tous les commits
- Données précises : GitHub pré-calcule les statistiques par semaine
- Moins de rate limiting : Beaucoup moins d'appels API
- Simplicité : Focus uniquement sur les commits, plus facile à comprendre
- L'outil analyse tous les repositories publics de l'organisation
- Les statistiques sont basées sur les données pré-calculées par GitHub
- Seuls les contributeurs avec au moins 1 commit dans l'année sont affichés
- Les données incluent les ajouts/suppressions de lignes de code