>_ DevTrendses

Idioma

Inicio

Lenguajes

Secciones

Frontend Backend Móvil DevOps AI / ML GameDev Blockchain Embebidos Seguridad
TypeScript

Cómo seguir el crecimiento de proyectos de código abierto con Star History

Al elegir una biblioteca para un nuevo proyecto o comparar alternativas, el recuento de estrellas en GitHub puede ser engañoso. Cinco mil estrellas en un proyecto de cinco años y cinco mil estrellas en un repositorio que se lanzó hace seis meses cuentan historias completamente diferentes. El primero podría tener un mantenedor abandonado, mientras que el segundo está experimentando un crecimiento explosivo con una influx activa de contribuyentes.

GitHub en sí solo muestra el recuento actual de estrellas. La plataforma no proporciona datos históricos de tendencias de forma predeterminada. Es por eso que la comunidad ha dependido durante mucho tiempo de Star History — una herramienta que transforma números en bruto en gráficos visuales de popularidad.

Nvidia GTC Star History

Lo que puede hacer el servicio

El proyecto se ejecuta como un servicio web en star-history.com, pero todo su código fuente es abierto bajo la licencia MIT. Ingresas el nombre de un repositorio e inmediatamente ves la curva de estrellas acumuladas a lo largo del tiempo.

Estas son las principales cosas para las que la gente lo usa:

  • Gráficos estilo cómic xkcd. Las líneas se ven ligeramente dibujadas a mano y casuales, lo que hace que los gráficos sean instantáneamente reconocibles en presentaciones y artículos.
  • Comparar múltiples repositorios en una sola pantalla. Puedes superponer gráficos de competidores (por ejemplo, Vue vs. React y Svelte) y ver exactamente cuándo ocurrió una reversión de tendencia.
  • Cambiar modos de visualización. Puedes ver los datos por fechas exactas del calendario o alinearlos a una línea de tiempo desde la fecha de creación de cada repositorio.
  • Gráficos SVG en vivo integrables e insignias para archivos README.
Star History Demo

Cómo integrar un gráfico en tu README

Muchos autores de bibliotecas populares integran el gráfico de historial de estrellas directamente en la descripción del proyecto. Esto muestra inmediatamente a los visitantes la velocidad de crecimiento de la comunidad.

Esto se hace llamando a la API del servicio. Así es cómo se ve el marcado con soporte para temas oscuros y claros:

<a href="https://star-history.com/#your-username/your-repo&Date">
 <picture>
   <source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/chart?repos=your-username/your-repo&type=Date&theme=dark" />
   <source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/chart?repos=your-username/your-repo&type=Date" />
   <img alt="Star History Chart" src="https://api.star-history.com/chart?repos=your-username/your-repo&type=Date" />
 </picture>
</a>

Más allá de los gráficos, el servicio genera insignias compactas que muestran la clasificación global del repositorio.

Qué hay bajo el capó

El código base del proyecto se divide en frontend, extensión del navegador y backend.

El frontend está escrito en TypeScript usando Next.js y estilizado con Tailwind CSS. Los desarrolladores usan el administrador de paquetes pnpm.

Para ejecutar el frontend localmente:

cd frontend
pnpm install
pnpm dev

Después de eso, la interfaz web estará disponible en http://localhost:3000.

Para el backend, que genera imágenes de gráficos SVG sobre la marcha, se usa un servicio separado:

cd backend
pnpm install
pnpm dev

El servidor API se ejecuta en el puerto 8080.

Un detalle interesante: el README establece explícitamente que los autores no aceptan pull requests externos (We do not accept external contribution). El proyecto es mantenido por un equipo específico, así que si necesitas modificaciones personalizadas, tendrás que hacer un fork del repositorio por tu cuenta.

Extensión para Chrome

Si no quieres visitar el sitio web cada vez, el proyecto ofrece una extensión para el navegador Chrome.

Star History Chrome Extension

Agrega un botón de vista de historial directamente en la página de cualquier repositorio de GitHub. Puedes construirla desde el código fuente con un solo comando en la carpeta del frontend:

cd frontend
pnpm build:ext

El paquete listo estará en la carpeta ./dist, desde donde puedes cargarlo en el navegador en modo desarrollador como una extensión sin empaquetar.

Escenarios prácticos

En el trabajo diario, Star History es útil en cuatro situaciones comunes:

  1. Evaluar la salud de las dependencias. Una caída brusca en la tasa de adquisición de estrellas a menudo coincide con el momento en que los autores abandonaron el proyecto o dejaron de responder a los problemas.
  2. Preparar presentaciones y charlas. Un gráfico estilo xkcd es una excelente manera de romper diapositivas técnicas secas.
  3. Análisis de marketing posterior al lanzamiento. Lanzaste un proyecto en Hacker News o Product Hunt y quieres ver visualmente la respuesta de la audiencia en los días siguientes.
  4. Elegir entre bibliotecas similares. Cuando necesitas elegir entre dos utilidades con funcionalidad similar, un gráfico te ayuda a entender cuál está ganando impulso y cuál se está desvaneciendo gradualmente.

Patrocinadores y ecosistema

El proyecto cuenta con el apoyo activo de empresas comerciales en el espacio de código abierto, incluyendo Bytebase, Dify, SerpApi y pgplex.

Bytebase

Dify

SerpApi

pgplex

Star History resuelve un problema específico sin complejidad innecesaria. El servicio funciona rápido, te permite exportar imágenes en un par de clics y se integra fácilmente en la documentación.

Si mantienes un repositorio abierto o analizas frecuentemente el código de otras personas, mantén el sitio en marcadores o instala la extensión del navegador. Esto te ahorrará tiempo al evaluar bibliotecas y te ayudará a seguir la tasa de crecimiento de tus propios proyectos.

Proyectos relacionados