GitHub Primer Brand Book
Design Blueprint · v1.0 · scanned

The GitHub Primer
design system.

Developer-clear with status colors — the open-source product UI lingua franca.

clearutilitariancalmaccessibleopenfunctional
#1f883d
primary
01

Foundations

Logomark

GitHub Primer

Disk + wordmark. Always pair with at least 8px of clearspace. Use #1f883d background or invert for dark surfaces.

Voice

  • +Clear, opinionated, developer-first
  • +Calm, utilitarian
  • +Color supports — never primary emphasis
  • jargon-as-drama
  • hype
  • FOMO

Design principles

  • Functional tokens, not raw hex.
  • 9 themes via the same token names — never hard-code.
  • Two-color pattern: emphasis (bold action) + muted (subtle background).
  • 4px spacing grid; 8px stack gaps.

Vibe · inspired by GitHub Primer

Reads like documentation that respects you. Mona Sans (open-source) on white, with the famous fg/muted pattern for statuses: every alert is a soft tinted background with matching dark text. Calm utilitarian — color supports meaning, never primary emphasis. The kind of system you can ship to thousands of contributors without anyone arguing about it.

Comparable to: GitHub, GitLab, Sourcehut

02

Color system

Primary scale

border_muted
#4ac26b66
emphasis
#1f883d
fg
#1a7f37
muted
#dafbe1

Neutrals

White
#FFFFFF
Bg
#FFFFFF
Surface
#F7F8FA
Border
#E5E7EB
Muted
#6B7280
Ink
#0F172A

Semantic

Success
#10B981
Warning
#F59E0B
Danger
#EF4444
Info
#60A5FA

Brand accents

Primary
#1f883d
Secondary
#7C3AED
Accent
#10B981
Highlight
#F59E0B
03

Typography

Display · 64 / 0.95 / -0.03 / 800
The design system for GitHub.
H1 · 44 / 1.05 / -0.03 / 700
Build UI at GitHub with Primer Product UI.
H2 · 30 / 1.15 / -0.02 / 700
Create for GitHub using the Brand toolkit.
H3 · 20 / 1.3 / -0.01 / 700
Real-time observability for every layer.
Lead · 18 / 1.55 / 400
A friendly intro paragraph that sits below a hero headline and explains the value in plain language.
Body · 15 / 1.55 / 400
Standard body copy. Most page content sits at this size. Generous line height keeps long passages readable, and the typeface reads as clear.
Caption · 12 / 1.4 / 500 · uppercase
Section label · metadata · table headers
Mono · 13 / 1.5 / 500
// sample

Weights

Light 300 Regular 400 Medium 500 Semibold 600 Bold 700 Extrabold 800
04

Tokens · spacing, radius, shadow

Spacing

1 · 4px
2 · 8px
3 · 12px
4 · 16px
6 · 24px
8 · 32px
12 · 48px
16 · 64px

Radius

2 · sm
6 · md
8 · lg
12 · xl
16 · 2xl
∞ · pill

Shadow

sm
card
lift
05

Components

Buttons · variants

Buttons · sizes

Buttons · with icon

Form controls

This value isn't valid.

Precision

Advanced

Anonymous metrics

Help improve the product.

Slider

200

Total iterations. Use 0 to run unlimited.

Dropdown menus

Closed (trigger)

Open

Account
Profile
Workspace · github-primer
Settings
Keyboard shortcuts ⌘K
Sign out

Badges & tags

Active Pro Done Beta Deprecated New Running Live v1.0.0 github-primer

Avatars

JR
DK
AL
MP
SL
JR
DK
AL
+4
DK

KPI cards

Active users

12,402 ▲ +12.4%

Conversion

3.8% ▲ +0.4 pp

Revenue

$48.2k ▲ +18%

vs. last period

Churn

2.1%

this month

Feature cards

Data tokens

One source of truth: colors, type, spacing, radius, shadow. Generated artifacts derive from a single JSON.

Components

Buttons, inputs, cards, tables, alerts — every recipe keyed to the brand's CSS variables.

Observability

Real-time charts, status, and KPIs. Live data layouts that survive long sessions and dense tables.

Complex card · domain object

Running #github-primer-482

Live deployment · production cluster

Started 14m ago · 7.5k / 12k steps · ETA 9m

