>_ DevTrendsde

Sprache

Start

Sprachen

Bereiche

Frontend Backend Mobile DevOps AI / ML GameDev Blockchain Embedded Sicherheit
TypeScript

So verfolgen Sie das Wachstum von Open-Source-Projekten mit Star History

Bei der Auswahl einer Bibliothek für ein neues Projekt oder beim Vergleich von Alternativen kann die Sternzahl auf GitHub irreführend sein. Fünftausend Sterne bei einem fünf Jahre alten Projekt und fünftausend Sterne bei einem Repository, das vor sechs Monaten gestartet wurde, erzählen völlig unterschiedliche Geschichten. Das erste könnte einen aufgegebenen Maintainer haben, während das zweite explosives Wachstum mit einem aktiven Zustrom von Mitwirkenden erlebt.

GitHub selbst zeigt nur die aktuelle Sternzahl an. Die Plattform bietet standardmäßig keine historischen Trenddaten. Deshalb verließ sich die Community lange auf Star History — ein Tool, das rohe Zahlen in visuelle Diagramme der Popularität umwandelt.

Nvidia GTC Star History

Was der Service kann

Das Projekt läuft als Webservice unter star-history.com, aber der gesamte Quellcode ist unter der MIT-Lizenz offen. Sie geben einen Repository-Namen ein und sehen sofort die Kurve der angesammelten Sterne im Zeitverlauf.

Hier sind die wichtigsten Dinge, für die die Leute es nutzen:

  • Diagramme im xkcd-Comic-Stil. Die Linien sehen leicht handgezeichnet und leger aus, was die Diagramme in Präsentationen und Artikeln sofort erkennbar macht.
  • Vergleichen Sie mehrere Repositories auf einem einzigen Bildschirm. Sie können Konkurrenzdiagramme überlagern (zum Beispiel Vue vs. React und Svelte) und genau sehen, wann eine Trendumkehr stattfand.
  • Anzeigemodi wechseln. Sie können Daten nach genauen Kalenderdaten anzeigen oder an eine Zeitleiste ab dem Erstellungsdatum jedes Repositories anpassen.
  • Einbettbare Live-SVG-Diagramme und Badges für README-Dateien.
Star History Demo

So betten Sie ein Diagramm in Ihre README ein

Viele beliebte Bibliotheksautoren betten das Sternverlaufsdiagramm direkt in die Projektbeschreibung ein. Dies zeigt Besuchern sofort das Wachstumstempo der Community.

Dies geschieht durch Aufruf der API des Dienstes. Hier ist das Markup mit Unterstützung für dunkle und helle Themes:

<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>

Über Diagramme hinaus erstellt der Dienst kompakte Badges, die den globalen Rang des Repositories anzeigen.

Was steckt unter der Haube

Die Codebasis des Projekts ist in Frontend, Browser-Erweiterung und Backend unterteilt.

Das Frontend ist in TypeScript mit Next.js geschrieben und mit Tailwind CSS gestaltet. Die Entwickler verwenden den pnpm-Paketmanager.

Um das Frontend lokal auszuführen:

cd frontend
pnpm install
pnpm dev

Danach ist die Weboberfläche unter http://localhost:3000 verfügbar.

Für das Backend, das SVG-Diagrammbilder dynamisch generiert, wird ein separater Dienst verwendet:

cd backend
pnpm install
pnpm dev

Der API-Server läuft auf Port 8080.

Ein interessantes Detail: Die README erklärt ausdrücklich, dass die Autoren keine externen Pull-Requests akzeptieren (We do not accept external contribution). Das Projekt wird von einem bestimmten Team gepflegt, daher müssen Sie das Repository selbst forken, wenn Sie benutzerdefinierte Änderungen benötigen.

Chrome-Erweiterung

Wenn Sie nicht jedes Mal die Website besuchen möchten, bietet das Projekt eine Chrome-Browser-Erweiterung.

Star History Chrome Extension

Es fügt einen Verlaufsansicht-Button direkt auf der Seite eines beliebigen GitHub-Repositories hinzu. Sie können es mit einem einzigen Befehl im Frontend-Ordner aus dem Quellcode erstellen:

cd frontend
pnpm build:ext

Das fertige Bundle befindet sich im Ordner ./dist, von wo aus Sie es im Entwicklermodus als entpackte Erweiterung in den Browser laden können.

Praktische Szenarien

Im täglichen Arbeitsablauf ist Star History in vier häufigen Situationen nützlich:

  1. Bewertung der Abhängigkeitsgesundheit. Ein starker Rückgang der Sternakquisitionsrate fällt oft mit dem Zeitpunkt zusammen, an dem die Autoren das Projekt aufgegeben haben oder aufgehört haben, auf Issues zu reagieren.
  2. Vorbereitung von Pitches und Vorträgen. Ein Diagramm im xkcd-Stil ist eine großartige Möglichkeit, trockene technische Folien aufzulockern.
  3. Nach dem Release Marketing-Analyse. Sie haben ein Projekt auf Hacker News oder Product Hunt gestartet und möchten die Reaktion des Publikums in den folgenden Tagen visuell sehen.
  4. Auswahl zwischen ähnlichen Bibliotheken. Wenn Sie zwischen zwei Tools mit ähnlicher Funktionalität wählen müssen, hilft ein Diagramm Ihnen zu verstehen, welches an Momentum gewinnt und welches allmählich verschwindet.

Sponsoren und Ökosystem

Das Projekt wird aktiv von kommerziellen Unternehmen im Open-Source-Bereich unterstützt, darunter Bytebase, Dify, SerpApi und pgplex.

Bytebase

Dify

SerpApi

pgplex

Star History löst ein bestimmtes Problem ohne unnötige Komplexität. Der Dienst läuft schnell, lässt Sie Bilder mit ein paar Klicks exportieren und integriert sich leicht in die Dokumentation.

Wenn Sie ein offenes Repository pflegen oder häufig den Code anderer analysieren, behalten Sie die Site als Lesezeichen oder installieren Sie die Browser-Erweiterung. Dies spart Zeit bei der Bewertung von Bibliotheken und hilft Ihnen, die Wachstumsrate Ihrer eigenen Projekte zu verfolgen.

Ähnliche Projekte