DESIGN.md : Un format de spécification pour décrire l'identité visuelle aux agents de codage

Google Labs a publié DESIGN.md, une spécification de format pour décrire une identité visuelle aux agents de codage. Le fichier combine des jetons de design lisibles par machine (YAML front matter) avec une justification de design lisible par l'homme (prose Markdown). Les jetons donnent aux agents des valeurs exactes ; la prose explique pourquoi ces valeurs existent et comment les appliquer.
Aperçu du format
Un fichier DESIGN.md comporte deux couches délimitées par des balises --- en haut : YAML front matter pour les jetons et un corps Markdown avec des sections ##. Exemple d'extrait :
---
name: "Heritage"
colors:
primary: "#1A1C1E"
secondary: "#6C7278"
tertiary: "#B8422E"
neutral: "#F7F5F2"
typography:
h1:
fontFamily: "Public Sans"
fontSize: "3rem"
body-md:
fontFamily: "Public Sans"
fontSize: "1rem"
label-caps:
fontFamily: "Space Grotesk"
fontSize: "0.75rem"
rounded:
sm: "4px"
md: "8px"
spacing:
sm: "8px"
md: "16px"Les jetons sont les valeurs normatives. La prose fournit le contexte pour l'application.
Fonctionnalités clés
- Types de jetons : Couleurs (hex sRGB), objets Typographie (fontFamily, fontSize, fontWeight, lineHeight, letterSpacing, fontFeature, fontVariation), Dimensions (nombre+unité), Références de jetons (
{path.to.token}). - Composants : Mapper un nom à des propriétés de sous-jetons, par exemple
components.button-primary.backgroundColor: "{colors.tertiary}". - Ordre des sections (optionnel mais appliqué) : Aperçu, Couleurs, Typographie, Disposition & Espacement, Élévation & Profondeur, Formes, Composants, À faire et à ne pas faire.
Outils CLI
Validez un DESIGN.md avec le linter :
npx @google/design.md lint DESIGN.md
{
"findings": [
{
"severity": "warning",
"path": "components.button-primary",
"message": "textColor (#ffffff) on backgroundColor (#1A1C1E) has contrast ratio 15.42:1 — passes WCAG AA."
}
],
"summary": { "errors": 0, "warnings": 1, "info": 1 }
}Détectez les régressions entre versions :
npx @google/design.md diff DESIGN.md DESIGN-v2.md
{
"tokens": {
"colors": {
"added": ["accent"],
"removed": [],
"modified": ["tertiary"]
},
"typography": { "added": [], "removed": [], "modified": [] }
},
"regression": false
}Cas d'utilisation
Un agent lisant l'exemple Heritage produira une interface utilisateur avec des titres en encre profonde en Public Sans, un fond en calcaire chaud (#F7F5F2), et des boutons d'appel à l'action en Boston Clay (#B8422E) — le tout à partir d'un seul fichier.
📖 Lire la source complète : HN AI Agents
👀 See Also

OpenClaw PARA organise automatiquement les fichiers de l'assistant IA.
Un développeur a créé une compétence OpenClaw qui applique la méthode PARA (Projets, Domaines, Ressources, Archives) pour l'organisation des fichiers, triant automatiquement les fichiers dans quatre dossiers structurés au lieu de tout déverser dans le répertoire racine.

Outil Local Visualise les Données de Session de Code Claude
Un script Python lit les données de session de Claude Code stockées localement dans ~/.claude/ et génère une visualisation pilotée par défilement avec des graphiques D3.js montrant l'activité quotidienne, la répartition par projet, l'utilisation des outils et des cartes thermiques du rythme de codage.

Nyx : Harnais de test autonome pour agents IA
Nyx est un harnais de test en boîte noire qui sonde les agents d'IA pour détecter des modes de défaillance comme des bogues logiques, des échecs de raisonnement et des vulnérabilités de sécurité via des conversations adaptatives multi-tours. Il teste en moins de 10 minutes ce que les audits manuels mettent des heures à révéler.

LLM Circuit Finder : Dupliquez 3 couches pour renforcer le raisonnement sans entraînement
Un nouvel outil identifie des 'circuits de raisonnement' dans les modèles de transformateurs - des blocs contigus de 3-4 couches qui agissent comme des unités cognitives indivisibles. Dupliquer ces blocs (couches 12-14 dans Devstral-24B) améliore le raisonnement déductif de 0,22 à 0,76 sur les benchmarks BBH sans modification des poids ni entraînement.