核心问题: 我们是否应该采用基于 Markdown 的设计令牌格式,为编程代理提供视觉识别的唯一可信来源?
RepoDaily 采用评分
RepoDaily 将该项目的采用分评为 84/100(强):分数来自文章来源、安装路径、生产风险、差异化、许可证清晰度以及 AI/Agent 适配度。
包含 4 个来源、覆盖 3 类来源;如有 RepoDaily 独有模块,会进一步提高证据分。
检测到 5 个工作流步骤、5 个下一步动作,以及 2 个命令/安装信号。
趋势热度为 +504 stars;如内容中有 release、issue 或维护信号,会提高维护可信度。
采纳风险标记为 medium,并包含 4 条安全说明与 4 条跳过条件。
3 个机会视角、4 个替代方案,以及 0 个类型化模块支撑差异化判断。
文章中包含许可证来源或许可证表述。
文章正文和元数据中检测到 5 个 AI/Agent 相关信号。
项目概览
DESIGN.md 是来自 Google Labs 的开放格式规范和配套 CLI 工具集。它通过将机器可读的设计令牌(YAML 前置元数据)与人类可读的设计理念(Markdown 正文)结合,弥合了设计系统文档与 AI 辅助代码生成之间的鸿沟。令牌为代理提供精确的数值——颜色、字体、间距、圆角半径——而正文则告诉代理这些值存在的理由及如何应用。
项目以 TypeScript Monorepo 形式发布,提供 npm 包(@google/design.md),内置 lint、diff 和 export 命令。你可以将 DESIGN.md 文件与规范进行校验、比较两个版本以检测令牌级别的回归,以及将令牌导出为 Tailwind 配置 JSON、CSS 自定义属性或 W3C 设计令牌格式模块(DTCG)JSON 格式。
规范当前标注为 "alpha" 版本,意味着模式定义和行为可能还会变化。格式定义了八个有序的 Markdown 章节——Overview、Colors、Typography、Layout、Elevation & Depth、Shapes、Components 和 Do's and Don'ts——以及一个组件令牌系统,将命名 UI 元素映射到分组的属性,如 backgroundColor、textColor、rounded 和 padding。
为什么现在变热
- 解决了真实且日益增长的痛点:AI 编程代理在多次迭代后经常偏离品牌设计指南,因为它们没有持久、结构化的设计上下文。
- 将 Markdown 文档的熟悉感与 YAML 令牌的精确性结合——设计师无需学习新工具,代理也不会产生歧义。
- 可直接导出为 Tailwind v3/v4 配置和 W3C DTCG 格式,即时接入现有的前端工作流。
- 由 Google Labs 品牌建设和维护,为格式赋予了可信度和曝光度。
- lint 命令以结构化 JSON 输出 WCAG 对比度检测结果,为代理提供可操作的可达性反馈。
解决什么问题
- AI 编程代理生成的 UI 代码在多次迭代后很少能与项目的设计系统保持一致。
- 设计令牌通常分散在 Figma 导出文件、CSS 变量和文档 Wiki 中——代理无法整体性地读取它们。
- 没有规范性格式,就没有机器可检查的方式来校验设计描述的内部一致性(例如令牌引用是否可解析、对比度是否达标)。
- 为代理版本化管理设计系统变更缺乏标准——当品牌调色板或字体比例演进时,没有标准 diff 工具来捕捉回归。
工作原理
- 编写 DESIGN.md 文件:YAML 前置元数据存储规范性设计令牌(colors、typography、rounded、spacing、components);Markdown 正文存储按有序 ## 章节组织的人类可读设计理念。
- 运行 lint 校验结构正确性,捕捉损坏的令牌引用,检查 WCAG 对比度,并以结构化 JSON 输出检测结果。发现错误时退出码为 1。
- 运行 diff 比较两个 DESIGN.md 版本,报告令牌级别的增加、删除、修改,以及是否发生了回归(后一文件的错误或警告更多)。
- 运行 export 以你选择的构建格式输出令牌:json-tailwind(Tailwind v3 theme.extend)、css-tailwind(Tailwind v4 @theme 块)或 dtcg(W3C 设计令牌格式模块 JSON)。
- 将 DESIGN.md 文件(或导出的令牌)作为持久上下文提供给 AI 编程代理,使其在生成 UI 代码时应用精确的数值和设计理念。
格式规范
- 双层文件:YAML 前置元数据(令牌)+ Markdown 正文(设计理念)。
- 令牌类型:Color(任意 CSS 颜色值)、Dimension(数值 + 单位)、Token Reference({path.to.token})、Typography(包含 fontFamily、fontSize、fontWeight、lineHeight、letterSpacing、fontFeature、fontVariation 的对象)。
- 令牌模式区域:version、name、description、colors、typography、rounded、spacing、components。
- 八个有序 Markdown 章节:Overview、Colors、Typography、Layout、Elevation & Depth、Shapes、Components、Do's and Don'ts。章节可省略,但已存在的章节必须按序出现。
- 组件将名称映射到子令牌属性:backgroundColor、textColor、typography、rounded、padding、size、height、width。变体(hover、active)以关联键名的独立组件条目表示。
- 明确定义了对未知内容的消费行为:未知章节保留不报错,未知令牌名若值有效则接受,重复章节标题会导致错误。
CLI 工具
- 通过 npm install @google/design.md 安装,或直接使用 npx 运行。
- lint 命令:校验 DESIGN.md 文件,以 JSON 输出检测结果,发现错误时退出码为 1。
- diff 命令:比较两个 DESIGN.md 文件,报告令牌变更和回归状态,检测到回归时退出码为 1。
- export 命令:输出 json-tailwind、css-tailwind、tailwind(别名)或 dtcg 格式的令牌。
- spec 命令:输出 DESIGN.md 格式规范,适合将规范上下文注入代理提示词。
- 所有命令接受文件路径或 - 表示标准输入。输出默认为 JSON。
- Windows 注意:在 PowerShell 中使用 designmd 别名替代 design.md,以避免 .md 文件关联冲突。
谁适合关注
适合关注
- 你的团队使用 AI 编程代理(Claude、Copilot、Cursor 等)生成前端代码,且在设计一致性上遇到困难。
- 你维护着一套有明确令牌的设计系统,希望代理能直接消费的机器可读格式。
- 你使用 Tailwind CSS,希望从单一可信来源自动生成主题配置。
- 你需要在设计令牌校验流程中内嵌 WCAG 对比度检查。
可以先跳过
- 你的项目没有 AI 辅助代码生成流程——标准的设计令牌管线(如 Style Dictionary)可能已足够。
- 你需要稳定、有生产保障的格式——规范当前处于 alpha 版本,可能发生变化。
- 你的团队不习惯在 Markdown 文件中使用 YAML 前置元数据,或已有可能与冲突的令牌管线。
- 你需要超越 backgroundColor、textColor、typography、rounded、padding 和 size 属性的深度组件级设计规范。
风险与注意事项
格式设计精良且前景可期,但当前处于 alpha 成熟度,尚无确认的生产环境使用记录。采用价值取决于 AI 代理工具生态是否跟进支持。
- 规范版本明确标注为 "alpha"——模式定义、章节顺序和令牌类型可能变化,尚无长期稳定性保证。
- 核心价值主张依赖于 AI 编程代理实际读取并遵守 DESIGN.md 文件;源文档包中未确认代理层面的支持。
- 组件属性覆盖范围有限(backgroundColor、textColor、typography、rounded、padding、size、height、width)——复杂设计系统可能超出模式容量。
- Windows 用户面临已知的 CLI 命令名冲突,需要使用 designmd 别名作为变通方案。
- 企业级 npm 注册表或镜像可能尚未同步 @google/design.md,导致 ENOVERSIONS 错误。
- CLI 是从公共 npm 注册表安装的 Node.js/TypeScript 工具;在加入 CI 管线前请审查该包。
- lint 和 diff 命令读取本地文件并输出 JSON——源文档包中未描述网络调用或遥测功能。
- export 命令将令牌数据写入标准输出;在提交到代码仓库前请审查生成的文件。
- 贡献代码需要签署 Google CLA 并遵循 Google 开源社区准则。
替代方案比较
| 方案 | 适用场景 | 代价 |
|---|---|---|
Style Dictionary | 你需要一个成熟的、以转换为核心的设计令牌管线来生成平台特定输出,且不需要 AI 代理上下文。 | 免费,开源 |
W3C 设计令牌格式模块(DTCG) | 你希望直接使用新兴的 W3C 标准格式;DESIGN.md 实际上可以导出为 DTCG,因此两者是互补关系。 | 免费,开放标准 |
Figma Tokens / Tokens Studio | 你的设计令牌起源于 Figma,需要可视化令牌管理插件而非基于 Markdown 的规范。 | 提供免费层;团队版为付费方案 |
| 你只需要 Tailwind 主题配置,不需要可移植的、代理可读的设计系统描述。 | 免费,开源 |
这个趋势说明了什么
代理原生的设计文档
DESIGN.md 将自身定位为设计系统文档与 AI 代码生成之间缺失的层级。早期采用的团队可以为任何代理提供一致的品牌上下文,从而减少生成后的设计审查周期。
运行为期两周的冲刺:让代理分别在有和没有 DESIGN.md 文件的情况下生成 UI,然后比较设计 QA 的拒绝率。
设计令牌可移植性枢纽
export 命令使 DESIGN.md 成为一个中心枢纽,可输出 Tailwind JSON、Tailwind CSS 和 DTCG 格式。这使其成为驱动多个下游构建管线的单一可信来源候选方案。
将你现有的令牌集导出为全部三种格式,验证输出是否与当前手动维护的配置一致。
感知可达性的令牌校验
lint 命令以结构化 JSON 输出 WCAG 对比度检测结果,代理可以直接据此行动。这可以集成到 CI 中,阻止破坏可达性阈值的令牌变更。
将 npx @google/design.md lint 添加到 pre-commit 钩子或 CI 步骤中,检查它是否能捕捉到真实的对比度回归。
RepoDaily 判断
DESIGN.md 解决了一个真实且恰逢其时的问题——为 AI 编程代理提供对设计系统的持久、结构化理解。格式简洁,CLI 实用,导出选项可接入实际工作流。主要注意点是 alpha 成熟度:可以采用它来探索和影响格式方向,但在稳定版本发布之前,请将模式定义视为可能变化的状态。