Ein CLI-Tool zur Wiederverwendung von Code ähnlich wie shadcn-ui. Statt eines npm-Pakets wird der tatsächliche Code direkt ins Projekt installiert und kann frei angepasst werden. jsrepo hat das Ziel, den Aufbau und Bereitstellungsprozess von Registries für die Code-Wiederverwendung zu integrieren und diesen Ablauf einfacher sowie wartungsfreundlicher zu machen.
Hauptmerkmale
- Ansatz wie bei shadcn/ui: Statt Komponenten als npm-Paket zu installieren, werden die tatsächlichen Code-Dateien per CLI direkt zum Projekt hinzugefügt. Dadurch hat man direkte Kontrolle über den Quellcode und kann ihn beliebig anpassen.
- Eigene Registry: Jeder kann eine eigene Code-Registry erstellen und sie öffentlich teilen oder privat nutzen.
- MCP-Integration: Über das Model Context Protocol (MCP) Integration mit KI-basierten Code-Editoren wie Cursor und Windsurf. Die KI kann Komponenten aus der JSRepo-Registry verstehen und Aufgaben wie das Suchen von Komponenten oder das Hinzufügen zum Projekt allein per natürlichsprachigem Befehl ausführen.
- Flexibles Hosting: Unterstützt sowohl Self-Hosting über verschiedene Git-Anbieter wie GitHub, GitLab und BitBucket als auch Hosting über jsrepo.com.
- Leistungsstarke CLI: Bietet starke Funktionen wie das einfache Hinzufügen von Code-Blöcken mit dem Befehl
addund interaktive Updates über den Befehlupdate. - Sichere Versionsverwaltung: Vollständige Unterstützung für SemVer, wodurch vorhersehbare Upgrades möglich sind; außerdem kompatibel mit bestehenden Lösungen wie Changesets.
- Teamzusammenarbeit: Sicheres Teilen und Verwalten von Code innerhalb des Teams über private Registries.
- Dynamische Registry: Bietet erweiterte Funktionen zum dynamischen Laden von Komponenten zur Laufzeit.
- Zusatzfunktionen: Bietet Integrationen für mehr Entwicklerkomfort, etwa eine Raycast-Erweiterung.
Vergleich der Hosting-Modelle: jsrepo.com vs. Git Provider (Self-Hosting)
JSRepo bietet im Wesentlichen zwei Optionen für das Hosting einer Registry.
jsrepo.com (verwaltetes Hosting)
- Einfachster Weg: Ohne zusätzliche Einrichtung mit einem GitHub-Konto anmelden und die Registry sofort veröffentlichen.
- Starke Versionsverwaltung: Anders als Git-Tags sind einmal veröffentlichte Versionen unveränderlich (immutable) und ermöglichen dadurch eine sicherere und verlässlichere SemVer-Versionsverwaltung.
- Private Registries: Unterstützt standardmäßig das sichere Teilen privaten Codes mit Teammitgliedern über den Befehl
jsrepo auth. - Performance- und Komfortfunktionen: Bietet verbesserte Leistung sowie Zusatzfunktionen wie Suche und Analyse.
Git Provider (Self-Hosting)
- Volle Kontrolle: Git-Repositories wie GitHub oder GitLab direkt als Registry verwenden und alles selbst kontrollieren.
- Grundlegende Versionsverwaltung: Versionen werden über Git-Tags verwaltet, diese können jedoch verändert werden und sind daher potenziell weniger stabil als bei jsrepo.com.
- Eigene Konfiguration erforderlich: Authentifizierung und Berechtigungen, etwa für den Zugriff auf private Registries, müssen selbst eingerichtet und verwaltet werden.
Anwendungsbeispiele
https://github.com/shyakadavis/geist
https://github.com/ieedan/shadcn-svelte-extras
Noch keine Kommentare.