Продвинутый

Коллекция DESIGN.md для дизайн-систем и AI-агентов

Алексей Кузнецов
Алексей Кузнецов
Системный администратор5 ноября 2026 г.11 мин чтения

Разбор DESIGN.md популярных брендов. Подключите коллекцию к проекту — coding-агенты сгенерируют UI под вашу дизайн-систему.

Коллекция DESIGN.md для дизайн-систем и AI-агентов

Разбор DESIGN.md популярных брендов. Подключите коллекцию к проекту — coding-агенты сгенерируют UI под вашу дизайн-систему.

awesome-design-md: что внутри подборки

Отбор и анализ DESIGN.md

Когда я начинал собирать коллекцию, первое, с чем столкнулся — отсутствие единого стандарта. Один бренд называет файл DESIGN.md, другой — design-tokens.md, третий вообще хранит гайдлайн в Notion и не выкладывает в открытый доступ. Я отбирал репозитории по трём критериям.

Во-первых, файл должен лежать в корне репозитория или в хорошо видном месте вроде .github/ или docs/. Если дизайн-система спрятана в недрах вики, к ней не подключишь coding-агента без лишних телодвижений.

Во-вторых, DESIGN.md должен описывать не только цвета и отступы, но и принципы компонентов: когда использовать кнопку, а когда выпадающий список, как выглядит состояние загрузки, какие границы у текстового поля. Без этого агент сгенерирует что-то визуально похожее, но логически сломанное.

С практической точки зрения, я проверял, можно ли из файла вытащить дизайн-токены в машинночитаемом виде. JSON, YAML, даже простой блок кода с переменными — подойдёт. Если токены описаны только словами «основной цвет — синий», агент не поймёт, какой именно оттенок использовать.

Вот пример того, что я считаю минимально приемлемым DESIGN.md:

markdown
# DESIGN.md

## Colors
- primary: #0066cc
- secondary: #6c757d
- success: #28a745
- danger: #dc3545

## Typography
- font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif
- font-size-base: 16px
- line-height-base: 1.5

## Components
### Button
- padding: 8px 16px
- border-radius: 4px
- font-weight: 600
- states: default, hover, active, disabled

Если мы посмотрим на репозитории крупных компаний, там обычно добавляют секции про иконографию, анимацию, адаптивность и правила доступа. Это уже бонус, но без базового набора выше коллекция теряет смысл.

Анализ каждого файла занимал от получаса до пары часов. Я не просто копировал ссылки — прогонял DESIGN.md через локальный LLM, проверял, сгенерирует ли он адекватный React-компонент. Если нет — файл не попадал в подборку.

Подробнее о том, как я разбирал популярные дизайн-системы, читайте в материале Анализ DESIGN.md файлов популярных дизайн-систем.

Популярные бренды в коллекции

В коллекции сейчас около сорока DESIGN.md от компаний разного масштаба — от стартапов до корпораций с тысячами сотрудников. Ниже те, которые чаще всего попадаются в запросах и которые я рекомендую смотреть в первую очередь.

Stripe. Их DESIGN.md — один из самых структурированных. Описаны не только токены, но и принципы работы с формами, таблицами, уведомлениями. Есть отдельная секция про микротексты и тон общения, что редкость для технической документации.

GitHub. Primer — их дизайн-система — задокументирована в нескольких файлах, но главный DESIGN.md содержит базовые токены и правила компонентов. Полезно тем, кто строит интерфейсы для разработчиков: там уже учтены специфические паттерны вроде пул-реквестов и коммитов.

Shopify. Polaris — дизайн-система для интернет-магазинов. В DESIGN.md много внимания уделено comercio-специфичным компонентам: карточкам товаров, фильтрам, оформлению заказа. Если делаете что-то для e-commerce — смотрите сюда.

Atlassian. Их DESIGN.md описывает компоненты для корпоративного софта: доски задач, таблицы с большим количеством строк, сложные фильтры. Хороший пример для B2B-продуктов.

Linear. Современный, минималистичный подход. DESIGN.md короткий, но в нём чётко прописаны границы компонентов и правила их комбинирования. Подходит для команд, которые хотят быстро развернуть дизайн-систему без избыточной бюрократии.