Loss

1.04

Throughput

2,412

Memory

14.2 GB

Learning rate

5e-5

62%7,520 / 12,000

Pricing cards

Free

For tinkering and learning.

$0/ month
  • 1 project
  • Community support
  • Open-source core
Most popular

Pro

For serious work.

$49/ month
  • Up to 10 projects
  • Priority support
  • Advanced features

Enterprise

For teams at scale.

Custom
  • Unlimited everything
  • Dedicated success
  • SLA + SSO + audit

Data table

Recent activity

42
ID Name Status Metric Owner Updated
#482production-deploy Running1.04
JR
Jon R.
14m ago
#481data-pipelineDone0.87
DK
Daniel K.
2h ago
#480backfill-2026Paused1.22
AL
Alex L.
5h ago
#479notificationsFailed
MP
Maya P.
1d ago
#478scratchDraft
JR
Jon R.
2d ago
Showing 1–5 of 42

Alerts & banners

Deployment complete.

All checks passed. Live in production after 14m 28s.

Memory approaching limit.

14.2 / 16 GB used. Consider scaling up before the next batch.

Run #479 failed.

CUDA out of memory at step 312. View logs for full stack trace.

New version available.

v1.1.0 dropped today. Drop-in compatible with your current config.

Pro

Unlock unlimited projects, priority support, and the full team workspace.

Tabs

Underline

Pill (segmented)

Chip filter

Modal / dialog

Confirm deployment?

GitHub Primer v1.0 will go live to production. Estimated 14 minutes.

$ github-primer deploy --tag v1.0 --env production

Toasts

Run started

#482 · production cluster

!

Checkpoint saved

step-7000.bin · 2.1 GB

Tooltips

Hover me Tooltip on top
With shortcut Save⌘S
Branded Recommended

Progress & loaders

Linear

Build62%
Download28%
Memory89%

Circular

62%

Processing

7,520 of 12,000

ETA 9m 22s

Skeleton

Code & terminal

main.ts TS
import github from "github-primer"

const result = await github.deploy({
  env: "production",
  tag: "v1.0",
  timeout: 3600,
})

// Deploy in seconds
● ~/github-primer $ zsh
$ github-primer deploy --tag v1.0
  ✓ Validated config (4.0K)
  ✓ Resolved dependencies (24)
  ⚡ Starting deployment…

  step    elapsed  status
  ────    ───────  ──────
  0500    0:14     ✓
  1000    0:28     ✓
  7520    9:22     ← live

Charts

Throughput

requests / sec

7d

Loss

live run

▼ 0.38

Allocation

  • Compute 9.2G
  • Storage 3.2G
  • Network 1.8G

Empty state

No items yet

Kick off your first project to see it appear here. We'll keep you posted as things happen.

Breadcrumbs & pagination

06

Patterns · app shell

Dashboard

Good afternoon, Jon

Active users

12,402

Active

3

Churn

2.1%

Recent activity

07

Usage · do & don't

Do
  • Reference functional tokens, never raw hex.
  • Pair emphasis + muted for status — never use emphasis alone for backgrounds.
  • Use Mona Sans (open-source); SFMono fallback for code (no webfont).
Don't
  • Don't hard-code hex values — Primer ships 9 themes.
  • Don't use color as primary emphasis; type and structure first.
  • Don't mix Brand Toolkit (Hubot Sans display) with Product UI surfaces.

Best for

  • Code collaboration tools, repos, CI/CD dashboards
  • Documentation-heavy products
  • Anything with strong status semantics (open/closed/done/danger)
  • Open-source products where contributor accessibility matters

Avoid for

  • Lifestyle/consumer brands — too utilitarian
  • Children's or playful products
  • Anywhere you want strong visual personality
08

Accessibility

Contrast ratios. WCAG AA target ≥ 4.5 for body text, ≥ 3 for large text or UI components.

Foreground Background Contrast Use
#0F172A#FFFFFF17.85 · AAABody, headings
#6B7280#FFFFFF4.83 · AASecondary text
#1f883d#FFFFFF4.52 · AABrand actions (button bg)
#FFFFFF#1f883d4.52 · AABrand button (text on primary)
#EF4444#FFFFFF3.76 · AA LargeDanger states