GEMINI LABJP
NANOLITE — Nano Banana 2 Lite is here: Google's fastest and most cost-efficient Gemini Image model, made for running lightweight image generation cheaplyOMNIFLASH — Gemini Omni Flash is in public preview, a natively multimodal model that lets enterprises and developers build custom, dynamic video workflowsAGENTS — Managed Agents expand with background: true for async server-side runs and polling, remote MCP server integration, and refreshing credentials across interactionsMEMORY — The Memory Bank IngestEvents API is generally available, decoupling event ingestion from memory generation so you can stream content continuouslyTHROUGHPUT — Provisioned Throughput now lets you submit up to seven pending orders for the same model and regionDEPRECATE — Image generation models shut down on August 17, and the Grok 4.1 family on the Gemini Enterprise Agent Platform on August 20NANOLITE — Nano Banana 2 Lite is here: Google's fastest and most cost-efficient Gemini Image model, made for running lightweight image generation cheaplyOMNIFLASH — Gemini Omni Flash is in public preview, a natively multimodal model that lets enterprises and developers build custom, dynamic video workflowsAGENTS — Managed Agents expand with background: true for async server-side runs and polling, remote MCP server integration, and refreshing credentials across interactionsMEMORY — The Memory Bank IngestEvents API is generally available, decoupling event ingestion from memory generation so you can stream content continuouslyTHROUGHPUT — Provisioned Throughput now lets you submit up to seven pending orders for the same model and regionDEPRECATE — Image generation models shut down on August 17, and the Grok 4.1 family on the Gemini Enterprise Agent Platform on August 20
Articles/Dev Tools
Dev Tools/2026-04-28Beginner

Google's Stitch DESIGN.md Format Goes Open Source — A New Way to Share Design Systems with AI

Google Labs just open-sourced Stitch's DESIGN.md format—a machine-readable specification for design systems. Learn how to use it and why it matters for AI-powered design tools.

Stitch2DESIGN.mdDesign Systems2Open SourceGoogle Labs

Last month, Google Labs released DESIGN.md—an open-source format for describing design systems in a way AI can understand. Until now, communicating design intent to AI was fragmented: screenshots lived in Figma, color specs in code, and typography guidelines in Notion. Consistency was almost impossible to maintain at scale.

DESIGN.md fixes this.

What is DESIGN.md?

DESIGN.md is a Markdown-based specification for design systems. A single file in your project root describes colors, typography, spacing, and component design in a machine-readable format that both humans and AI can parse.

Google Labs' Stitch team uses it to generate UI automatically from text prompts. Instead of describing a button ten times (once for humans, once for AI, once in CSS), you describe it once—and both people and algorithms read the same spec.

The Structure

Here's the basic anatomy:

# Design System
 
## Design Tokens
 
### Colors
```yaml
primary: "#0066FF"
secondary: "#666666"
success: "#00AA44"
warning: "#FF9900"
error: "#CC0000"
neutral-50: "#FAFAFA"
neutral-900: "#111111"

Typography

heading-1:
  font-family: "Roboto"
  font-size: 32px
  font-weight: 700
  line-height: 1.2
 
body:
  font-family: "Roboto"
  font-size: 16px
  font-weight: 400
  line-height: 1.5

Spacing

xs: 4px
sm: 8px
md: 16px
lg: 24px
xl: 32px

Component Specs

Button

Design Intent: Primary entry point for user actions. Visual hierarchy expresses priority.

Variants:

  • Primary: background primary, text white
  • Secondary: background neutral-100, text neutral-900
  • Danger: background error, text white

Properties:

  • Padding: md (vertical), lg (horizontal)
  • Border-radius: 4px
  • Transition: all properties 200ms

Input

Design Intent: Prompt text entry. Clear feedback on focus.

States:

  • Default: border neutral-300
  • Focused: border primary, box-shadow active
  • Error: border error, helper text red

The clever part: **DESIGN.md blends YAML and Markdown**. Design tokens (colors, fonts) are YAML, structured and unambiguous. Component intent and philosophy are natural Markdown, readable and human-friendly.

## The Tooling

Google Labs simultaneously released CLI tools for working with DESIGN.md:

```bash
# Validate the file for structural correctness
design-cli validate ./DESIGN.md

# Export to Tailwind config
design-cli export --format tailwind ./DESIGN.md > tailwind.config.js

# Export to W3C DTCG (Design Tokens Community Group) JSON
design-cli export --format w3c ./DESIGN.md > tokens.json

# Diff two versions for code review
design-cli diff ./DESIGN_old.md ./DESIGN_new.md

This ecosystem eliminates the classic gap between "what the designer intended" and "what the engineer built." Version control via Git is natural.

License and Maturity

