DESIGN.md؛ فرمتی که هویت بصری رو به ایجنتهای کدنویس میفهمونه
خلاصهٔ کاملتر
گوگللبز یه فرمت متنباز به اسم DESIGN.md معرفی کرده که هدفش اینه هویت بصری یه محصول رو جوری توصیف کنه که ایجنتهای کدنویس بتونن یه دیزاینسیستم رو پایدار و ساختارمند بفهمن. تو این پروژه اومده که این فایل به ایجنت یه درک ماندگار از سیستم طراحی میده، نه یه توضیح یکبارمصرف.
ایدهی اصلی ترکیب دو لایهست: یه بخش YAML بالای فایل که توکنهای ماشینخوان یعنی رنگ، تایپوگرافی، فاصله و گردی گوشهها رو نگه میداره، و یه بخش Markdown که با نثر انسانی میگه چرا این مقادیر انتخاب شدن و چطور باید به کار برن. توکنها مقدار دقیق رو میدن و نثر هم زمینه و منطقش رو.
یه نمونهی کوچیک از این فرانتمتر این شکلیه:
---
name: Heritage
colors:
primary: "#1A1C1E"
tertiary: "#B8422E"
typography:
h1:
fontFamily: Public Sans
fontSize: 3rem
---ایجنتی که این فایل رو بخونه، یه رابط کاربری با تیترهای پررنگِ Public Sans، پسزمینهی روشن و دکمههای تعاملی با رنگ accent میسازه.
کنارش یه ابزار خط فرمان به اسم @google/design.md هست. با دستور lint میشه فایل رو با اسپک اعتبارسنجی کرد، ارجاعهای شکستهی توکن رو گرفت و نسبت کنتراست رنگها رو با استاندارد دسترسپذیری WCAG سنجید؛ خروجی هم JSON ساختارمنده که خود ایجنت میتونه روش عمل کنه. دستور diff هم دو نسخه از دیزاینسیستم رو مقایسه میکنه تا تغییرات و پسرفتها معلوم بشن.
نویسنده میگه توکنها از فرمت W3C Design Tokens الهام گرفتن و دستور export میتونه اونها رو به فرمتهای دیگه مثل کانفیگ Tailwind نسخهی ۳ و ۴ یا فایل DTCG تبدیل کنه. لینتر هم ۹ قاعده مثل ارجاع شکسته، نبودِ رنگ primary و کنتراست پایین رو چک میکنه.
فعلاً فرمت تو نسخهی alpha هست و اسپک و ابزارش در حال توسعهن، پس ممکنه تغییر کنه. با این حال ایدهش جالبه: بهجای اینکه هر بار برای ایجنت توضیح بدی برند چه شکلیه، یه فایل واحد و نسخهپذیر داری که هم آدم و هم ماشین میخوننش.
نکات کلیدی:
- DESIGN.md یه فرمت متنباز از گوگللبز برای توصیف هویت بصری به ایجنتهای کدنویسه
- ترکیب توکنهای YAML ماشینخوان با توضیح Markdown انسانی
- ابزار خط فرمان @google/design.md برای lint، diff و export
- چککردن کنتراست WCAG و ارجاعهای شکستهی توکن
- خروجی به Tailwind v3/v4 و فرمت استاندارد DTCG
- فعلاً نسخهی alpha و در حال توسعه




