GitHub дизайн-система.

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

Посмотрите в контексте

Одни и те же дизайн-токены, применённые к разным типам артефактов — сайту, приложению, слайду, постеру. Оригинальные макеты, переоформленные этой системой, а не скриншоты.

Сайт
Слайды
Приложение
Постер

Дизайн-токены

56 токенов, соответствующих контракту токенов Open Design — та же структурированная палитра, шрифты, отступы и значения анимации, которые ваш agent читает, чтобы оформить любой артефакт.

Поверхность

  • --bg #ffffff
  • --surface #f6f8fa
  • --surface-warm var(--surface)

Текст

  • --fg #1f2328
  • --fg-2 #1f2328
  • --muted #656d76
  • --meta #656d76

Границы

  • --border #d0d7de
  • --border-soft #d8dee4

Акцент

  • --accent #0969da
  • --accent-on #ffffff
  • --accent-hover #0550ae
  • --accent-active color-mix(in oklab, var(--accent), black 14%)

Семантика

  • --success #1a7f37
  • --warn #9a6700
  • --danger #cf222e

Типографика

  • --font-display -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji"
  • --font-body -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji"
  • --font-mono ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace

Шкала шрифтов

  • --text-xs 12px
  • --text-sm 14px
  • --text-base 14px
  • --text-lg 16px
  • --text-xl 20px
  • --text-2xl 24px
  • --text-3xl 28px
  • --text-4xl 32px
  • --leading-body 1.5
  • --leading-tight 1.25
  • --tracking-display -0.01em

Отступы

  • --space-1 4px
  • --space-2 8px
  • --space-3 12px
  • --space-4 16px
  • --space-5 20px
  • --space-6 24px
  • --space-8 32px
  • --space-12 48px
  • --section-y-desktop 64px
  • --section-y-tablet 48px
  • --section-y-phone 32px

Скругление

  • --radius-sm 6px
  • --radius-md 6px
  • --radius-lg 12px
  • --radius-pill 9999px

Тени

  • --elev-flat none
  • --elev-ring 0 0 0 1px var(--border)
  • --elev-raised 0 1px 3px rgba(31, 35, 40, 0.12), 0 8px 24px rgba(66, 74, 83, 0.12)

Фокус

  • --focus-ring 0 0 0 3px rgba(9, 105, 218, 0.3)

Анимация

  • --motion-fast 80ms
  • --motion-base 200ms
  • --ease-standard ease-out

Макет

  • --container-max 1280px
  • --container-gutter-desktop 24px
  • --container-gutter-tablet 16px
  • --container-gutter-phone 16px

Дизайн-система, вдохновлённая GitHub

Category: Инструменты разработчика Платформа, ориентированная на код. Функциональная плотность, точность синего на белом, основы Primer.

1. Визуальная тема и атмосфера

Поверхность GitHub спроектирована, а не украшена. Каждый пиксель выражает позицию: это инструмент для людей, которым важны диффы, сборки и pull request’ы. Фон страниц — чистый #ffffff (светлая тема) или #0d1117 (тёмная), а контент размещается на плотных прямоугольных панелях, разделённых тонкими границами, а не отступами. Плотность информации — это бренд: строки списков, строки кода, заголовки репозиториев и карточки уведомлений стоят близко, чтобы опытный пользователь мог просмотреть сотню элементов без прокрутки.

