Tools· Design & Kreativ

    shadcn/ui

    Quelloffenes Komponentensystem für React, dessen Kommandozeile echten, editierbaren Quellcode statt eines npm-Pakets ins eigene Projekt kopiert, mit wachsendem Angebot an Helfer-Paketen für KI-gestützte Oberflächen.

    gestaltendausführbarOpen Source

    Beschreibung

    Stärken

    Code statt Paketabhängigkeit
    Die Kommandozeile kopiert den echten Komponenten-Code ins eigene Projekt, es entsteht keine Laufzeitabhängigkeit von einem externen Paket, und jede Zeile bleibt frei bearbeitbar.
    Barrierefreie Primitive
    Die Komponenten bauen auf Base UI beziehungsweise wahlweise weiterhin auf Radix auf und bringen durchdachte Zugänglichkeit von Haus aus mit.
    Breites, konsistentes Inventar
    Von Formularfeldern über Overlays, Datenanzeigen und Feedback-Elemente bis zur Navigation teilen sich alle Komponenten eine gemeinsame, zusammensetzbare Schnittstelle.
    Framework-Offenheit
    Next.js, Vite, Laravel, React Router, Astro und TanStack Start werden gleichermaßen unterstützt, dazu Tailwind CSS in Version 3 und 4.
    MIT-lizenziertes Copy-Paste-Modell
    Der Code gehört vollständig dem eigenen Projekt, ohne Lizenzeinschränkungen oder versteckte Abhängigkeiten.

    Einschätzung

    KI-Funktionen

    • KI-lesbarer, konsistenter Code Der offene Code und die einheitliche Schnittstelle jeder Komponente erleichtern es KI-Modellen, bestehende Komponenten zu verstehen und im gleichen Stil neue zu erzeugen.
    • Helfer-Paket für KI-Oberflächen Das quelloffene Paket `@shadcn/helpers` unterstützt den Bau von Oberflächen für das AI SDK und TanStack AI: Eine Konversation lässt sich als Code schreiben und durch die echte Komponente laufen lassen, mit deterministischer Ausgabe ohne Backend, etwa zum Bauen, Vorführen, Dokumentieren oder Testen von Streaming-Antworten.
    • Agentengestützte Migration Für den Wechsel von Radix zu Base UI steht eine Skill-Anleitung für Claude Code, Cursor und vergleichbare Agenten bereit, die Komponente für Komponente migriert und Fortschritt im eigenen Repository und der Git-Historie festhält. In einem Testprojekt mit über 60 Komponenten, davon 36 auf Radix, lief die vollständige Migration laut Anbieterangabe in rund 25 Minuten bei etwa 10.000 Tokens je Komponente.

    Wofür geeignet

    • React-, Next.js- oder Vite-Projekte, die zugängliche Basiskomponenten wie Buttons, Formulare, Dialoge oder Tabellen mit vollem Zugriff auf den Quellcode brauchen
    • Teams mit einem eigenen Design-System, die Komponenten direkt anpassen statt eine geschlossene Bibliothek unverändert zu konsumieren
    • Projekte, die mit KI-Coding-Assistenten arbeiten und von offenem, einheitlich strukturiertem Komponenten-Code profitieren
    • Weniger geeignet für Weniger geeignet für Marketingseiten, bei denen auffällige, animationslastige Sektionen im Vordergrund stehen, dafür eignen sich eher registry-kompatible Aufsätze mit stärkerem visuellem Fokus

    Einschränkungen und Hinweise

    • Kein automatisches Update Weil der Code im eigenen Projekt liegt, müssen Aktualisierungen gezielt über einen erneuten Installationsbefehl mit Overwrite-Option nachgezogen werden, eigene Anpassungen können dabei verloren gehen.
    • Community-Registries sind Drittanbieter-Pflege Zusätzliche Registries aus der Verzeichnisübersicht werden von unabhängigen Entwicklerinnen und Entwicklern gepflegt, ihr Code sollte vor der Installation geprüft werden.
    • Laufender Wechsel des Unterbaus Seit Juli 2026 ist Base UI der neue Standardunterbau, Radix bleibt vollständig unterstützt. Ein automatischer Codemod handhabt unveränderte Komponenten zuverlässig, bricht aber bei bereits individuell angepassten Primitiven, weshalb für einen kontrollierten Umstieg die komponentenweise, agentengestützte Migration empfohlen wird.
    • Primitive nicht direkt verändern Registry-Komponenten sollten nicht in der Datei selbst umgebaut, sondern in eigenen Feature-Komponenten darum herum komponiert werden, sonst gehen Anpassungen bei einem erneuten Überschreiben verloren.

    Quick Start

    1. Ausgangspunkt wählen: ein neues Setup visuell über das Konfigurationswerkzeug shadcn/create zusammenstellen, ein unterstütztes Framework-Template direkt per Kommandozeile aufsetzen, oder shadcn/ui zu einem bereits bestehenden Next.js-, Vite-, Laravel-, React-Router-, Astro- oder TanStack-Start-Projekt hinzufügen.
    2. Einmal pro Projekt den Init-Befehl der Kommandozeile ausführen, der die Datei `components.json`, die passenden Tailwind-Einstellungen und den Utility-Helfer anlegt.
    3. Für jede benötigte Komponente den Add-Befehl mit dem jeweiligen Namen ausführen, mehrere Komponenten lassen sich in einem Durchlauf installieren, etwa Button und Dialog gemeinsam.
    4. Die installierte Komponente in `components/ui/` frei anpassen und über eigene Feature-Komponenten in die Anwendung einbinden.
    5. Bei Bedarf weitere Komponenten oder Blöcke aus der Registry-Verzeichnisübersicht ergänzen, nach vorheriger Prüfung des jeweiligen Codes.

    Tipps

    • Formulare mit mehr als drei Feldern über die vorgefertigte Form-Komponente bauen, die react-hook-form und zod bereits mitbringt.
    • Registry-Primitive nicht direkt bearbeiten, sondern eigene Komponenten darum herum komponieren, damit ein späteres Update sie nicht überschreibt.
    • Für Toast-Benachrichtigungen die Sonner-Komponente installieren.
    • Vor der Installation von Komponenten aus Community-Registries deren Code lesen, weil die Pflege bei unabhängigen Entwicklerinnen und Entwicklern liegt.
    • Bei einer Migration von Radix zu Base UI die bereitgestellte, agentengestützte Skill-Anleitung nutzen statt eines manuellen Komplett-Umbaus, sie lässt sich komponentenweise unterbrechen und fortsetzen.

    Zugang

    Stand: · Angaben zu Preisen, Tarifen und Funktionen sind eine Momentaufnahme. Vor einer Entscheidung lohnt der Blick auf die Anbieterseite.

    Im Workshop wird daraus Ihre Methode.

    Wer diesen Prozess einmal laufen sieht, will als Nächstes den Agenten dahinter. Das bauen wir im Workshop Vom Prozess zum Agenten.

    Workshops ansehen

    Gespräch statt Pitch

    Erst verstehen, dann entscheiden. Wir nehmen uns Zeit für ein erstes Gespräch, ohne Verkaufsdruck, ohne Verpflichtung.

    Gespräch vereinbaren