12k
All articles

5 GitHub-Repos, die es jetzt wert sind, mit einem Stern markiert zu werden

Fünf GitHub-Repos für JavaScript- und TypeScript-Entwickler: Biome, ast-grep, Zod, Tauri und Ollama für Linting, Codemods, Validierung, Desktop-Apps und lokale KI.

OpenReplay Team
OpenReplay Team
5 GitHub-Repos, die es jetzt wert sind, mit einem Stern markiert zu werden

Die nützlichsten GitHub-Repositories für JavaScript- und TypeScript-Entwickler im Jahr 2026 sind nicht die riesigen Lernlisten, die ohnehin jeder mit einem Stern markiert – es sind die Tools, die still und leise eine ganze Kategorie des täglichen Workflows ersetzen. Dies ist eine bewusst kurze, meinungsstarke Auswahl: fünf Repos, die Frontend- und JS/TS-Arbeit konsolidieren – Linting, Codemods, Validierung, Desktop-Packaging und lokale KI – ausgewählt danach, was sie diese Woche leisten, nicht danach, wie viele Sterne sie angesammelt haben. Die üblichen Klassiker (freeCodeCamp, developer-roadmap, awesome, public-apis) sind absichtlich ausgeschlossen; die kennt man bereits.

Alle Beliebtheitszahlen in diesem Artikel sind Näherungswerte – die aktuellen Zahlen sollten direkt auf GitHub geprüft werden, da Stern- und Download-Zähler schneller veralten als alles andere in einem solchen Beitrag.

Die wichtigsten Erkenntnisse

  • Biome ist ein einzelnes Rust-Binary, das das ESLint-und-Prettier-Gespann ersetzt; npx @biomejs/biome check --write formatiert und korrigiert ein Repository in einem einzigen Durchlauf ohne jegliche Konfiguration.
  • ast-grep sucht und schreibt Code anhand von AST-Mustern, die wie normaler Code aussehen ($VAR-Wildcards), und ist damit das robuste Codemod-Grundwerkzeug für die Bereinigung umfangreicher, KI-generierter Refactorings.
  • Zod ermöglicht es, ein einziges Schema zu schreiben, das sowohl Laufzeitvalidierung als auch den abgeleiteten TypeScript-Typ liefert – und damit die Abweichung zwischen Validatoren und Typen beseitigt.
  • Tauri erstellt Desktop- und Mobile-Apps aus einem Web-Frontend unter Verwendung des nativen WebViews des Betriebssystems, anstatt Chromium zu bündeln – die resultierenden Binärdateien sind nur ein Bruchteil der Größe von Electron.
  • Der ollama launch-Befehl von Ollama richtet Claude Code, Codex oder OpenCode auf ein lokales Open-Weight-Modell aus, ohne jegliche Konfiguration – Entwicklungsarbeit für $0 pro Token, ohne dass Code das Gerät verlässt.

Biome: ein Rust-Binary für Formatierung und Linting

Biome ist ein einzelnes Rust-Binary, das die Aufgaben von ESLint und Prettier gemeinsam übernimmt – ohne erforderliche Konfiguration. Das Problem, das es löst, ist die fragile, langsame Multi-Package-Toolchain, die die meisten JS/TS-Repositories nach wie vor mit sich tragen: eine Prettier-Installation, eine ESLint-Installation, eine .eslintrc, ein Plugin-Graph und die ständige Reibung zwischen Formatter- und Linter-Regeln. Biome fasst all das in einem einzigen schnellen Executable mit sinnvollen Standardwerten zusammen.

Folgender Befehl formatiert ein bestehendes Repository und wendet sichere Korrekturen in einem einzigen Durchlauf an:

npx @biomejs/biome check --write

--write wendet sichere Korrekturen an; --unsafe (--write --unsafe) sollte hinzugefügt werden, wenn Biome auch Korrekturen anwenden soll, bei denen die Verhaltenserhaltung nicht garantiert werden kann.