Характерные акценты — синий Primer (#0969da) для ссылок и основных действий и зелёный GitHub (#1a7f37) для состояний слияния, успеха и самой кнопки слияния. Оба цвета выглядят немного приглушёнными по сравнению с синим и зелёным в потребительских продуктах — насыщенными ровно настолько, чтобы читаться на фоне плотного серого текста, и сдержанными настолько, чтобы растворяться в фоне, когда их несколько в одном вьюпорте.

Типографика использует стек system-ui во всём продукте, чтобы текст чётко рендерился в любой ОС; для кода применяется SFMono / Menlo / Consolas. Редакционных декоративных шрифтов нет; голос GitHub — это голос системы, в которой вы уже находитесь.

Ключевые характеристики:

  • Чисто белый холст (#ffffff) или глубокий тёмно-синий/чёрный (#0d1117) — без теплоты, без оттенка
  • Тонкие серые границы (#d0d7de) определяют каждую панель
  • Синий Primer (#0969da) — для ссылок и основных действий; зелёный GitHub (#1a7f37) — для успеха и слияния
  • system-ui — для прозы; SFMono — для кода; никаких пользовательских гарнитур
  • Плотные строки списков с минимальными отступами; пространство используется редко
  • Иконография Octicon 16px / 24px — одноконтурная, геометрическая, последовательная
  • Статусные бейджи в форме таблеток с чёткой цветовой семантикой

2. Цветовая палитра и роли цветов

Основные

  • Canvas Default (#ffffff): основной фон страницы, светлая тема.
  • Canvas Subtle (#f6f8fa): вторичная поверхность, боковая панель, фон полей ввода, полоса заголовка.
  • Canvas Inset (#eaeef2): фон блоков кода, глубоко утопленная поверхность.
  • Fg Default (#1f2328): основной текст, заголовки, шрифт.
  • Fg Muted (#656d76): вторичный текст, подписи, пути к файлам.

Брендовый акцент

  • Primer Blue (#0969da): ссылки, основные CTA, кольцо фокуса — универсальный интерактивный цвет.
  • Primer Blue Hover (#0550ae): наведение/нажатие для основного синего.
  • Accent Subtle (#ddf4ff): мягкая синяя поверхность для подсказок и информационных баннеров.

Семантические

  • Success / Merge Green (#1a7f37): смёрженные PR, бейджи успеха, кнопка слияния.
  • Success Subtle (#dafbe1): оттенок поверхности успеха.
  • Open Green (#1a7f37): состояние «Открыт» для issue/PR.
  • Closed / Danger Red (#cf222e): закрытые PR, деструктивное действие, ошибка валидации.
  • Danger Subtle (#ffebe9): поверхность баннера ошибки.
  • Attention / Warning Yellow (#9a6700): предупредительный текст на янтарной поверхности.
  • Attention Subtle (#fff8c5): поверхность предупредительного баннера.
  • Done Purple (#8250df): смёрженное и архивированное состояние, статус «готово», премиальный бейдж.
  • Sponsor Pink (#bf3989): значок сердца спонсоров, бренд GitHub Sponsors.

Границы и разделители

  • Border Default (#d0d7de): стандартная тонкая граница, контур панели.
  • Border Muted (#d8dee4): внутренние разделители внутри панели.
  • Border Subtle (#eaeef2): едва заметные разделители строк таблицы.

Тёмная тема

  • Dark Canvas (#0d1117): тёмный фон страницы.
  • Dark Surface (#161b22): боковая панель, заголовок, вторичная поверхность.
  • Dark Border (#30363d): стандартная граница тёмного режима.
  • Dark Fg (#e6edf3): основной текст на тёмном фоне.

3. Правила типографики

Семейство шрифтов

  • Основной текст / UI: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif
  • Код / Моно: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace
  • Emoji: "Apple Color Emoji", "Segoe UI Emoji"

Иерархия

РольШрифтРазмерНачертаниеМежстрочный интервалТрекингПримечания
Displaysystem-ui32px (2rem)6001.25-0.01emЗаголовок репозитория, маркетинговый герой
H1system-ui24px (1.5rem)6001.25normalЗаголовок страницы
H2system-ui20px (1.25rem)6001.25normalЗаголовок раздела
H3system-ui16px (1rem)6001.25normalПодраздел, заголовок панели
Bodysystem-ui14px (0.875rem)4001.5normalСтандартный размер текста — не 16px
Body Smallsystem-ui12px (0.75rem)4001.4normalПодписи, метаданные файлов
CodeSFMono12px (0.75rem)4001.45normalБлоки кода, diff
Code InlineSFMono0.85em400inheritnormalВстроенные фрагменты code

Принципы

  • 14px для основного текста, не 16px: плотность прозы GitHub — его идентичность. Продукт читается при 14px, чтобы вместить больше строк в область просмотра.
  • Два варианта начертания: 400 для всего по умолчанию; 600 для заголовков и акцентов. Ни 500, ни 700.
  • Системные шрифты всегда: никогда не загружайте веб-шрифты для интерфейса — текст должен рендериться мгновенно при медленном соединении.

4. Стили компонентов

Кнопки

Основная (зелёная)

  • Фон: #1f883d
  • Текст: #ffffff
  • Граница: 1px solid rgba(31, 35, 40, 0.15)
  • Отступы: 5px 16px
  • Скругление: 6px
  • Тень: 0 1px 0 rgba(31,35,40,0.1)
  • Наведение: фон #1a7f37
  • Использование: «Create repository», «Merge pull request»

По умолчанию

  • Фон: #f6f8fa
  • Текст: #1f2328
  • Граница: 1px solid #d0d7de
  • Отступы: 5px 16px
  • Скругление: 6px
  • Наведение: фон #f3f4f6, граница #d0d7de

Контурная (стиль синей ссылки)

  • Фон: #ffffff
  • Текст: #0969da
  • Граница: 1px solid #d0d7de
  • Наведение: фон #0969da, текст #ffffff

Опасная

  • Фон: #ffffff
  • Текст: #cf222e
  • Граница: 1px solid #d0d7de
  • Наведение: фон #a40e26, текст #ffffff, граница #a40e26

Карточки / блоки

  • Фон: #ffffff
  • Граница: 1px solid #d0d7de
  • Скругление: 6px
  • Отступы: 16px (заголовок) + 16px (тело)
  • Заголовок имеет полосу #f6f8fa с нижней границей.

Поля ввода

  • Фон: #ffffff
  • Граница: 1px solid #d0d7de
  • Скругление: 6px
  • Отступы: 5px 12px
  • Фокус: граница #0969da, кольцо 0 0 0 3px rgba(9,105,218,0.3)

Статусные таблетки (Issue / PR)

  • Открыт: фон #1a7f37, белый текст, отступы 4px 10px, скругление 9999px.
  • Закрыт: фон #cf222e, белый текст.
  • Смёрджен: фон #8250df, белый текст.
  • Черновик: фон #6e7781, белый текст.

Метки (теги на Issue/PR)

  • Отступы: 0 7px
  • Скругление: 9999px
  • Шрифт: 12px / 500
  • Фон и текст задаются программно (цвет метки → цвет текста вычисляется для контрастности).

5. Отступы и компоновка

  • Базовая единица: 4px. Шкала отступов: 4, 8, 12, 16, 24, 32, 40, 48.
  • Максимальная ширина страницы: 1280px (Container-xl).
  • Боковая панель: 296px на десктопе, сворачивается ниже 1012px.
  • Отступы строки: 16px по горизонтали, 12px по вертикали (списки намеренно плотные).

6. Движение

  • Длительность: 80ms для наведения; 200ms для открытия меню/поповера.
  • Easing: ease-out для открытия, ease-in для закрытия.
  • Избегать: анимаций при загрузке страницы, параллакса, постоянных микровзаимодействий. Элементы появляются — но не выступают.

7. Ограничения использования

  • Используйте плотные списки, обрамлённые блоки и системную типографику вместе; изолированные зелёные кнопки сами по себе не создают поверхность, похожую на GitHub.
  • Применяйте зелёный для конструктивных действий с репозиторием, синий — для ссылок и фокуса, красный/фиолетовый/серый — только для состояний issue, PR и рабочих процессов.
  • Отдавайте предпочтение сдержанному оформлению, чётким границам и компактным отступам вместо декоративных теней или крупных маркетинговых карточек.
Режим
design-system
Сцена
design
Поверхность
web
ID манифеста
design-system-github

Теги

  • design-system
  • first-party
  • design
  • developer-tools