tokens
Compile les tokens en CSS et en configuration Tailwind pour les trois sites, alias historiques compris. Reconstruit ensuite tout le site publié : cet inventaire, la charte, l’identité des profils et l’accueil.
yarn brand:build
Studio
Les valeurs de la charte ne se recopient pas : elles se compilent. Ces 19 outils lisent brand/tokens.json, produisent ce qui est livré, et vérifient ce qui l’est déjà.
Aucune valeur n’est recopiée à la main. brand/tokens.json est la seule source, et ces outils la consomment. Les pages publiées ici sont générées : elles ne peuvent pas décrire une charte différente de celle qui est appliquée.
Compile les tokens en CSS et en configuration Tailwind pour les trois sites, alias historiques compris. Reconstruit ensuite tout le site publié : cet inventaire, la charte, l’identité des profils et l’accueil.
yarn brand:build
sort en code d’erreur
Rejoue la matrice WCAG sur toutes les paires déclarées. Le turquoise et le jaune sont invisibles sur fond clair — 1,6:1 et 1,7:1 — et c’est ici que ça se voit avant la mise en ligne.
yarn brand:check
sort en code d’erreur
Vérifie la casse de NOMIX et de dépistons dans tout ce qui est livré, et qu’aucune capitalisation automatique ne s’applique à un texte qui porte la marque.
yarn brand:lint
Décline les masters en toutes tailles, variantes et fonds. Zone de protection, cadrage carré et jeu d’icônes compris — favicon, apple-touch-icon, PWA, stores, avatar. La charte propose les mêmes exports depuis le navigateur, sous les mêmes noms de fichiers.
yarn brand:logos
Tailwind ne génère que les classes qu’il a vues. Une classe ajoutée au balisage sans reconstruction cesse de marcher en silence : c’est la seule panne de ce dépôt qui ne prévient pas.
Compile une feuille unique par site depuis son balisage, et recopie les polices. Jamais le CDN Tailwind : les sites servent du CSS figé, pas un compilateur.
yarn sites:build
sort en code d’erreur
Vérifie que le CSS committé correspond bien au balisage committé, puis que chaque classe présente dans le HTML a une règle qui la couvre. À lancer avant de rendre la main, toujours.
yarn sites:check
Cartographie ce qu’un token n’atteint pas encore : CSS écrit à la main, valeurs arbitraires, attributs style=. C’est la liste de ce qui reste à ramener dans la charte.
yarn sites:audit
Applique la charte à un balisage existant. Idempotent, et --into travaille sur une copie tant qu’on n’a pas arbitré le résultat.
node studio/bin/migrate-site.mjs <site> [--into <dir>]
De la photo brute au fichier à téléverser. Les originaux vivent hors du dépôt, dans RAW_MEDIA_PATH, et aucun outil ne les modifie.
Planche-contact numérotée, information de source, et export aux formats des canaux. Le cadrage automatique n’est pas un centrage : le script mesure le détail local et fait glisser la fenêtre au bon ratio vers ce qui en porte le plus.
yarn photo planche <dossier>
Compose un visuel fini au format exact d’un canal. Le contraste est mesuré sur ce qu’il y a réellement derrière le texte, pas supposé, et le renfort de voile est trouvé par pas successifs jusqu’à passer le seuil WCAG.
yarn visuel --gabarits
Rend les avatars et couvertures des profils sociaux, vérifie les textes contre les limites de chaque plateforme, et publie la page qui les documente. L’avatar est construit pour le cercle, pas pour le carré.
yarn profils
Rend les en-têtes et les heros à la charte, pour arbitrer avant de toucher aux sites. Support d’arbitrage, jamais un livrable.
yarn brand:mockup
Retouche assistée par modèle, pour ne plus ouvrir GIMP. Le modèle est celui de Gemini ; les originaux ne sont jamais modifiés et tout ce que l’outil produit tombe dans tmp/ai/.
Dépensé depuis le 2026-08-22
1,34 $
9 appels payés · 2 variantes retenues sur 8
Lu dans studio/ai-depenses.json, le registre versionné. yarn ai depenses le détaille ligne par ligne.
yarn ai --estimer
Toute commande qu’on n’a pas déjà jouée passe par --estimer : elle annonce le coût et n’appelle rien. C’est gratuit, c’est le réflexe par défaut.
Pour savoir si une consigne mord sur une photo, --variantes 1 suffit. Les trois variantes servent à choisir une fois qu’on sait que ça marche.
gemini-2.5-flash-image coûte 3,4 fois moins que le Pro. Toute exploration de consigne s’y fait ; on repasse en Pro pour le rendu retenu.
La moitié des échecs vient de la photo, pas de la consigne. Un objet en contre-plongée sur une table pleine cadre ne se détoure pas : lui retirer son support revient à inventer ce qu’il y a dessous.
Chaque résultat est mis en cache sur l’empreinte de la demande. Tout ce qui est local — seuil d’incrustation, contrôles, planches — s’itère gratuitement.
Chaque commande produit N variantes numérotées et une planche-contact. La sélection reste humaine, et les variantes qui échouent aux contrôles partent au rebut au lieu d’être livrées.
Ce qu’on lance une fois, ou une fois par an. Rangé ici pour ne pas encombrer ce qui sert toutes les semaines.
node studio/bin/css-coverage.mjs <site>Chaque classe du HTML a-t-elle une règle dans site.css.
node studio/bin/svg-master.mjs <in> <out>Nettoie un export pdftocairo en master de marque.
node studio/bin/svg-diff.mjs <a> <b>Prouve au pixel qu’un nettoyage n’a rien changé.
python studio/bin/logo-generate.pyRégénère les masters depuis la police. En Python : Node ne lit pas les contours de glyphes.
yarn fonts:fetchRécupère DM Sans et IBM Plex Mono chez Google. Une fois, puis committées.
node screenshot.js <url> [viewport]Capture une page servie en local. --seed écrit dans localStorage pour franchir les portails de consentement.