Der Grund, warum gerade jetzt der richtige Zeitpunkt ist: Biome hat eine ausgereifte Stufe erreicht. Mitte 2026 befindet sich Biome auf der v2.5-Linie, hat die Marke von 500 Lint-Regeln überschritten und mehr als 15 Millionen monatliche Downloads verzeichnet. Außerdem werden von Vercel gesponserte typbewusste Lint-Regeln ausgeliefert, die nicht vom TypeScript-Compiler abhängen – als erste Toolchain, die Typen für das Linting ableitet, ohne tsc aufzurufen. Biome verdient einen Stern für jeden, der eine JS/TS-Codebasis betreut und es leid ist, eine ESLint-und-Prettier-Konfiguration zu pflegen.

ast-grep: strukturelle Suche und Codemods per AST-Muster

ast-grep ist ein auf abstrakten Syntaxbäumen basierendes Tool, das Code nach Mustern durchsucht – man kann es sich als grep vorstellen, das jedoch AST-Knoten statt Text abgleicht. Muster werden wie normaler Code geschrieben, und es findet allen Code mit derselben syntaktischen Struktur. Damit ist es das robuste Codemod-Grundwerkzeug für die Art umfangreicher, wiederholbarer Refactorings, die KI-generierter Code heutzutage ständig produziert.

Das $-Zeichen in Kombination mit Großbuchstaben dient als Wildcard – zum Beispiel $MATCH – um einen beliebigen einzelnen AST-Knoten abzugleichen. Um jeden fetch()-Aufruf zu finden und ihn mit einem interaktiven Überprüfungsschritt in eine Client-Methode umzuschreiben:

ast-grep run -p 'fetch($URL)' -r 'apiClient.get($URL)' -l ts -i

Das Muster muss in einfache Anführungszeichen eingeschlossen werden, damit die Shell das $-Zeichen nicht interpretiert. Das -i kann weggelassen und -U hinzugefügt werden, um alle Änderungen nicht-interaktiv anzuwenden, sobald man dem Muster vertraut.

Ein ehrlicher Hinweis zum Reifegrad: ast-grep befindet sich noch vor Version 1.0 (v0.44 Mitte 2026, als Alpha markiert), wird aber mit häufigen Releases weiterentwickelt und ist weit verbreitet. Es basiert auf tree-sitter und unterstützt mehrere Sprachen – darunter C, C++, Rust, Go, Java, Python, C#, JavaScript, TypeScript, HTML, CSS und weitere. Außerdem wird ein offizieller MCP-Server mitgeliefert, sodass Coding-Agents strukturelle Suchen direkt ausführen können. ast-grep verdient einen Stern für alle, die Migrationen durchführen oder Code-Konventionen im großen Maßstab durchsetzen.

Zod: ein Schema für Laufzeitvalidierung und TypeScript-Typen

Zod ist TypeScript-first-Schema-Validierung mit statischer Typableitung: Ein einziges Schema liefert sowohl Laufzeitvalidierung als auch den abgeleiteten TypeScript-Typ, was die Abweichung beseitigt, die entsteht, wenn Validatoren und Typdeklarationen getrennt gepflegt werden. Es hat keine Abhängigkeiten, ist im Kern ca. 2 KB gzipped und befindet sich auf der v4-Linie mit ungefähr 31 Mio.+ wöchentlichen Downloads Mitte 2026 (aktuelle Zahlen auf npm prüfen).

API-Antwort validieren und deren Typ an einer einzigen Stelle ableiten:

import * as z from "zod";

const User = z.object({
  email: z.email(),
  website: z.url(),
});

type User = z.infer<typeof User>;

const result = User.safeParse(await res.json());
if (!result.success) {
  console.error(result.error.issues);
}

Die v4-API hat sich geändert und sollte korrekt verwendet werden: Import mit import * as z from "zod", und String-Formate sind jetzt Top-Level-Funktionen wie z.email() und z.url(). Die älteren Methodenformen – z.string().email()funktionieren noch, sind aber als veraltet markiert und sollen in der nächsten Hauptversion entfernt werden. v4 hat außerdem z.fromJSONSchema() hinzugefügt, um JSON-Schemas in Zod-Schemas zu konvertieren – diese Funktion ist jedoch explizit experimentell und noch nicht Teil der stabilen API. Zod verdient einen Stern für alle, die mit API-Grenzen, Formularen oder Umgebungsvariablen-Parsing arbeiten.