DESIGN.md is Apache 2.0 licensed and currently at version 0.9.0 (alpha). It's already deployed internally at Google Labs, so breaking changes are unlikely—but minor updates may come. If you adopt it, pin your version explicitly.

Getting Started: A Minimal Template

To adopt DESIGN.md in your project, start here:

# Our Design System
 
## Design Tokens
 
### Colors
```yaml
primary: "#3B82F6"
secondary: "#8B5CF6"
success: "#10B981"
warning: "#F59E0B"
error: "#EF4444"

Typography

heading-large:
  font-family: "Inter"
  font-size: 24px
  font-weight: 700
 
body:
  font-family: "Inter"
  font-size: 14px
  font-weight: 400

Spacing

xs: 4px
sm: 8px
md: 16px
lg: 24px

Components

Card

Purpose: Group related content, provide visual separation

Appearance:

  • Background: white
  • Border: 1px solid border-color
  • Border-radius: 8px
  • Padding: md
  • Box-shadow: 0 1px 3px rgba(0,0,0,0.1)

Expand from here with your own components. The key: **always capture both intent and implementation**. When an AI reads "Purpose: Group related content," it makes better decisions about where cards belong in a layout.

## Integrating with Gemini and other AI

DESIGN.md shines when paired with generative AI. Here's a Python example using Gemini:

```python
from anthropic import Anthropic

# Read the design system
with open("DESIGN.md", "r") as f:
    design_system = f.read()

client = Anthropic()

# Ask Gemini to generate UI following the design system
message = client.messages.create(
    model="claude-3-5-sonnet-20241022",
    max_tokens=2048,
    messages=[
        {
            "role": "user",
            "content": f"""
Generate an HTML user profile editor that follows this design system exactly.

DESIGN.md:
{design_system}

Requirements:
- Fields: name, email, profile photo
- Buttons: Save (Primary), Cancel (Secondary)
- Responsive layout

Return only HTML and CSS.
"""
        }
    ]
)

print(message.content[0].text)

By feeding DESIGN.md to the AI upfront, generated UI automatically respects your brand. No hand-tweaking, no "close enough" compromises.

Why This Matters

Before DESIGN.md, AI-generated UI had two problems:

  1. Lost Brand Identity: AI generated generic, blank-slate interfaces that didn't feel like your product.
  2. Document Fragmentation: Designers, engineers, and AI consulted different sources. Inconsistencies multiplied.

DESIGN.md creates a single source of truth. Every stakeholder—human and algorithmic—reads the same spec.

Moreover, when Gemini or Grok understands your design system before generating, quality jumps dramatically. The AI doesn't guess; it follows.

Next Steps

To try DESIGN.md, check out the official repository on GitHub. The format isn't tied to any single AI platform—Claude, Gemini, local models, all benefit equally.

The age of design systems that AI can read is here. If your team is tired of manually adjusting AI-generated UI, now's the time to standardize.

Share

Thank You for Reading

Gemini Lab is ad-free, supported entirely by members like you. We publish practical guides daily with implementation code, benchmarks, and production-ready patterns. If you've found it useful, we'd love to have you on board.

  • Copy-paste ready implementation code
  • New advanced guides published daily
  • $5/mo or $10 for lifetime access
View Membership →

If you found this article helpful, a small tip ($1.50) would mean a lot to us. Your support helps keep this site ad-free and covers server and hosting costs.

Related Articles

Dev Tools2026-07-18
I Was Handing Gemini Obfuscated Stack Traces — Until retrace Went In Front, the Diagnoses Were Confident and Wrong
Release stack traces come out of R8 with the names flattened. Feed one to Gemini as-is and the diagnosis arrives calm, well-written, and wrong. Put retrace in front, match the mapping by versionCode, and forbid confident answers when you cannot restore. Numbers from 42 reports.
Dev Tools2026-07-16
I stopped storing every generation log — three retention tiers and a prompt fingerprint that keeps traceability
I was storing every Gemini API request and response body for debugging. Here is how I moved to three retention tiers plus a prompt fingerprint, and kept the ability to diagnose issues without keeping the text.
Dev Tools2026-07-14
Making TTS seams inaudible: prosody continuity and silence boundaries for long-form narration
Splitting a long article by sentence and synthesizing each piece leaves audible seams: prosody resets at every sentence start, clicks appear at PCM joints, and pauses feel uneven. Four layers -- context priming, zero-crossing edge fades, punctuation-aware silence, and an idempotent seam ledger -- make the joins disappear, with full code.
📚RECOMMENDED BOOKS
Build a Large Language Model (From Scratch)
Sebastian Raschka
LLM Dev
Prompt Engineering for LLMs
Berryman & Ziegler
Prompting
AI Engineering
Chip Huyen
AI Eng
* Contains affiliate links
See all →