Каждый бренд в коллекции имеет свою страницу с разбором: какие секции есть в DESIGN.md, какие токены можно извлечь, какие компоненты описываются. Ссылки на оригинальные репозитории я собирал в отдельном файле — можно склонировать всю коллекцию одной командой:

bash
git clone https://github.com/awesome-design-md/collection.git
cd collection
ls brands/

Вывод будет выглядеть примерно так:

atlassian/
github/
linear/
shopify/
stripe/

Если вам нужно подключить коллекцию к своему проекту, проще всего скопировать нужные DESIGN.md в папку .design/ и указать путь в конфиге coding-агента. Пример для одного из популярных агентов:

json
{
  "designSystem": {
    "path": "./.design/stripe/DESIGN.md",
    "tokensFormat": "css-variables",
    "componentLibrary": "react"
  }
}

С практической точки зрения, я рекомендую начинать с одного бренда, чья эстетика близка к вашему продукту. Попытка сразу объединить несколько дизайн-систем обычно приводит к конфликту токенов и компонентов, которые не дружат друг с другом.

Предсказуемость результата зависит от качества исходного DESIGN.md. Если в файле не описаны состояния компонентов, агент угадает их на свой лад — и получится не то, что вы ожидали.

Подробнее о подборке читайте в материале awesome-design-md: DESIGN.md для дизайн-систем, а о том, как подключить DESIGN.md к генерации UI — в руководстве Использование DESIGN.md для генерации UI.

Как подключить DESIGN.md к своему проекту

Как подключить DESIGN.md к своему проекту

DESIGN.md работает как источник истины для coding-агента. Если агент не видит гайдлайн, он генерирует компонент «по вкусу» — цвета, отступы и шрифты уезжают от макета. Когда файл лежит в репозитории и написан предсказуемо, сгенерированный UI уже близок к итоговому варианту.

Формат файла для coding-агента

Во-первых, файл должен называться DESIGN.md и лежать в корне репозитория. Агенты ищут его по имени, а не сканируют содержимое всех markdown-файлов.

С практической точки зрения, структура должна быть плоской. Я пишу конфиги руками, даже если есть GUI, потому что знаю, где лежит конфиг. Для DESIGN.md правило то же: лучше простой markdown, чем глубокая вложенность, которую агент прочитает неправильно.

Пример минимального файла:

markdown
---
name: "Acme Design System"
version: "1.2.0"
---

# Acme Design System

## Цвета

- primary: `#0066cc`
- secondary: `#666666`
- background: `#ffffff`

## Типографика

- font-family: `Inter, sans-serif`
- h1: `32px / 40px, 600`
- body: `16px / 24px, 400`

## Компоненты

### Button

- padding: `8px 16px`
- border-radius: `6px`
- font-size: `14px`

Если токены уже вынесены в JSON, не дублируйте их в markdown. Ссылнитесь на файл:

markdown
## Токены

Полный список: `./tokens/design.tokens.json`

Чем меньше абстракций между DESIGN.md и кодом, тем выше вероятность, что сгенерированный компонент совпадёт с макетом.

Работа с Claude Code и другими агентами

Claude Code ищет инструкции проекта в CLAUDE.md в корне репозитория. Чтобы агент учитывал DESIGN.md, добавьте ссылку на него туда:

markdown
# CLAUDE.md

## Контекст

Дизайн-система описана в `DESIGN.md`. При генерации или изменении UI следуйте токенам и спецификации компонентов из этого файла. Не придумывайте цвета и отступы самостоятельно.

Для Cursor используйте .cursorrules, для GitHub Copilot — copilot-instructions.md. Суть не меняется: агент должен знать, где лежит источник истины по дизайну.

Если подключаете готовую коллекцию DESIGN.md от популярных брендов, скопируйте нужный файл в свой репозиторий и адаптируйте под свои токены. После этого проверьте, что агент видит файл: попросите сгенерировать простую кнопку и сравните результат с гайдлайном. Если отступы не совпадают — уточните секцию компонентов в DESIGN.md, а не правилайте промпт агента.

Более подробно про генерацию UI по гайдлайну бренда читайте в материале DESIGN.md для ИИ-агентов: генерация UI по гайдлайну бренда, а про коллекцию готовых файлов — в awesome-design-md: DESIGN.md для дизайн-систем.

Ограничения метода и границы применимости

Ограничения метода и границы применимости

