GitHub design system.
GitHub design system — Piattaforma incentrata sul codice. Alta densità funzionale, precisione blu su bianco, fondamenti Primer.
Guardalo in contesto
Gli stessi design token applicati a diversi tipi di artefatto — un sito web, un’app, una slide, un poster. Mock originali ri-vestiti con questo sistema, non screenshot.
it
real.
Design token
56 token conformi al token contract di Open Design — gli stessi valori strutturati di palette, tipografia, spaziatura e motion che il tuo agent legge per applicare il tema a qualsiasi artefatto.
Superficie
-
--bg#ffffff -
--surface#f6f8fa -
--surface-warmvar(--surface)
Testo
-
--fg#1f2328 -
--fg-2#1f2328 -
--muted#656d76 -
--meta#656d76
Bordo
-
--border#d0d7de -
--border-soft#d8dee4
Accento
-
--accent#0969da -
--accent-on#ffffff -
--accent-hover#0550ae -
--accent-activecolor-mix(in oklab, var(--accent), black 14%)
Semantico
-
--success#1a7f37 -
--warn#9a6700 -
--danger#cf222e
Tipografia
-
--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-monoui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace
Scala tipografica
-
--text-xs12px -
--text-sm14px -
--text-base14px -
--text-lg16px -
--text-xl20px -
--text-2xl24px -
--text-3xl28px -
--text-4xl32px -
--leading-body1.5 -
--leading-tight1.25 -
--tracking-display-0.01em
Spaziatura
-
--space-14px -
--space-28px -
--space-312px -
--space-416px -
--space-520px -
--space-624px -
--space-832px -
--space-1248px -
--section-y-desktop64px -
--section-y-tablet48px -
--section-y-phone32px
Raggio
-
--radius-sm6px -
--radius-md6px -
--radius-lg12px -
--radius-pill9999px
Elevazione
-
--elev-flatnone -
--elev-ring0 0 0 1px var(--border) -
--elev-raised0 1px 3px rgba(31, 35, 40, 0.12), 0 8px 24px rgba(66, 74, 83, 0.12)
Focus
-
--focus-ring0 0 0 3px rgba(9, 105, 218, 0.3)
Motion
-
--motion-fast80ms -
--motion-base200ms -
--ease-standardease-out
Layout
-
--container-max1280px -
--container-gutter-desktop24px -
--container-gutter-tablet16px -
--container-gutter-phone16px
Design System Inspired by GitHub
Category: Strumenti per sviluppatori Piattaforma orientata al codice. Densità funzionale, precisione blu su bianco, fondamenta Primer.
1. Tema Visivo e Atmosfera
La superficie di GitHub è ingegnerizzata, non decorata. Ogni pixel dichiara una posizione: questo è uno strumento per chi si preoccupa di diff, build e pull request. Lo sfondo della pagina è un pulito #ffffff (tema chiaro) o #0d1117 (tema scuro), con i contenuti disposti su riquadri rettangolari densi separati da bordi sottilissimi anziché dallo spazio negativo. La densità delle informazioni è il marchio — righe di elenco, righe di codice, intestazioni dei repository e schede delle notifiche sono tutte ravvicinate, così un utente esperto può scorrere centinaia di elementi senza scorrerli tutti.
Gli accenti caratteristici sono il blu Primer (#0969da) per i link e le azioni primarie, e il verde GitHub (#1a7f37) per gli stati di unione, il successo e il pulsante di merge stesso. Entrambi appaiono leggermente smorzati rispetto ai blu e verdi dei prodotti consumer — sufficientemente saturi da distinguersi sul testo grigio denso, abbastanza contenuti da scomparire nello sfondo quando più elementi appaiono nello stesso viewport.
La tipografia usa lo stack system-ui in tutto il prodotto, così il testo si renderizza nitidamente su ogni sistema operativo, abbinato a SFMono / Menlo / Consolas per il codice. Non esiste un carattere editoriale display; la voce di GitHub è la voce del sistema su cui ti trovi già.
Caratteristiche Principali:
- Tela bianca pura (
#ffffff) o nero-blu profondo (#0d1117) — nessun calore, nessuna tinta - Bordi grigi sottilissimi (
#d0d7de) definiscono ogni riquadro e pannello - Blu Primer (
#0969da) per link/primario; verde GitHub (#1a7f37) per successo/merge - system-ui per la prosa; SFMono per il codice — nessun carattere personalizzato
- Righe di elenco dense con spaziatura minima; lo spazio bianco è raro
- Iconografia Octicon a 16px / 24px — tratto singolo, geometrica, coerente
- Badge di stato a forma di pillola con semantica cromatica forte
2. Palette Colori e Ruoli
Primario
- Canvas Default (
#ffffff): Sfondo principale della pagina, tema chiaro. - Canvas Subtle (
#f6f8fa): Superficie secondaria, barra laterale, sfondo degli input, striscia dell’intestazione. - Canvas Inset (
#eaeef2): Sfondo dei blocchi di codice, superficie incassata in profondità. - Fg Default (
#1f2328): Testo primario, titoli, inchiostro. - Fg Muted (
#656d76): Testo secondario, didascalie, percorsi dei file.
Accento del Brand
- Primer Blue (
#0969da): Link, CTA primarie, base dell’anello di focus — il colore interattivo universale. - Primer Blue Hover (
#0550ae): Hover/pressione per il blu primario. - Accent Subtle (
#ddf4ff): Superficie blu tenue per callout, banner informativi.
Semantico
- Success / Merge Green (
#1a7f37): PR unite, badge di successo, pulsante di merge. - Success Subtle (
#dafbe1): Tinta superficie di successo. - Open Green (
#1a7f37): Stato “Aperto” di issue/PR. - Closed / Danger Red (
#cf222e): PR chiuse, azione distruttiva, errore di validazione. - Danger Subtle (
#ffebe9): Superficie del banner di errore. - Attention / Warning Yellow (
#9a6700): Testo di avviso su superficie ambrata. - Attention Subtle (
#fff8c5): Superficie del banner di avviso. - Done Purple (
#8250df): Unito e archiviato, stato “fatto”, badge premium. - Sponsor Pink (
#bf3989): Cuore degli sponsor, brand di GitHub Sponsors.
Bordo e Divisore
- Border Default (
#d0d7de): Bordo sottile standard, contorno del pannello. - Border Muted (
#d8dee4): Divisori interni all’interno di un pannello. - Border Subtle (
#eaeef2): Divisori tenue tra le righe della tabella.
Tema Scuro
- Dark Canvas (
#0d1117): Sfondo della pagina scura. - Dark Surface (
#161b22): Barra laterale, intestazione, superficie secondaria. - Dark Border (
#30363d): Bordo standard in modalità scura. - Dark Fg (
#e6edf3): Testo primario su sfondo scuro.
3. Regole Tipografiche
Famiglia di Caratteri
- Body / UI:
-apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif - Code / Mono:
ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace - Emoji:
"Apple Color Emoji", "Segoe UI Emoji"
Gerarchia
| Ruolo | Carattere | Dimensione | Peso | Altezza Riga | Spaziatura Lettere | Note |
|---|---|---|---|---|---|---|
| Display | system-ui | 32px (2rem) | 600 | 1.25 | -0.01em | Intestazione repository, hero marketing |
| H1 | system-ui | 24px (1.5rem) | 600 | 1.25 | normal | Titolo della pagina |
| H2 | system-ui | 20px (1.25rem) | 600 | 1.25 | normal | Titolo di sezione |
| H3 | system-ui | 16px (1rem) | 600 | 1.25 | normal | Sottosezione, intestazione del pannello |
| Body | system-ui | 14px (0.875rem) | 400 | 1.5 | normal | Dimensione testo predefinita — non 16px |
| Body Small | system-ui | 12px (0.75rem) | 400 | 1.4 | normal | Didascalie, metadati dei file |
| Code | SFMono | 12px (0.75rem) | 400 | 1.45 | normal | Blocchi di codice, diff |
| Code Inline | SFMono | 0.85em | 400 | inherit | normal | Span code inline |
Principi
- Body a 14px, non 16px: La densità della prosa di GitHub è la sua identità. Il prodotto si legge a 14px per far rientrare più righe in un viewport.
- Peso binario: 400 per tutto di default; 600 per i titoli e l’enfasi. Nessun 500, nessun 700.
- Sempre font di sistema: non caricare mai un webfont per il chrome — il testo deve renderizzarsi istantaneamente su connessioni lente.
4. Stili dei Componenti
Pulsanti
Primario (Verde)
- Background:
#1f883d - Testo:
#ffffff - Bordo: 1px solid
rgba(31, 35, 40, 0.15) - Padding: 5px 16px
- Radius: 6px
- Shadow:
0 1px 0 rgba(31,35,40,0.1) - Hover: background
#1a7f37 - Utilizzo: “Crea repository”, “Unisci pull request”
Default
- Background:
#f6f8fa - Testo:
#1f2328 - Bordo: 1px solid
#d0d7de - Padding: 5px 16px
- Radius: 6px
- Hover: background
#f3f4f6, bordo#d0d7de
Outline (Stile Link Blu)
- Background:
#ffffff - Testo:
#0969da - Bordo: 1px solid
#d0d7de - Hover: background
#0969da, testo#ffffff
Danger
- Background:
#ffffff - Testo:
#cf222e - Bordo: 1px solid
#d0d7de - Hover: background
#a40e26, testo#ffffff, bordo#a40e26
Card / Box
- Background:
#ffffff - Bordo: 1px solid
#d0d7de - Radius: 6px
- Padding: 16px (intestazione) + 16px (corpo)
- L’intestazione ha una striscia
#f6f8facon bordo inferiore.
Input
- Background:
#ffffff - Bordo: 1px solid
#d0d7de - Radius: 6px
- Padding: 5px 12px
- Focus: bordo
#0969da, anello0 0 0 3px rgba(9,105,218,0.3)
Pillole di Stato (Issue / PR)
- Aperto: background
#1a7f37, testo bianco, padding 4px 10px, radius 9999px. - Chiuso: background
#cf222e, testo bianco. - Unito: background
#8250df, testo bianco. - Bozza: background
#6e7781, testo bianco.
Etichette (Tag su Issue/PR)
- Padding: 0 7px
- Radius: 9999px
- Font: 12px / 500
- Background e testo sono programmatici (colore etichetta → testo calcolato per contrasto).
5. Spaziatura e Layout
- Unità base: 4px. Scala di spaziatura: 4, 8, 12, 16, 24, 32, 40, 48.
- Larghezza massima della pagina: 1280px (
Container-xl). - Barra laterale: 296px su desktop, si riduce sotto 1012px.
- Padding delle righe: 16px orizzontale, 12px verticale (le liste sono dense per design).
6. Movimento
- Durata: 80ms per l’hover; 200ms per l’apertura di menu/popover.
- Easing:
ease-outper le aperture,ease-inper le chiusure. - Evitato: animazione al caricamento della pagina, parallax, micro-interazioni persistenti. Le cose appaiono; non eseguono.
7. Linee Guida d’Uso
- Mantenere insieme le liste dense, i box con bordo e la tipografia di sistema; i pulsanti verdi isolati non bastano a creare una superficie prodotto simile a GitHub.
- Usare il verde per le azioni costruttive del repository, il blu per i link e il focus, e rosso/viola/grigio solo per gli stati di issue, PR e workflow.
- Preferire un chrome discreto, bordi espliciti e spaziatura compatta rispetto a ombre decorative o card di grandi dimensioni in stile marketing.
Tag
design-systemfirst-partydesigndeveloper-tools