shadcn/ui bascule sur Base UI par défaut
Pourquoi ça compte pour toi
Si tu construis avec shadcn/ui, tu dois savoir que les nouveaux projets démarrent maintenant sur Base UI. Pas d'obligation de migrer (Radix reste stable et en production partout), mais les fondateurs ont constaté que les utilisateurs choisissaient Base UI 2 fois sur 3. C'est le moment de comprendre ce qui change et comment avancer progressivement si tu veux.
Ce qu'il faut retenir
- 1.Base UI devient la lib par défaut ; npx shadcn init propose Base UI en premier
- 2.Radix continue d'être maintenu ; zéro rupture de compatibilité, tu peux ignorer ce changement
- 3.Un « skill » (agent IA) migre tes composants progressivement, composant par composant
Tu galères avec le jargon ?
Lis la version réécrite en mode débutant — toutes les idées, sans le jargon.
Pourquoi ce changement?
Quand shadcn/ui a été lancé en janvier 2023, Radix était le seul vraiment mature. Mais les créateurs de Radix ont construit Base UI en appliquant tout ce qu'ils avaient appris. Base UI en est à la version 1.6.0, 6M+ téléchargements par semaine, et l'équipe shadcn a constaté que les utilisateurs qui testaient les deux préféraient Base UI.
Donc au lieu de forcer une migration, shadcn/ui a fait son truc : ils ont rebâti chaque composant pour Base UI, gardé la même abstraction, et laissé le choix.
Ce qui change concrètement
Pour les nouveaux projets : npx shadcn init propose Base UI par défaut. Les docs aussi. Mais un flag -b radix te ramène à l'ancien comportement.
Pour tes apps existantes : rien ne change. Radix reste stable, maintenu, en production chez les créateurs de shadcn/ui. Si ça marche, tu continues à déployer.
Comment migrer (sans urgence)
L'approche maligne : au lieu d'un codemod aveugle qui casse tes personnalisations, shadcn/ui a construit un « skill » pour les agents IA (Claude, Cursor, etc.). Tu demandes à ton agent : "migrate accordion to base-ui", et il :
- ▸Lit la documentation qu'on lui a fournie (chaque renommage, chaque changement de prop)
- ▸Détecte ce que tu as modifié dans tes composants
- ▸Applique les changements sans écraser tes variantes perso
- ▸Produit un rapport par composant (
.migration/accordion.md) avec ce qui a changé, ce qui a été laissé intact, et ce à vérifier à la main - ▸Crée un commit par composant sur une branche — tu peux revenir en arrière en supprimant la branche
Ils ont testé sur de vrais projets : 60+ composants, 36 sur Radix, migration complète en ~25 minutes. Code compilé, personnalisations intactes.
Les nouveaux composants chat
En parallèle, shadcn/ui a sorti une première vague de composants pour les interfaces de discussion : MessageScroller, Message, Bubble, Attachment, Marker. L'idée : abstraire les pièges (défilement ancré sur les messages en streaming, historique préchargé, jump-to-message, visibilité) sans te dicter comment structurer l'IA ou la persistance.
Ils ajoutent aussi deux utilitaires CSS : scroll-fade (fondu sur les bords du défilement pour suggérer qu'il y a du contenu) et shimmer (texte scintillant pour les statuts en direct).
À retenir
C'est pas un bouleversement. C'est un mouvement malin : les fondateurs voient que Base UI est plus mature, les utilisateurs le préfèrent déjà, donc ils le mettent en défaut. Radix reste disponible. Et si tu veux bouger, tu as un chemin progressif, composant par composant, sans risque.
Et concrètement pour toi ?
Choisis ton profil — la lecture de l'article change selon qui tu es.
Pour toi, retenons que c'est un non-événement rassuring : même quand une techno bascule de défaut, l'ancienne reste vivante et il n'y a pas d'obsolescence forcée. C'est comme ça qu'on devrait traiter les migrations : progressif, optionnel, sans drame.
Essayer maintenant
Initialiser un projet shadcn avec Base UI →Source
Pour aller plus loin
Cet article t'a donné envie d'approfondir ? Deux formations Noésis t'attendent :