DESIGN.md: A format spec for describing visual identity to coding agents

Google Labs released DESIGN.md, a format specification for describing a visual identity to coding agents. The file combines machine-readable design tokens (YAML front matter) with human-readable design rationale (markdown prose). Tokens give agents exact values; prose explains why those values exist and how to apply them.
Format Overview
A DESIGN.md file has two layers delimited by --- fences at the top: YAML front matter for tokens and a markdown body with ## sections. Example excerpt:
---
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"The tokens are the normative values. Prose provides context for application.
Key Features
- Token types: Colors (hex sRGB), Typography objects (fontFamily, fontSize, fontWeight, lineHeight, letterSpacing, fontFeature, fontVariation), Dimensions (number+unit), Token references (
{path.to.token}). - Components: Map a name to sub-token properties, e.g.
components.button-primary.backgroundColor: "{colors.tertiary}". - Section order (optional but enforced): Overview, Colors, Typography, Layout & Spacing, Elevation & Depth, Shapes, Components, Do's and Don'ts.
CLI Tools
Validate a DESIGN.md with the 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 }
}Detect regressions between versions:
npx @google/design.md diff DESIGN.md DESIGN-v2.md
{
"tokens": {
"colors": {
"added": ["accent"],
"removed": [],
"modified": ["tertiary"]
},
"typography": { "added": [], "removed": [], "modified": [] }
},
"regression": false
}Use Case
An agent reading the Heritage example will produce a UI with deep ink headlines in Public Sans, a warm limestone background (#F7F5F2), and Boston Clay (#B8422E) call-to-action buttons — all from a single file.
📖 Read the full source: HN AI Agents
👀 See Also

Browser Harness: Giving LLMs raw CDP access to self-correct browser tasks
Browser Harness strips away browser frameworks, giving LLMs direct CDP websocket access and letting them write missing tools mid-task. Demonstrated by self-inventing an upload_file() function.

Custom WhatsApp Channel Plugin for Claude Code Using Baileys
A developer built a custom channel plugin that adds WhatsApp support to Claude Code 2.1.80+ using Baileys v7, implementing the WhatsApp Web Multi-Device protocol as an MCP server with the experimental claude/channel capability.

Memctl: Open Source MCP Server for Persistent Memory in AI Coding Agents
Memctl is an open source MCP server that provides AI coding agents with persistent memory across sessions, machines, and IDEs. Built primarily with Claude Code in two weeks, it stores project context and serves it back in subsequent sessions.

Atlarix v5.1 adds cloud tiers while maintaining local AI coding support
Atlarix v5.1.0 introduces Compass cloud tiers for immediate use while maintaining full Ollama and LM Studio support. The IDE uses a persistent SQLite graph called Blueprint to provide precise context to local models.