Когда DESIGN.md недостаточно

DESIGN.md — мощный инструмент для фиксации UI-паттернов и дизайн-токенов, но он имеет явные границы применения. Метод эффективен для стабильных, измеримых паттернов, но заходит, когда появляются сложные сценарии, которые не покрываются стандартными рекомендациями.

Сложные состояния и мультипликативность

DESIGN.md описывает базовые состояния элементов, но не всегда покрывает комбинации. Например, когда один элемент взаимодействует с несколькими компонентами одновременно (modal + dropdown + tooltip), описание в файле может не отражать все возможные комбинации. Это приводит к дублированию логики и ошибкам при изменении одного паттерна.

yaml
# Пример сложного состояния, не описанного в DESIGN.md
- id: "modal-overlay-with-tooltip"
  type: "combined-state"
  interactions:
    - "close modal"
    - "toggle dropdown inside modal"
    - "show tooltip on hover"
  priority: "high"

Интерактивность и микро-анимации

DESIGN.md обычно фиксирует статические паттерны, но современные UI требуют тонкой настройки анимаций. Векторные анимации в Figma, переходы между состояниями, микро-эффекты при наведении — всё это часто упускается из документации. Это создаёт разрыв между документированным поведением и реальным пользовательским опытом.

json
{
  "animation": "slide-in",
  "duration": "250ms",
  "easing": "cubic-bezier(0.4, 0, 0.2, 1)",
  "trigger": "hover",
  "target": "card",
  "states": ["idle", "active", "error"]
}

Международность и локализация

DESIGN.md обычно пишется на английском и описывает универсальные паттерны. Однако реальные проекты сталкиваются с локализацией: разные языки требуют адаптации текстов, иконок, цветовой палитры. Без явной спецификации это приводит к рассинхрону между дизайн-системой и реальным продуктом.

Интеграция с инструментами и CI

DESIGN.md не описывает, как эти паттерны внедряются в конкретные технологии. При использовании Figma-плагинов, генераторов компонентов или CI-контроллеров отсутствует связь между документированным паттерном и его реализацией. Это порождает рассинхрон: дизайнеры рисуют, разработчики кодят, а результат не соответствует ожиданиям.

Что добавить к анализу дизайн-системы

Для полноценного применения DESIGN.md необходимо расширить анализ до следующих аспектов.

Интерфейсное поведение и ошибки

Дополнительно к DESIGN.md следует включать описание состояний ошибок и граничных случаев. Базовый паттерн «ошибка загрузки» или «нет данных» не всегда описан, что приводит к непредсказуемому поведению интерфейса.

markdown
### Обработка ошибок и граничных состояний

- **Ошибка загрузки**: описание UI при отсутствии ресурсов, поведение при таймауте API
- **Пустой экран**: как выглядит система без данных, какие элементы должны появляться
- **Сбой авторизации**: шаблон ошибки, сохранение контекста сессии
- **Нет доступа**: визуальные индикаторы ограничений, альтернативные пути

Производительность и оптимизация

DESIGN.md не учитывает влияние дизайн-паттернов на производительность. Векторные иконки, сложные градиенты, анимации — всё это влияет на размер бандла и время рендеринга. Необходимо добавить раздел про оптимизацию UI-компонентов.

yaml
# Пример конфига оптимизации
optimization:
  image_size: "32x32"  # минимальный размер иконок
  vector_only: true
  lazy_loading: true
  bundle_size_limit: "150kb"

Тестирование и валидация

Добавление стратегии тестирования для проверки согласованности дизайна. Это включает автоматизированные проверки: что при изменении цвета кнопки все связанные элементы обновляются, какие компоненты работают в разных браузерах.

javascript
// Пример теста консистентности
test('design-tokens update propagates to all components', () => {
  const originalColor = getDesignToken('primary-color');
  updateDesignToken('primary-color', '#3B82F6');
  expect(getComponentColor('button', 'primary')).toBe('#3B82F6');
});

Интеграция с Figma и плагинами

DESIGN.md должен включать инструкции по настройке Figma-плагина, экспорту компонентов и настройке стилизации. Без этого разработчики не могут автоматически подхватывать изменения в дизайн-системе.