Tauri: Desktop- und Mobile-Apps ohne Chromium-Bündelung

Tauri erstellt plattformübergreifende Desktop- und Mobile-Apps aus einem Web-Frontend (beliebiges Framework) mit einem Rust-Backend, unter Verwendung des nativen WebViews des Betriebssystems, anstatt Chromium zu bündeln. Diese Architekturentscheidung ist der Grund für die geringen Binärgrößen: Eine minimale Tauri-App kann unter 600 KB liegen, und reale Apps mit einem vollständigen Frontend landen typischerweise im einstelligen Megabyte-Bereich. Zum Vergleich: Electron bündelt Chromium und Node.js, was zu größeren Installationspaketen im Bereich von 80–150 MB und höherem Speicherverbrauch führt, während Tauris nativer WebView-Ansatz Installationspakete unter 10 MB erzeugt.

Ein Projekt erstellen und eine bestehende Web-UI in ein natives Fenster einbetten:

npm create tauri-app

Tauri v2 ist seit Oktober 2024 stabil und hat erstklassige Build-Targets für iOS und Android zusätzlich zu Desktop hinzugefügt. Ein ehrlicher Vorbehalt: Das Team bezeichnet Mobile als produktionsreif, aber nicht vollständig erstklassig – echte Mobile-Apps können damit ausgeliefert werden, aber die Desktop-Unterstützung ist die ausgereiftere. Für eine tiefergehende Abwägungsanalyse ist OpenReplay’s Electron-vs.-Tauri-Vergleich die empfehlenswerte Gegenperspektive, bevor man sich für einen Stack entscheidet. Tauri verdient einen Stern für alle, die interne Tools, Hilfsprogramme oder alles entwickeln, bei dem ein Electron-Download von über 100 MB überdimensioniert ist.

Ollama: Open-Weight-LLMs lokal mit einem einzigen Befehl ausführen

Ollama ist die De-facto-Laufzeitumgebung für das lokale Ausführen von Open-Weight-LLMs mit einem einzigen Befehl und einer OpenAI-kompatiblen API, wobei GPU- und Apple-Silicon-Beschleunigung automatisch genutzt wird. Der Grund, warum gerade jetzt der richtige Zeitpunkt ist: Lokale Modelle decken inzwischen echte Coding-, RAG- und Zusammenfassungsaufgaben für $0 pro Token ab, wobei Code und Daten auf dem Gerät verbleiben. Der ollama launch-Befehl richtet Coding-Tools wie Claude Code, OpenCode und Codex mit lokalen oder Cloud-Modellen ein und startet sie, ohne dass Umgebungsvariablen oder Konfigurationsdateien benötigt werden.

Claude Code auf ein lokales Coding-Modell ausrichten:

ollama launch claude --model qwen3-coder

Dies erfordert Ollama v0.15+ und ein bereits heruntergeladenes Modell. Ollama stellt einen OpenAI-kompatiblen Endpunkt unter http://localhost:11434/v1 bereit, sodass bestehender OpenAI-Client-Code durch eine Änderung der Base-URL auf localhost umgeleitet werden kann. Außerdem verbindet es Claude Code über seine Anthropic-kompatible API, was es agentischen Tools ermöglicht, ohne Proxy mit lokalen Modellen zu kommunizieren. Ollama verdient einen Stern für alle, die API-Kosten senken, offline arbeiten oder proprietären Code von Drittanbieter-Servern fernhalten möchten.

Die besten GitHub-Repositories für den eigenen Stack auswählen

