Trois outils différents partagent ce nom
Les résultats de recherche pour "Bolt design system" mélangent au moins trois entreprises : bolt.new, le constructeur d'applications IA dont traite ce guide ; Bolt Design System, un système open-source sans lien avec le précédent avec des implémentations React et Twig distinctes ; et Bolt, la société européenne de VTC, qui a publié des articles sur la création de son propre système multiplateforme. Si vous cherchiez l'un de ces deux derniers, utilisez ces liens.
Rôle des design systems natifs de Bolt
Selon la documentation de Bolt, un design system fournit à Bolt un ensemble de règles visuelles (couleurs, typographie, espacements, styles de composants) à suivre lors de la construction. L'avantage annoncé est que Bolt génère du code UI basé sur vos composants réels plutôt que du code temporaire que vous devriez remplacer plus tard.
Il existe deux niveaux, et la différence est importante avant de planifier votre approche :
| Utilisateurs | Possibilités | |
|---|---|---|
| Design systems préchargés | Tous les utilisateurs | Permettent de construire de vrais projets, mais ne peuvent être ni mis à jour ni modifiés |
| Votre propre design system | Forfait Team payant | Compilé à partir de vos sources, synchronisé lors des modifications, utilisé sur tous les projets de l'équipe |
Les systèmes préchargés sont un excellent moyen de constater l'impact d'un système : choisissez-en un, cliquez sur *Try example* et comparez la qualité du résultat avec un prompt simple. En revanche, vous ne pouvez pas les adapter à votre marque car ils sont en lecture seule. Dès que vous avez besoin de votre propre identité visuelle, vous devez choisir entre un forfait Team et le terminal.
Sources de compilation et fonctionnement de la synchronisation
Le modèle de Bolt repose sur la compilation, pas sur l'upload. Sa documentation précise que Bolt compile votre design system à partir de vos propres sources, de votre bibliothèque de composants et de votre site de design system, et que votre design system *est défini par ces sources*. Lorsque les sources changent, vous synchronisez Bolt pour récupérer la dernière version.
C'est un modèle cohérent, mais avec une conséquence que l'on découvre plus tard : le système compilé est un instantané. Entre deux synchronisations, Bolt génère du code à partir d'une version de votre système qui peut ne plus correspondre à ce qui est en production. C'est le problème que les équipes de design system connaissent sous le nom de "token drift" : la source de vérité conçue et la version déployée divergent. Un agent qui génère avec assurance à partir d'une copie obsolète produit du code prêt pour la production sur des bases erronées, et ce, plus rapidement que jamais. Intégrez la synchronisation dans votre checklist de release, pas dans votre backlog de maintenance.
L'hypothèse sous-jacente à toutes ces fonctionnalités
Bolt n'est pas un cas isolé en nécessitant des sources pour la compilation. Nous avons vérifié la documentation actuelle de chaque constructeur IA et agent de code majeur, et la structure est identique pour tous.
| Ce qui est requis de votre part | Restriction liée au forfait | |
|---|---|---|
| Bolt | Votre bibliothèque de composants plus un site de design system pour la compilation | Forfait Team pour ajouter le vôtre |
| Lovable | Une bibliothèque de composants React, sous la forme d'un projet Lovable dédié | Enterprise |
| v0 | Un package npm installable, un repo, Storybook ou une source Figma | Les packages privés nécessitent des variables d'env partagées |
| Claude Design | Votre codebase et vos fichiers de design, lors de l'onboarding | Claude Design (Labs) |
| Cursor | Des règles que vous rédigez vous-même | Aucun |
| Windsurf / Devin Desktop | Rien de natif : fichiers du repo ou serveur MCP | Aucun |
Aucune de ces fonctionnalités ne vous fournit un design system. Chacune d'elles part du principe que vous en possédez déjà un.
Si vous maintenez une bibliothèque de composants et un site de documentation, le compilateur de Bolt est l'outil idéal et vous devriez souscrire au forfait Team. Si votre design system actuel se résume à « ce que Bolt a affiché sur le premier écran », il n'y a rien à compiler, et la suite de cette page est la solution pratique.
L'approche par terminal : fonctionne avec tous les forfaits
Bolt est une WebContainer StackBlitz, ce qui signifie qu'il exécute un véritable environnement Node avec un véritable terminal dans le navigateur. Presque aucun autre outil de cette catégorie ne le fait. Vous pouvez installer des packages, exécuter des générateurs et écrire des fichiers ; ainsi, un design system s'installe exactement comme sur votre machine, sans restriction de forfait ni étape de compilation.
Ambient Sage
Live renderRendered from the kit's actual tokens, fonts, and treatments
Typography
Plus Jakarta Sans
Color system
28 semantic roles, light + dark
Agent outputs
DESIGN.md, CSS, Tailwind, shadcn
Token specimen · real values
Ambient Sage
Live renderAmbient Sage's actual tokens — the same values its exports use.
- 1
Assurez-vous que le projet utilise shadcn/ui
Les starters React + Tailwind de Bolt fonctionnent très bien. Si le projet n'est pas encore initialisé avec shadcn, exécutez d'abord
npx shadcn@latest initdans le terminal de Bolt. - 2
Installer le set de tokens
Exécutez la commande de registry du kit dans le terminal de Bolt. Elle écrit chaque rôle sémantique, en mode clair et sombre, dans votre thème, de sorte que les composants référençant déjà
bg-primaryse repeignent sans nécessiter de modification.npx shadcn add https://identityforge.io/r/ambient-sage.json - 3
Placez le brief dans le repo, pas dans le chat
C'est l'étape que les utilisateurs sautent souvent. La CLI génère un fichier DESIGN.md complet dans le projet, afin que les règles survivent à un nouveau chat, à un rechargement ou au passage de la personne suivante qui ouvrira le projet.
npx --yes identityforge@latest apply ambient-sage - 4
Utilisez le système comme base de prompt
Construisez ensuite normalement, en nommant explicitement la contrainte lors des premières fois.
Build a landing page using only the theme's design tokens and the rules in DESIGN.md. Do not add a new colour or font.
Pourquoi le repo est supérieur à la fenêtre de chat
Copier-coller un DESIGN.md dans le chat fonctionne pour cette conversation précise. Un fichier dans le projet est relu dès que Bolt consulte la codebase, survit à la réduction du contexte lors d'un build long, et vous accompagne si vous exportez le projet vers GitHub pour continuer dans Cursor ou Claude Code. Même contenu, mais une durée de vie bien plus longue.
« Pourquoi ne pas simplement lier le repo du design system? »
Cette question revient systématiquement, et c'est une intuition légitime. Le repo est la source de vérité, il faut donc diriger l'agent vers lui. Deux obstacles se présentent.
Le premier est d'ordre pratique : un dépôt n'est pas un design system sous une forme qu'un agent peut appliquer. C'est un ensemble de milliers de fichiers, dont la plupart sont sans rapport avec une décision de style, avec les règles réelles distribuées entre une config Tailwind, un theme provider, quelques fichiers CSS et la mémoire collective de l'équipe. La compilation existe précisément parce qu'il faut réduire tout cela en tokens, un catalogue de composants et un ensemble de contraintes.
Le second est qu'un repo répond à *ce qui existe* et non à *ce qu'il faut faire*. Il contient un Button avec cinq variantes ; il ne dit pas quelle variante utiliser pour une action destructive, que vous ne devez jamais mettre deux accents sur un écran, ou ce qui se passe en mode sombre sur une surface qui n'a pas encore de variante sombre. Ce sont des jugements qui résident dans la prose ; si personne ne les a consignés, l'agent en fournira ses propres : de manière plausible, mais différemment à chaque fois.
Nous avons échantillonné 299 fichiers DESIGN.md publics pour voir à quelle fréquence ces jugements sont réellement consignés. 76 % ne listent que des préférences et jamais d'interdictions. 69 % ne mentionnent jamais le mode sombre. 86 % donnent des valeurs hex brutes sans rôle sémantique associé, ce qui signifie que la question « quelle est la couleur d'un bouton désactivé » n'a aucune réponse dans le fichier.
L'approche à suivre : liez le dépôt si l'outil le permet, mais rédigez tout de même les règles. Le contenu d'un fichier complet est détaillé dans ce qu'est un DESIGN.md.
Quel format devez-vous fournir ?
Si vous optez pour la voie native et vous demandez s'il faut donner à Bolt un package npm, une structure de dossiers ou un lien vers une documentation, la réponse honnête est que cela dépend de l'outil utilisé, et les outils divergent réellement :
- Bolt compile les informations à partir de votre bibliothèque de composants et de votre site de design system, puis se resynchronise lors de leurs modifications.
- v0 demande un package installable : npm, un
.tgzou un répertoire source avec son proprepackage.json, et en créera un à partir de sources moins structurées si vous n'en avez pas. - Lovable demande des composants React, livrés sous la forme d'un projet Lovable dédié, et les copie dans les dépôts connectés.
- Les agents de code ne veulent ni l'un ni l'autre : ils veulent un fichier de tokens et un brief écrit présents dans le dépôt.
Le seul artefact accepté par ces quatre outils est le duo auquel ils reviennent tous : un ensemble complet de tokens sémantiques et les règles écrites qui l'accompagnent. Produire ces éléments en premier ne vous coûte rien si vous publiez ultérieurement un package, et c'est la seule version qui fonctionne aujourd'hui avec un plan gratuit.
Une URL, l'ensemble des tokens
L'élément du registre à l'adresse https://identityforge.io/r/<slug>.json contient chaque rôle sémantique. Ainsi, Bolt n'improvise jamais les valeurs qu'une palette simple laisse indéfinies : texte atténué, bordures, états de survol (hover) et actifs, anneaux (ring), éléments destructifs, séries de graphiques, et tout cela à nouveau pour le mode sombre. Fournir trois couleurs de marque définit trois valeurs et en laisse environ vingt-cinq en suspens. Voir explication des tokens de couleur sémantiques.
Erreurs courantes
- Laisser le brief dans le chat. Les builds longs tronquent le contexte. Un fichier
DESIGN.mddans le projet n'est pas tronqué. - Supposer qu'un système pré-chargé peut être orienté vers votre marque. Ils sont conçus pour être en lecture seule.
- Ne synchroniser que lorsqu'un élément semble incorrect. À ce stade, Bolt génère du contenu à partir d'un instantané obsolète depuis des semaines.
- Donner des couleurs à Bolt sans rôles. Une palette ne peut pas répondre à la question de l'apparence d'un contrôle désactivé ; Bolt choisit donc lui-même, et différemment à chaque écran.
- Négliger le mode sombre. Ce n'est pas une simple inversion du mode clair, et c'est là que l'improvisation se manifeste en premier.
Installez les tokens et un brief écrit en deux commandes
Chaque kit Identity Forge publie un élément de registre shadcn stable ainsi qu'un DESIGN.md complet : tokens clair et sombre, un appairage de polices réel, des motifs et des interdictions. Les deux s'exécutent dans le terminal de Bolt, et les kits gratuits ne nécessitent aucun compte.
FAQ
Comment donner un design system à Bolt ?
Dans le terminal de Bolt, exécutez npx shadcn add https://identityforge.io/r/<slug>.json pour installer un ensemble complet de tokens sémantiques, puis npx --yes identityforge@latest apply <slug> pour générer un fichier DESIGN.md dans le projet. Bolt construit ensuite chaque écran en s'appuyant sur vos tokens et vos règles. L'alternative native est la fonctionnalité de design system propre à Bolt, laquelle nécessite un forfait Team payant pour ajouter le vôtre.
Ai-je besoin d'un plan payant pour les design systems Bolt ?
Pour la fonctionnalité native de Bolt, l'ajout de votre propre design system nécessite un plan Team payant ; les design systems pré-chargés peuvent être utilisés par tous les utilisateurs mais ne peuvent être ni mis à jour ni modifiés. L'installation de tokens et d'un DESIGN.md via le terminal de Bolt fonctionne avec n'importe quel plan.
Puis-je importer un design system depuis Figma ou Git ?
Bolt compile votre design system à partir de vos propres sources, telles que votre bibliothèque de composants et votre site de design system, et se resynchronise lors de leurs modifications. Ce qu'aucune source ne transfère seule, c'est le jugement écrit : quelle variante utiliser pour une action destructive, ce qu'il ne faut jamais faire, comment se comporte le mode sombre. Ces éléments doivent figurer dans un DESIGN.md aux côtés de tout ce que vous connectez.
Pourquoi ne pas simplement lier le dépôt du design system ?
Un dépôt contient des milliers de fichiers avec des règles distribuées entre une config Tailwind, un theme provider, des fichiers CSS et la mémoire de l'équipe, c'est pourquoi la compilation existe. Plus important encore, un dépôt décrit ce qui existe, pas quoi faire : il possède un composant Button avec cinq variantes, mais ne précise pas laquelle utiliser pour une action destructive. Ce jugement doit être écrit, sinon l'agent fournit le sien.
Quel format dois-je télécharger : un package npm ou un dossier ?
Cela dépend de l'outil. Bolt compile à partir d'une bibliothèque de composants et d'un site de documentation ; v0 demande un package installable ; Lovable demande des composants React sous forme de projet Lovable. L'unique artefact auquel ils reviennent tous est un ensemble complet de tokens sémantiques accompagné de règles écrites, ce qui est également la seule version fonctionnant aujourd'hui avec un plan gratuit.
Puis-je exécuter un CLI à l'intérieur de Bolt ?
Oui. Bolt est un WebContainer StackBlitz avec un véritable terminal ; ainsi, la commande npx --yes identityforge@latest apply <slug> fonctionne et génère le fichier DESIGN.md ainsi qu'un fichier de tokens dans le projet.
Et si le projet n'utilise pas shadcn ?
Exécutez d'abord npx shadcn@latest init, ou collez manuellement les variables CSS exportées du kit dans votre feuille de style globale. Les noms des tokens sémantiques sont identiques dans les deux cas.