json
{
  "figma_plugin": "design-system-export",
  "export_settings": {
    "components": "all",
    "tokens": "all",
    "variants": "size, color, state"
  },
  "ci_integration": "pre-commit hook"
}

Мониторинг и аудит

Для подтверждения, что DESIGN.md работает на практике, следует добавить механизм мониторинга: логирование отклонений от дизайн-стандартов, сбор метрик использования паттернов, периодический аудит соответствия.

markdown
### Мониторинг соответствия

- **Лог отклонений**: отслеживание случаев, когда элементы не соответствуют DESIGN.md
- **Метрики использования**: частотность применения каждого паттерна
- **Частичный аудит**: ежемесячная проверка на наличие устаревших паттернов

Связанные материалы:

Заключение

Заключение

Ожидаемый результат

Коллекция DESIGN.md для дизайн-систем и AI-агентов позволяет автоматически генерировать пользовательские интерфейсы в соответствии с единым брендовым стилем. После интеграции агенты будут создавать UI на основе конфигураций, которые можно подключить к вашему проекту.

Пример интеграции

Агент, настроенный на DESIGN.md коллекции, будет автоматически формировать компоненты в соответствии с правилами дизайна. Например, при генерации экрана настройки для AI-ассистента используется следующая конфигурация:

yaml
design-system:
  tokens:
    color:
      primary:
        - name: "primary-primary"
          value: "#1a73e8"
          usage: "акценты, кнопки"
      secondary:
        - name: "secondary-primary"
          value: "#34a853"
          usage: "успешные действия"
    typography:
      font-family: "Inter, sans-serif"
      heading: "Inter, 24px, 600"
      body: "Inter, 14px, 400"
    spacing:
      base: "4px"
      medium: "16px"
      large: "32px"
  layout:
    grid: "12-column"
    breakpoints:
      mobile: "360px"
      tablet: "768px"
      desktop: "1024px"
  components:
    button:
      variant: "primary"
      size: "medium"
      icon: "✅"
    card:
      shadow: "0 2px 8px rgba(0,0,0,0.1)"
      border-radius: "8px"

Генерация UI с помощью AI-агентов

Благодаря DESIGN.md для ИИ-агентов агенты могут создавать интерфейсы на основе брендовых гайдлайнов. Пример работы:

  1. Агент считывает DESIGN.md коллекцию бренда
  2. Формирует спецификацию компонентов
  3. Генерирует код в соответствии с дизайн-токенами
  4. Проверяет соответствие консистентности через мониторинг

Такая схема позволяет быстро адаптировать UI под новые фичи без ручного редактирования CSS или React-компонентов. DESIGN.md для ИИ-агентов: генерация UI по гайдлайну бренда демонстрирует практический пример.

Коллекция также включает awesome-list — подборку популярных дизайн-систем, которые можно использовать как ссылочный материал. DESIGN.md и генерация UI с помощью ИИ-агентов описывает подходы к интеграции.

Когда подход перестанет работать

Несмотря на эффективность DESIGN.md для генерации UI, существуют сценарии, в которых подход не применим или требует дополнительных усилий:

  • Сложная вариативность бренда — если дизайн-система содержит слишком много уникальных вариаций (несколько тональностей, региональных адаптаций), автоматическая генерация может нарушить целостность. В таких случаях рекомендуется ручное согласование критических элементов.
  • Отсутствие единого источника истины — если DESIGN.md файлы распределены по разным репозиториям или не синхронизированы, агенты могут генерировать несовместимый UI. Необходимо поддерживать единый репозиторий с версионированием анализ DESIGN.md файлов популярных дизайн-систем.
  • Специфические бизнес-решения — когда UI требует нестандартных интеракций, не описанных в design-tokens, автоматическая генерация не сможет их создать. В таких случаях необходимо комбинировать AI-генерируемый базовый UI с ручными адаптациями.
  • Масштабирование на сотни экранов — при проектировании сложных приложений с тысячами компонентов автоматическая генерация без кастомизации может привести к ухудшению UX. Рекомендуется использовать design-system с явными правилами расширения.

Именно поэтому DESIGN.md следует рассматривать как основу, а не как полную замену человеческому дизайнеру. Гибридный подход — генерация базовой структуры с последующим ручным доработкой — обеспечивает баланс между скоростью и качеством.

Поделиться:TelegramX / TwitterVK

Читайте также