Der gemeinsame Faden dieser fünf Repos ist Konsolidierung: Jedes ersetzt einen lauteren, schwereren oder teureren Teil eines Frontend-Workflows durch ein einziges präzises Werkzeug. Das Richtige ist dasjenige, das dem nächsten Schmerzpunkt entspricht – eine verwirrte Lint-Konfiguration, ein lange aufgeschobenes Refactoring, ein Validator, der von den Typen abweicht, ein zu großes Electron-Bundle oder eine zu hohe API-Rechnung. Einen Stern vergeben, den einzeiligen Befehl noch diese Woche ausführen. Das ist der schnellste Weg herauszufinden, ob ein Repo einen dauerhaften Platz in der Toolchain verdient oder nur einen Stern.

Häufig gestellte Fragen

Kann Biome neben einem bestehenden ESLint- und Prettier-Setup betrieben werden, oder ersetzt es beide vollständig?

Biome kann während einer Migration neben ESLint und Prettier betrieben werden, aber sein Zweck ist es, beide durch ein einzelnes Rust-Binary zu ersetzen. Ein üblicher Weg ist, Biome zunächst für die Formatierung einzuführen, Prettier zu deaktivieren und dann schrittweise Lint-Regeln zu übertragen, sobald Biomes Regelwerk die eigenen Anforderungen abdeckt. Mitte 2026 hat Biome die Marke von 500 Lint-Regeln überschritten und liefert typbewusste Regeln, die den TypeScript-Compiler nicht aufrufen – was die Lücke schließt, die bisher das Beibehalten von ESLint erforderte.

Was ist der Unterschied zwischen ast-grep und einem regulären Suchen-und-Ersetzen oder Regex-Codemod?

ast-grep gleicht Code nach abstrakter Syntaxbaumstruktur ab, nicht nach Text. Ein Muster wie 'fetch($URL)' findet diesen Aufruf unabhängig von Leerzeichen, Zeilenumbrüchen oder Formatierung, wo ein regulärer Ausdruck scheitern würde. Die Dollar-Zeichen-Wildcards binden an ganze AST-Knoten und machen Umschreibungen strukturell bewusst statt zeichenkettenbasiert. Das macht ast-grep zuverlässig für umfangreiche Refactorings und KI-generierte Bereinigungen, da es die Code-Grammatik über Sprachen wie TypeScript, Python, Go und Rust hinweg versteht, anstatt Quellcode als einfachen Text zu behandeln.

Müssen Zod-v3-Schemas für ein Upgrade auf v4 neu geschrieben werden?

Die meisten Zod-v3-Schemas funktionieren in v4 weiterhin, da Methodenformen wie z.string().email() noch funktionieren, aber als veraltet markiert sind und in der nächsten Hauptversion entfernt werden sollen. Der empfohlene v4-Ansatz importiert mit 'import * as z from zod' und verwendet Top-Level-Format-Hilfsfunktionen wie z.email() und z.url(). Die veralteten Methodenformen sollten schrittweise migriert werden, anstatt sie als dauerhaft zu betrachten. Außerdem ist zu beachten, dass z.fromJSONSchema() experimentell und noch nicht Teil der stabilen API ist.

Ist für das lokale Ausführen von Modellen mit Ollama eine dedizierte GPU erforderlich?

Eine dedizierte GPU ist nicht erforderlich, da Ollama auf der CPU läuft und verfügbare Beschleunigung – einschließlich NVIDIA-GPUs und Apple Silicon – automatisch nutzt. Größere Modelle laufen mit einer GPU oder auf Apple Silicon deutlich schneller, während kleinere Open-Weight-Modelle auch auf reinen CPU-Maschinen für Coding-, Zusammenfassungs- und RAG-Aufgaben nutzbar bleiben. Die Leistung skaliert mit dem verfügbaren Arbeitsspeicher und der Hardware, daher sollte die Modellgröße an die Maschine angepasst werden, anstatt davon auszugehen, dass eine GPU für nützliche lokale Inferenz zwingend erforderlich ist.

Understand every bug

Uncover frustrations, understand bugs and fix slowdowns like never before with OpenReplay — self-hosted, with full data ownership.

Star on GitHub

We use cookies to improve your experience. By using our site, you accept cookies.