El Blog de Ismael / herramientas

Instrumento de medida para equipos en GitHub

contribmeter

Quién aporta cuánto en un repositorio o en una organización entera. Commits sin merges, líneas añadidas y borradas y PRs fusionadas, con el porcentaje de cada persona. Sin bots, con co-autores y uniendo cuentas duplicadas.

La API de GitHub lo pide incluso para repos públicos. Se queda en esta pestaña y solo viaja a api.github.com. Créalo en github.com/settings/tokens con repo y read:org, o uno fine-grained de solo lectura.

Qué medir

También en la terminal

Sin dependencias, con Node 18 o más. Usa tu sesión de gh si la tienes, o el token que guardes con contribmeter login.

# instalar
curl -fsSL https://raw.githubusercontent.com/Ismael-Sallami/contribmeter/main/install.sh | bash

# una organización entera, con desglose por repo
contribmeter <org> --by-repo

# un repo, un semestre, en Markdown
contribmeter <owner>/<repo> --since 2026-01-01 --until 2026-06-30 -o reparto.md

# dos cuentas de la misma persona
contribmeter <org> --alias <cuenta-vieja>=<cuenta-buena>

Por qué no basta con /contributors

El atajo habitual es pedir /repos/{owner}/{repo}/contributors y sumar. En un equipo real da otro reparto. Medido en una organización de seis personas, el total pasaba de 72 commits a 49.

Merges

Cada PR fusionada con merge commit suma uno más a quien la fusiona. Aquí no cuentan, salvo que lo pidas.

Co-autores

Las líneas Co-authored-by no existen para la API REST. Aquí el commit se reparte entre quienes lo firman.

Bots e IA

Dependabot, Actions o un agente de IA no son del equipo. Se quedan fuera y su parte va a las personas del commit.

Dos cuentas

Si alguien ha usado dos cuentas, sale dos veces. contribmeter lo detecta por el nombre y te deja unirlas.

Forks y límites

Sin paginar, la API corta a 30 repos y 30 personas, y mete los forks con commits ajenos. Aquí no.

Más que commits

Líneas añadidas y borradas, PRs fusionadas y rango de fechas, todo en una sola pasada por la API GraphQL.

Las líneas también cuentan ficheros generados o copiados de golpe, así que conviene leerlas junto a los commits y las PRs.