← Gallery

extracted · 41 artefacts

github.com

Live extraction of https://github.com — tokens, emitters, anatomy, icons, voice, motion, MCP server, AGENTS.md, prompt pack and a 13-chapter brand book. Generated with one command.

18colors
Aaf0
vs design-extractor.com

They surface 4 sections per brand (DESIGN.md · Tailwind · CSS · Tokens). designlang ships 41 artefacts for github.com and renders 12+ sections below.

See full comparison ↗
5,128 charsbrand book ↗
---
site: GitHub · Change is constant. GitHub keeps you ahead. · GitHub
url: "https://github.com"
generated_at: "2026-06-12T12:48:14.667Z"
generator: "designlang@12.16.0"
intent: landing
material: material-you
library: bootstrap
tokens:
  colors:
    primary: "#f0f6fc"
    secondary: "#08872b"
    accent: "#1f883d"
    background: "#0d1117"
    foreground: "#f0f6fc"
  typography:
    sans: Mona Sans
    mono: Mona Sans Mono
    base: 16
  spacing:
    base: 2
    scale: "[1, 40, 64, 80, 96, 102, 112, 274, 308, 384]"
  radii:
    sm: 3
    md: 6
    lg: 16
    xl: 24
    full: 48
  shadows:
    sm: "rgb(61, 68, 77) 0px 0px 0px 1px, rgba(1, 4, 9, 0.4) 0px 6px 12px -3px, rgba(1, 4, 9, 0.4) 0px 6px 18px 0px"
---

# Overview

A **landing** page (heuristic confidence 0.61), dressed in **material-you** material (0.45).

Component library appears to be **bootstrap** (0.6).

> "Navigation Menu"

The author writes in a **neutral** voice; headings tend to be **Sentence case** case and **balanced**.

Reading order detected on the source: `cta → feature-grid → hero → nav → hero → cta → testimonials → nav → content → nav → pricing → nav → testimonials → nav → cta → cta → cta → footer → content → nav → nav → nav → nav → nav → nav`.

Source: <https://github.com>.

# Colors

| role | hex | usage |
|---|---|---|
| primary | `#f0f6fc` | 650 |
| secondary | `#08872b` | 2 |
| accent | `#1f883d` | 2 |
| background | `#0d1117` | — |
| foreground | `#f0f6fc` | — |

**Neutrals:** `#ffffff` · `#000000` · `#9198a1` · `#58635b` · `#59636e`

**Total unique colors detected:** 30.

# Typography

**Families**
- `Mona Sans` · 1254 uses
- `Mona Sans VF` · 476 uses
- `Mona Sans Mono` · 17 uses

**Body size:** `16px` / line-height `normal`.

**Heading scale**
| level | size | weight | line-height |
|---|---|---|---|
| h1 | `64px` | `425` | `69.12px` |
| h2 | `48px` | `800` | `48px` |
| h3 | `40px` | `460` | `48px` |
| h4 | `32px` | `600` | `48px` |

# Layout

**Spacing base:** `2px` increments.
**Scale:** `1px` · `40px` · `64px` · `80px` · `96px` · `102px` · `112px` · `274px` · `308px` · `384px`

**Layout primitives:** 64 grid containers · 281 flex containers.

**Breakpoints:** `[object Object]px` · `[object Object]px` · `[object Object]px` · `[object Object]px` · `[object Object]px` · `[object Object]px` · `[object Object]px` · `[object Object]px` · `[object Object]px` · `[object Object]px` · `[object Object]px` · `[object Object]px` · `[object Object]px` · `[object Object]px` · `[object Object]px` · `[object Object]px` · `[object Object]px` · `[object Object]px` · `[object Object]px` · `[object Object]px` · `[object Object]px` · `[object Object]px` · `[object Object]px` · `[object Object]px` · `[object Object]px` · `[object Object]px` · `[object Object]px` · `[object Object]px` · `[object Object]px` · `[object Object]px` · `[object Object]px` · `[object Object]px` · `[object Object]px` · `[object Object]px` · `[object Object]px` · `[object Object]px` · `[object Object]px` · `[object Object]px` · `[object Object]px` · `[object Object]px` · `[object Object]px` · `[object Object]px` · `[object Object]px` · `[object Object]px` · `[object Object]px`

# Elevation and Depth

**Shadow scale**
- `sm` — `rgba(209, 217, 224, 0.25) 0px 0px 0px 1px, rgba(37, 41, 46, 0.04) 0px 6px 12px -3px, rgba(37, 41, 46, 0.12) 0px 6px 18px 0px`
- `sm` — `rgba(209, 217, 224, 0) 0px 0px 0px 1px, rgba(37, 41, 46, 0.24) 0px 40px 80px 0px`
- `sm` — `rgba(255, 255, 255, 0) 0px 0px 0px 1px inset`
- `sm` — `rgb(61, 68, 77) 0px 0px 0px 1px, rgba(1, 4, 9, 0.4) 0px 6px 12px -3px, rgba(1, 4, 9, 0.4) 0px 6px 18px 0px`
- `xs` — `rgba(31, 35, 40, 0.04) 0px 1px 0px 0px inset`
- `xs` — `rgb(209, 217, 224) 0px -1px 0px 0px inset`

**Z-index layers:** 14 · ⚠ 1 issue(s)

# Shapes

**Radius scale**
- `sm` — `3px`
- `md` — `6px`
- `lg` — `12px`
- `lg` — `16px`
- `xl` — `24px`
- `full` — `48px`

# Components

**Detected patterns:** `buttons` · `cards` · `inputs` · `links` · `navigation` · `footer` · `modals` · `dropdowns` · `badges` · `tabs` · `accordions` · `tooltips` · `progressBars` · `switches`

**Anatomy**
| kind | variants | sizes | instances |
|---|---|---|---|
| button | link, secondary | lg, medium | 35 |
| other | — | — | 5 |
| input | — | — | 2 |

# Do's and Don'ts

**Do's**
- Use `sign`, `by`, `read` as the primary verbs in CTAs — these dominate the source.
- Write headings in **Sentence case** case, **balanced** length.
- Address the reader with the pronoun posture **you-only**.
- Stay inside the **material-you** material — match shadow and radius habits.

**Don'ts**
- Don't 9 font weights in use — consider standardizing to 3 (regular, medium, bold).
- Don't 4312 !important rules — prefer specificity over overrides.
- Don't 81% of css is unused — consider purging.
- Don't 32949 duplicate css declarations.

---
_Generated by [designlang](https://github.com/Manavarya09/design-extract) v12.16.0 from <https://github.com>._
_Compatible with the DESIGN.md convention pioneered by [design-extractor.com](https://www.design-extractor.com) — extended with intent, material, voice, anatomy, and library detection._

Typography

Mona Sans
The quick brown fox jumps
display · 56px / 600
The quick brown fox jumps
headline · 36px / 500
The quick brown fox jumps
subhead · 22px / 400
The quick brown fox jumps
body · 16px / 400
The quick brown fox jumps
caption · 12px / 500 · uppercase

Voice

Tone, CTA verbs, headlines and pronoun stance — pulled from the live page.

tone · neutral · you-only

top CTA verbs

sign×4by×3read×3code×2automate×2keep×2platform×1solutions×1

motionlang

Motion Lab

Every easing curve and duration github.com ships, drawn and replayed live. Export them as Framer Motion presets from the motion.framer.js tab above.

easing curves · 9

linear
linear
ease-out
cubic-bezier(0.16, 1, 0.3, 1)
easing-3
cubic-bezier(0.65, 0, 0.35, 1)
ease-in-out
ease
ease-out
cubic-bezier(0.33, 1, 0.68, 1)
easing-6
cubic-bezier(0.3, 0, 0.5, 1)
easing-7
cubic-bezier(0.5, 0.16, 0.1, 1)
ease-out
cubic-bezier(0.165, 0.84, 0.44, 1)
ease-out
cubic-bezier(0.2, 0.4, 0.2, 1)

durations · 7

instant75ms
xs100ms
sm200ms
md300ms
lg480ms
xl800ms
xxl33333000ms

Component anatomy

Typed React stubs — variants, slots and props detected from clustered DOM patterns.

1,061 chars · TypeScript
// Auto-generated by designlang — component anatomy v2.
// Scaffolds. Wire into your token system; not a runtime library.

import * as React from 'react';

export interface ButtonProps {
  variant?: 'link' | 'secondary';
  size?: 'lg' | 'medium';
  leadingIcon?: React.ReactNode;
  children?: React.ReactNode;
}

export function Button({ variant = 'link', size = 'md', ...rest }: ButtonProps) {
  return React.createElement('button', { 'data-variant': variant, 'data-size': size, ...rest });
}

export interface OtherProps {
  variant?: 'default';
  size?: 'md';
  children?: React.ReactNode;
}

export function Other({ variant = 'default', size = 'md', ...rest }: OtherProps) {
  return React.createElement('button', { 'data-variant': variant, 'data-size': size, ...rest });
}

export interface InputProps {
  variant?: 'default';
  size?: 'md';
  children?: React.ReactNode;
}

export function Input({ variant = 'default', size = 'md', ...rest }: InputProps) {
  return React.createElement('input', { 'data-variant': variant, 'data-size': size, ...rest });
}

Icon system

SVG icon census — count, style mix, grid and stroke profile.

104
total icons
0
stroke-only
68
fill-only
1.50
avg stroke
library

Agent prompt

One self-contained system prompt with every github.com token, anatomy slot and voice rule. Drop it into any AI agent and it builds in this brand without hallucinating.

paste into Claude · GPT · Cursor · Windsurf · v0
# You are building UI in the github.com design system.

Source: https://github.com
Extracted by designlang on 2026-06-12.

## Brand at a glance

- title         GitHub · Change is constant. GitHub keeps you ahead. · GitHub
- page intent   landing
- material      material-you
- design grade  B

## Colour

- primary     #f0f6fc
- secondary   #08872b
- accent      #1f883d
- neutrals    #ffffff · #000000 · #9198a1 · #58635b · #59636e · #a4aea6

## Typography

- families   Mona Sans · Mona Sans VF · Mona Sans Mono
- weights    400 · 500 · 600 · 460 · 480 · 425
- base size  16px

## Spacing

- scale      1px · 40px · 64px · 80px · 96px · 102px · 112px · 274px · 308px · 384px · 432px

## Radii

- scale      3px · 6px · 12px · 16px · 24px · 48px

## Motion

- durations  75ms · 100ms · 200ms · 300ms

## Voice

- tone       neutral
- pronoun    you-only
- headings   Sentence case
- CTA verbs  sign · by · read · code · automate · keep

## Component anatomy

- button     variants: [object Object] · [object Object] · [object Object]  ·  slots: true · true · false
- other      variants: [object Object]  ·  slots: —
- input      variants: [object Object]  ·  slots: false · false

## Accessibility

- WCAG score 100% · failing pairs: 0

## Build rules

1. Use the colours above. **Never invent a new hex.** If you need a
   shade between two existing colours, derive it via HSL adjustment
   from the closest extracted colour and call out the derivation.
2. Use the extracted typography families. If you need a missing weight,
   pick the nearest available weight from the list and note it.
3. Snap spacing values to the scale above. No off-scale paddings or
   margins.
4. Snap border radii to the scale above.
5. Match the voice: same tone, same pronoun stance, same heading
   style. Reuse the listed CTA verbs.
6. Aim for WCAG AA contrast minimum. When the brand colours fail,
   prefer the foreground colour on the background colour rather than
   mid-tone neutrals.
7. Reuse component anatomy when it exists — do not invent novel
   structures for things the site already has.

## Available context files

designlang wrote these alongside this prompt. Reach for them when
you need ground truth:

- `<host>-design-tokens.json` — DTCG primitive · semantic · composite tokens
- `<host>-tailwind.config.js`  — Tailwind v3 config
- `<host>-tailwind-v4.css`     — Tailwind v4 `@theme` block
- `<host>-tokens.d.ts`         — TypeScript literal-union types
- `<host>-variables.css`       — bare CSS custom properties
- `<host>-reset.css`           — brand-aware base styles
- `<host>-gradients.css`       — `.grad-N` utility classes
- `<host>-anatomy.tsx`         — typed React component scaffolds
- `<host>-shadcn-theme.css`    — shadcn/ui theme
- `<host>-theme.js`            — React / Vue / Svelte theme object
- `<host>-mcp.json`            — MCP server payload (load via stdio)
- `<host>.brand.pdf`           — print-ready 13-chapter brand book

When you reference the system in code, prefer importing from these
files over hard-coding values.

## Output expectations

When asked to "build a pricing page" or "make a card" or any UI:

- Produce a single self-contained component file in the appropriate
  framework (React / Vue / Svelte — match what the user is using).
- Use Tailwind utility classes wired to the v4 `@theme` if Tailwind
  is available; otherwise use the CSS custom properties from
  `variables.css`.
- Write the headline copy using the brand voice; do not invent
  generic Lorem.
- Annotate any choice where you had to bend the system, with a
  one-line `// note:` comment explaining what and why.

## One-line install

```bash
npx designlang github.com
```

Run this against any other URL to extract its system in the same
shape as the one above.

---

Generated by designlang. Re-extract by running `npx designlang github.com`.
Drop this in any AI agent. It will build UI in the github.com brand without hallucinating colours, fonts or component shapes.

MCP / Agent rules

The same payload the stdio MCP server hands to Claude Code, Cursor and Windsurf. Wire it into your editor and the agent answers brand-system questions with the actual extraction — not a guess.

How to wire MCP →npx designlang mcp --url https://github.com
{
  "colors": {
    "all": [
      {
        "hex": "#ffffff",
        "rgb": {
          "r": 255,
          "g": 255,
          "b": 255,
          "a": 1
        },
        "hsl": {
          "h": 0,
          "s": 0,
          "l": 100
        },
        "count": 1752,
        "contexts": [
          "background",
          "text",
          "border"
        ]
      },
      {
        "hex": "#f0f6fc",
        "rgb": {
          "r": 240,
          "g": 246,
          "b": 252,
          "a": 1
        },
        "hsl": {
          "h": 210,
          "s": 67,
          "l": 96
        },
        "count": 650,
        "contexts": [
          "text",
          "border",
          "background"
        ]
      },
      {
        "hex": "#000000",
        "rgb": {
          "r": 0,
          "g": 0,
          "b": 0,
          "a": 1
        },
        "hsl": {
          "h": 0,
          "s": 0,
          "l": 0
        },
        "count": 360,
        "contexts": [
          "text",
          "border",
          "background"
        ]
      },
      {
        "hex": "#8dd6ff",
        "rgb": {
          "r": 141,
          "g": 214,
          "b": 255,
          "a": 1
        },
        "hsl": {
          "h": 202,
          "s": 100,
          "l": 78
        },
        "count": 262,
        "contexts": [
          "text",
          "border"
        ]
      },
      {
        "hex": "#9198a1",
        "rgb": {
          "r": 145,
          "g": 152,
          "b": 161,
          "a": 1
        },
        "hsl": {
          "h": 214,
          "s": 8,
          "l": 60
        },
        "count": 224,
        "contexts": [
          "text",
          "border"
        ]
      },
      {
        "hex": "#1f2328",
        "rgb": {
          "r": 31,
          "g": 35,
          "b": 40,
          "a": 1
        },
        "hsl": {
          "h": 213,
          "s": 13,
          "l": 14
        },
        "count": 218,
        "contexts": [
          "text",
          "border",
          "background"
        ]
      },
      {
        "hex": "#58635b",
        "rgb": {
          "r": 88,
          "g": 99,
          "b": 91,
          "a": 1
        },
        "hsl": {
          "h": 136,
          "s": 6,
          "l": 37
        },
        "count": 140,
        "contexts": [
          "text",
          "border"
        ]
      },
      {
        "hex": "#59636e",
        "rgb": {
          "r": 89,
          "g": 99,
          "b": 110,
          "a": 1
        },
        "hsl": {
          "h": 211,
          "s": 11,
          "l": 39
        },
        "count": 100,
        "contexts": [
          "text",
          "border"
        ]
      },
      {
        "hex": "#a4aea6",
        "rgb": {
          "r": 164,
          "g": 174,
          "b": 166,
          "a": 1
        },
        "hsl": {
          "h": 132,
          "s": 6,
          "l": 66
        },
        "count": 100,
        "contexts": [
          "text",
          "border"
        ]
      },
      {
        "hex": "#d1d9e0",
        "rgb": {
          "r": 209,
          "g": 217,
          "b": 224,
          "a": 1
        },
        "hsl": {
          "h": 208,
          "s": 19,
          "l": 85
        },
        "count": 12,
        "contexts": [
          "border",
          "background"
        ]
      },
      {
        "hex": "#5fed83",
        "rgb": {
          "r": 95,
          "g": 237,
          "b": 131,
          "a": 1
        },
        "hsl": {
          "h": 135,
          "s": 80,
          "l": 65
        },
        "count": 12,
        "contexts": [
          "text",
          "border"
        ]
      },
      {
        "hex": "#d1242f",
        "rgb": {
          "r": 209,
          "g": 36,
          "b": 47,
          "a": 1
        },
        "hsl": {
          "h": 356,
          "s": 71,
          "l": 48
        },
        "count": 10,
        "contexts": [
          "text",
          "border"
        ]
      },
      {
        "hex": "#f85149",
        "rgb": {
          "r": 248,
          "g": 81,
          "b": 73,
          "a": 0.4
        },
        "hsl": {
          "h": 3,
          "s": 93,
          "l": 63
        },
        "count": 9,
        "contexts": [
          "border",
          "text"
        ]
      },
      {
        "hex": "#0d1117",
        "rgb": {
          "r": 13,
          "g": 17,
          "b": 23,
          "a": 1
        },
        "hsl": {
          "h": 216,
          "s": 28,
          "l": 7
        },
        "count": 8,
        "contexts": [
          "background"
        ]
      },
      {
        "hex": "#d29922",
        "rgb": {
          "r": 210,
          "g": 153,
          "b": 34,
          "a": 1
        },
        "hsl": {
          "h": 41,
          "s": 72,
          "l": 48
        },
        "count": 8,
        "contexts": [
          "text",
          "border"
        ]
      },
      {
        "hex": "#7c8980",
        "rgb": {
          "r": 124,
          "g": 137,
          "b": 128,
          "a": 1
        },
        "hsl": {
          "h": 138,
          "s": 5,
          "l": 51
        },
        "count": 8,
        "contexts": [
          "text",
          "border"
        ]
      },
      {
        "hex": "#4493f8",
        "rgb": {
          "r": 68,
          "g": 147,
          "b": 248,
          "a": 1
        },
        "hsl": {
          "h": 214,
          "s": 93,
          "l": 62
        },
        "count": 6,
        "contexts": [
          "text",
          "border"
        ]
      },
      {
        "hex": "#404651",
        "rgb": {
          "r": 64,
          "g": 70,
          "b": 81,
          "a": 1
        },
        "hsl": {
          "h": 219,
          "s": 12,
          "l": 28
        },
        "count": 6,
        "contexts": [
          "background",
          "border"
        ]
      },
      {
        "hex": "#484f58",
        "rgb": {
          "r": 72,
          "g": 79,
          "b": 88,
          "a": 1
        },
        "hsl": {
          "h": 214,
          "s": 10,
          "l": 31
        },
        "count": 5,
        "contexts": [
          "border"
        ]
      },
      {
        "hex": "#0969da",
        "rgb": {
          "r": 9,
          "g": 105,
          "b": 218,
          "a": 1
        },
        "hsl": {
          "h": 212,
          "s": 92,
          "l": 45
        },
        "count": 4,
        "contexts": [
          "text",
          "border"
        ]
      },
      {
        "hex": "#e4ebe6",
        "rgb": {
          "r": 228,
          "g": 235,
          "b": 230,
          "a": 0.996
        },
        "hsl": {
          "h": 137,
          "s": 15,
          "l": 91
        },
        "count": 3,
        "contexts": [
          "background"
        ]
      },
      {
        "hex": "#1f6feb",
        "rgb": {
          "r": 31,
          "g": 111,
          "b": 235,
          "a": 1
        },
        "hsl": {
          "h": 216,
          "s": 84,
          "l": 52
        },
        "count": 2,
        "contexts": [
          "background"
        ]
      },
      {
        "hex": "#005dd5",
        "rgb": {
          "r": 0,
          "g": 93,
          "b": 213,
          "a": 1
        },
        "hsl": {
          "h": 214,
          "s": 100,
          "l": 42
        },
        "count": 2,
        "contexts": [
          "text",
          "border"
        ]
      },
      {
        "hex": "#1f883d",
        "rgb": {
          "r": 31,
          "g": 136,
          "b": 61,
          "a": 1
        },
        "hsl": {
          "h": 137,
          "s": 63,
          "l": 33
        },
        "count": 2,
        "contexts": [
          "background"
        ]
      },
      {
        "hex": "#08872b",
        "rgb": {
          "r": 8,
          "g": 135,
          "b": 43,
          "a": 1
        },
        "hsl": {
          "h": 137,
          "s": 89,
          "l": 28
        },
        "count": 2,
        "contexts": [
          "background"
        ]
      },
      {
        "hex": "#0d3024",
        "rgb": {
          "r": 13,
          "g": 48,
          "b": 36,
          "a": 1
        },
        "hsl": {
          "h": 159,
          "s": 57,
          "l": 12
        },
        "count": 2,
        "contexts": [
          "background"
        ]
      },
      {
        "hex": "#2e374a",
        "rgb": {
          "r": 46,
          "g": 55,
          "b": 74,
          "a": 0.82
        },
        "hsl": {
          "h": 221,
          "s": 23,
          "l": 24
        },
        "count": 1,
        "contexts": [
          "background"
        ]
      },
      {
        "hex": "#818b98",
        "rgb": {
          "r": 129,
          "g": 139,
          "b": 152,
          "a": 1
        },
        "hsl": {
          "h": 214,
          "s": 10,
          "l": 55
        },
        "count": 1,
        "contexts": [
          "border"
        ]
      },
      {
        "hex": "#bb8009",
        "rgb": {
          "r": 187,
          "g": 128,
          "b": 9,
          "a": 0.4
        },
        "hsl": {
          "h": 40,
          "s": 91,
          "l": 38
        },
        "count": 1,
        "contexts": [
          "border"
        ]
      },
      {
        "hex": "#8c93fb",
        "rgb": {
          "r": 140,
          "g": 147,
          "b": 251,
          "a": 1
        },
        "hsl": {
          "h": 236,
          "s": 93,
          "l": 77
        },
        "count": 1,
        "contexts": [
          "border"
        ]
      }
    ]
  },
  "regions": [
    {
      "role": "nav",
      "tag": "header",
      "bounds": {
        "x": 0,
        "y": 0,
        "w": 1280,
        "h": 72
      },
      "heading": "Navigation Menu",
      "buttonCount": 24,
      "cardCount": 95,
      "className": "HeaderMktg header-logged-out js-details-container js-header Details f4 tmp-py-3"
    },
    {
      "role": "nav",
      "tag": "nav",
      "bounds": {
        "x": 80,
        "y": 16,
        "w": 635.34375,
        "h": 40
      },
      "heading": null,
      "buttonCount": 10,
      "cardCount": 83,
      "className": "MarketingNavigation-module__nav__W0KYY"
    },
    {
      "role": "testimonials",
      "tag": "main",
      "bounds": {
        "x": 0,
        "y": 0,
        "w": 1280,
        "h": 10272.765625
      },
      "heading": "The future of building happens together",
      "buttonCount": 26,
      "cardCount": 7,
      "className": "font-mktg "
    },
    {
      "role": "hero",
      "tag": "section",
      "bounds": {
        "x": 0,
        "y": 0,
        "w": 1280,
        "h": 1906.859375
      },
      "heading": "The future of building happens together",
      "buttonCount": 9,
      "cardCount": 6,
      "className": null
    },
    {
      "role": "hero",
      "tag": "section",
      "bounds": {
        "x": 154,
        "y": 164,
        "w": 972,
        "h": 212.21875
      },
      "heading": "The future of building happens together",
      "buttonCount": 0,
      "cardCount": 1,
      "className": "Primer_Brand__Hero-module__Hero___EM3jf Primer_Brand__Hero-module__Hero--variant-default___TGFpg Primer_Brand__Hero-module__Hero--align-center___HUXm3 lp-IntroHero-hero"
    },
    {
      "role": "content",
      "tag": "section",
      "bounds": {
        "x": 309.796875,
        "y": 408.21875,
        "w": 458.828125,
        "h": 56
      },
      "heading": null,
      "buttonCount": 1,
      "cardCount": 0,
      "className": "Primer_Brand__FormControl-module__FormControl___ZJtXy CtaFormControl"
    },
    {
      "role": "testimonials",
      "tag": "section",
      "bounds": {
        "x": 0,
        "y": 1906.859375,
        "w": 1280,
        "h": 2315.890625
      },
      "heading": "Accelerate your entire workflow",
      "buttonCount": 5,
      "cardCount": 0,
      "className": "lp-Section"
    },
    {
      "role": "nav",
      "tag": "header",
      "bounds": {
        "x": 0,
        "y": 2153.859375,
        "w": 1280,
        "h": 154.390625
      },
      "heading": "Accelerate your entire workflow",
      "buttonCount": 0,
      "cardCount": 0,
      "className": "Primer_Brand__SectionIntro-module__SectionIntro___RduRB Primer_Brand__SectionIntro-module__SectionIntro--align-center___qU_a9 Primer_Brand__SectionIntro-module__SectionIntro--full-width___HROKL lp-SectionIntro-content"
    },
    {
      "role": "content",
      "tag": "section",
      "bounds": {
        "x": 0,
        "y": 4222.75,
        "w": 1280,
        "h": 1556.8125
      },
      "heading": "Built-in application security where found means fixed",
      "buttonCount": 0,
      "cardCount": 0,
      "className": "lp-Section"
    },
    {
      "role": "nav",
      "tag": "header",
      "bounds": {
        "x": 0,
        "y": 4469.75,
        "w": 1280,
        "h": 171.59375
      },
      "heading": "Built-in application security where found means fixed",
      "buttonCount": 0,
      "cardCount": 0,
      "className": "Primer_Brand__SectionIntro-module__SectionIntro___RduRB Primer_Brand__SectionIntro-module__SectionIntro--align-center___qU_a9 Primer_Brand__SectionIntro-module__SectionIntro--full-width___HROKL lp-SectionIntro-content"
    },
    {
      "role": "pricing",
      "tag": "section",
      "bounds": {
        "x": 0,
        "y": 5779.5625,
        "w": 1280,
        "h": 2067.140625
      },
      "heading": "Work together, achieve more",
      "buttonCount": 4,
      "cardCount": 0,
      "className": "lp-Section"
    },
    {
      "role": "nav",
      "tag": "header",
      "bounds": {
        "x": 0,
        "y": 6026.5625,
        "w": 1280,
        "h": 123.59375
      },
      "heading": "Work together, achieve more",
      "buttonCount": 0,
      "cardCount": 0,
      "className": "Primer_Brand__SectionIntro-module__SectionIntro___RduRB Primer_Brand__SectionIntro-module__SectionIntro--align-center___qU_a9 Primer_Brand__SectionIntro-module__SectionIntro--full-width___HROKL lp-SectionIntro-content"
    },
    {
      "role": "testimonials",
      "tag": "section",
      "bounds": {
        "x": 0,
        "y": 7846.703125,
        "w": 1280,
        "h": 1148.390625
      },
      "heading": "From startups to enterprises, GitHub scales with teams of any size in any industry.",
      "buttonCount": 7,
      "cardCount": 0,
      "className": "lp-Section"
    },
    {
      "role": "nav",
      "tag": "header",
      "bounds": {
        "x": 0,
        "y": 8093.703125,
        "w": 1280,
        "h": 144
      },
      "heading": "From startups to enterprises, GitHub scales with teams of any size in any industry.",
      "buttonCount": 0,
      "cardCount": 0,
      "className": "Primer_Brand__SectionIntro-module__SectionIntro___RduRB Primer_Brand__SectionIntro-module__SectionIntro--align-center___qU_a9 Primer_Brand__SectionIntro-module__SectionIntro--full-width___HROKL lp-SectionIntro-content"
    },
    {
      "role": "hero",
      "tag": "section",
      "bounds": {
        "x": 0,
        "y": 8995.09375,
        "w": 1280,
        "h": 1092.671875
      },
      "heading": "Millions of developers and businesses call GitHub home",
      "buttonCount": 1,
      "cardCount": 0,
      "className": "Primer_Brand__Section-module__Section___wNnZR Primer_Brand__Section-module__Section--paddingBlockStart-normal___okSnn Primer_Brand__Section-module__Section--paddingBlockEnd-normal___wlGa4"
    },
    {
      "role": "cta",
      "tag": "section",
      "bounds": {
        "x": 0,
        "y": 9694.765625,
        "w": 1280,
        "h": 297
      },
      "heading": "Millions of developers and businesses call GitHub home",
      "buttonCount": 1,
      "cardCount": 0,
      "className": "Primer_Brand__CTABanner-module__CTABanner___m0t8s Primer_Brand__CTABanner-module__CTABanner--variant-default___eD19a lp-Cta "
    },
    {
      "role": "content",
      "tag": "section",
      "bounds": {
        "x": 309.796875,
        "y": 9959.765625,
        "w": 458.828125,
        "h": 56
      },
      "heading": null,
      "buttonCount": 1,
      "cardCount": 0,
      "className": "Primer_Brand__FormControl-module__FormControl___ZJtXy CtaFormControl"
    },
    {
      "role": "footer",
      "tag": "footer",
      "bounds": {
        "x": 0,
        "y": 10272.765625,
        "w": 1280,
        "h": 600
      },
      "heading": "Site-wide Links",
      "buttonCount": 3,
      "cardCount": 67,
      "className": "footer tmp-pt-6 position-relative"
    },
    {
      "role": "content",
      "tag": "section",
      "bounds": {
        "x": 16,
        "y": 10344.765625,
        "w": 415.984375,
        "h": 348
      },
      "heading": "Subscribe to our developer newsletter",
      "buttonCount": 0,
      "cardCount": 0,
      "className": "col-12 col-lg-4 tmp-mb-5 tmp-pr-lg-4"
    },
    {
      "role": "nav",
      "tag": "nav",
      "bounds": {
        "x": 431.984375,
        "y": 10344.765625,
        "w": 208,
        "h": 372
      },
      "heading": "Platform",
      "buttonCount": 0,
      "cardCount": 10,
      "className": "col-6 col-sm-3 col-lg-2 tmp-mb-6 tmp-mb-md-2 tmp-pr-3 tmp-pr-lg-0 tmp-pl-lg-4"
    },
    {
      "role": "nav",
      "tag": "nav",
      "bounds": {
        "x": 639.984375,
        "y": 10344.765625,
        "w": 208,
        "h": 372
      },
      "heading": "Ecosystem",
      "buttonCount": 0,
      "cardCount": 8,
      "className": "col-6 col-sm-3 col-lg-2 tmp-mb-6 tmp-mb-md-2 tmp-pr-3 tmp-pr-md-0 tmp-pl-md-4"
    },
    {
      "role": "nav",
      "tag": "nav",
      "bounds": {
        "x": 847.984375,
        "y": 10344.765625,
        "w": 208,
        "h": 372
      },
      "heading": "Support",
      "buttonCount": 0,
      "cardCount": 7,
      "className": "col-6 col-sm-3 col-lg-2 tmp-mb-6 tmp-mb-md-2 tmp-pr-3 tmp-pr-md-0 tmp-pl-md-4"
    },
    {
      "role": "nav",
      "tag": "nav",
      "bounds": {
        "x": 1055.984375,
        "y": 10344.765625,
        "w": 208,
        "h": 372
      },
      "heading": "Company",
      "buttonCount": 0,
      "cardCount": 10,
      "className": "col-6 col-sm-3 col-lg-2 tmp-mb-6 tmp-mb-md-2 tmp-pr-3 tmp-pr-md-0 tmp-pl-md-4"
    },
    {
      "role": "nav",
      "tag": "nav",
      "bounds": {
        "x": 16,
        "y": 10812.765625,
        "w": 772,
        "h": 36
      },
      "heading": null,
      "buttonCount": 2,
      "cardCount": 7,
      "className": null
    },
    {
      "role": "nav",
      "tag": "nav",
      "bounds": {
        "x": 804,
        "y": 10814.765625,
        "w": 460,
        "h": 32
      },
      "heading": null,
      "buttonCount": 1,
      "cardCount": 23,
      "className": "footer-social tmp-mt-3 tmp-mt-md-0 d-flex gapx-6 gapy-1 flex-wrap flex-items-center flex-lg-justify-end"
    }
  ],
  "componentClusters": [
    {
      "kind": "button",
      "structuralHash": "button>svg",
      "instanceCount": 8,
      "variants": [
        {
          "css": {
            "background": "rgba(0, 0, 0, 0)",
            "color": "rgb(255, 255, 255)",
            "padding": "8px 8px 8px 8px",
            "borderRadius": "0px",
            "border": "0px none rgb(255, 255, 255)",
            "fontSize": "16px",
            "fontWeight": "400"
          },
          "instanceCount": 7
        },
        {
          "css": {
            "background": "rgb(9, 13, 10)",
            "color": "rgb(255, 255, 255)",
            "padding": "0px 0px 0px 0px",
            "borderRadius": "48px",
            "border": "1px solid rgb(25, 31, 27)",
            "fontSize": "16px",
            "fontWeight": "400"
          },
          "instanceCount": 1
        }
      ]
    },
    {
      "kind": "other",
      "structuralHash": "svg>path",
      "instanceCount": 5,
      "variants": [
        {
          "css": {
            "background": "rgba(0, 0, 0, 0)",
            "color": "rgb(255, 255, 255)",
            "padding": "0px 0px 0px 0px",
            "borderRadius": "0px",
            "border": "0px none rgb(255, 255, 255)",
            "fontSize": "16px",
            "fontWeight": "400"
          },
          "instanceCount": 5
        }
      ]
    },
    {
      "kind": "button",
      "structuralHash": "button>div>span>div",
      "instanceCount": 1,
      "variants": [
        {
          "css": {
            "background": "rgba(0, 0, 0, 0)",
            "color": "rgba(255, 255, 255, 0.75)",
            "padding": "0px 0px 0px 7px",
            "borderRadius": "6px",
            "border": "0px none rgba(255, 255, 255, 0.75)",
            "fontSize": "14px",
            "fontWeight": "400"
          },
          "instanceCount": 1
        }
      ]
    },
    {
      "kind": "button",
      "structuralHash": "a",
      "instanceCount": 2,
      "variants": [
        {
          "css": {
            "background": "rgba(0, 0, 0, 0)",
            "color": "rgb(255, 255, 255)",
            "padding": "4px 12px 4px 12px",
            "borderRadius": "6px",
            "border": "0px none rgb(255, 255, 255)",
            "fontSize": "14px",
            "fontWeight": "400"
          },
          "instanceCount": 2
        }
      ]
    },
    {
      "kind": "input",
      "structuralHash": "input",
      "instanceCount": 2,
      "variants": [
        {
          "css": {
            "background": "rgba(0, 0, 0, 0)",
            "color": "rgb(0, 0, 0)",
            "padding": "18px 12px 0px 18px",
            "borderRadius": "8px",
            "border": "0px none rgb(0, 0, 0)",
            "fontSize": "16px",
            "fontWeight": "400"
          },
          "instanceCount": 2
        }
      ]
    },
    {
      "kind": "button",
      "structuralHash": "button>span",
      "instanceCount": 11,
      "variants": [
        {
          "css": {
            "background": "rgb(8, 135, 43)",
            "color": "rgb(255, 255, 255)",
            "padding": "6px 20px 6px 20px",
            "borderRadius": "6px",
            "border": "1px solid rgba(0, 0, 0, 0)",
            "fontSize": "16px",
            "fontWeight": "400"
          },
          "instanceCount": 2
        },
        {
          "css": {
            "background": "rgba(0, 0, 0, 0)",
            "color": "rgb(255, 255, 255)",
            "padding": "8px 16px 8px 16px",
            "borderRadius": "60px",
            "border": "1px solid rgba(0, 0, 0, 0)",
            "fontSize": "16px",
            "fontWeight": "400"
          },
          "instanceCount": 9
        }
      ]
    },
    {
      "kind": "button",
      "structuralHash": "button>div",
      "instanceCount": 8,
      "variants": [
        {
          "css": {
            "background": "rgba(0, 0, 0, 0)",
            "color": "rgb(255, 255, 255)",
            "padding": "0px 0px 0px 0px",
            "borderRadius": "0px",
            "border": "0px none rgb(255, 255, 255)",
            "fontSize": "16px",
            "fontWeight": "400"
          },
          "instanceCount": 8
        }
      ]
    },
    {
      "kind": "button",
      "structuralHash": "a>span",
      "instanceCount": 3,
      "variants": [
        {
          "css": {
            "background": "rgba(0, 0, 0, 0)",
            "color": "rgb(141, 214, 255)",
            "padding": "0px 0px 0px 0px",
            "borderRadius": "0px",
            "border": "0px none rgb(141, 214, 255)",
            "fontSize": "16px",
            "fontWeight": "400"
          },
          "instanceCount": 3
        }
      ]
    },
    {
      "kind": "button",
      "structuralHash": "button",
      "instanceCount": 2,
      "variants": [
        {
          "css": {
            "background": "rgba(0, 0, 0, 0)",
            "color": "rgb(145, 152, 161)",
            "padding": "0px 0px 0px 0px",
            "borderRadius": "0px",
            "border": "0px none rgb(145, 152, 161)",
            "fontSize": "12px",
            "fontWeight": "400"
          },
          "instanceCount": 2
        }
      ]
    }
  ],
  "accessibility": {
    "remediation": []
  },
  "cssHealth": {
    "sheets": [
      {
        "url": "https://github.githubassets.com/assets/primer-primitives-b39ad27f3538ace3.css",
        "totalBytes": 10021,
        "usedBytes": 9250,
        "unusedBytes": 771,
        "unusedPercent": 8
      },
      {
        "url": "https://github.com/",
        "totalBytes": 120,
        "usedBytes": 45,
        "unusedBytes": 75,
        "unusedPercent": 63
      },
      {
        "url": "https://github.githubassets.com/assets/landing-pages.9718375b3898bb0c.module.css",
        "totalBytes": 92869,
        "usedBytes": 0,
        "unusedBytes": 92869,
        "unusedPercent": 100
      },
      {
        "url": "https://github.githubassets.com/assets/primer-f22ed0439fca0948.css",
        "totalBytes": 412358,
        "usedBytes": 19620,
        "unusedBytes": 392738,
        "unusedPercent": 95
      },
      {
        "url": "https://github.githubassets.com/assets/dark-06381ff23d863842.css",
        "totalBytes": 76585,
        "usedBytes": 38254,
        "unusedBytes": 38331,
        "unusedPercent": 50
      },
      {
        "url": "https://github.githubassets.com/assets/landing-pages-fe5bf6c46284a928.css",
        "totalBytes": 454,
        "usedBytes": 0,
        "unusedBytes": 454,
        "unusedPercent": 100
      },
      {
        "url": "https://github.githubassets.com/assets/dark_high_contrast-9023e6605402defb.css",
        "totalBytes": 77269,
        "usedBytes": 0,
        "unusedBytes": 77269,
        "unusedPercent": 100
      },
      {
        "url": "https://github.githubassets.com/assets/primer-react-css.5c218f90f8746ce5.module.css",
        "totalBytes": 281989,
        "usedBytes": 281894,
        "unusedBytes": 95,
        "unusedPercent": 0
      },
      {
        "url": "https://github.githubassets.com/assets/global-5236d35452dfc5db.css",
        "totalBytes": 298858,
        "usedBytes": 6008,
        "unusedBytes": 292850,
        "unusedPercent": 98
      },
      {
        "url": "https://github.com/",
        "totalBytes": 289,
        "usedBytes": 0,
        "unusedBytes": 289,
        "unusedPercent": 100
      },
      {
        "url": "https://github.githubassets.com/assets/keyboard-shortcuts-dialog.2c9fa5d28b681771.module.css",
        "totalBytes": 331,
        "usedBytes": 0,
        "unusedBytes": 331,
        "unusedPercent": 100
      },
      {
        "url": "https://github.githubassets.com/assets/light-4fded0090af0ad58.css",
        "totalBytes": 76753,
        "usedBytes": 38339,
        "unusedBytes": 38414,
        "unusedPercent": 50
      },
      {
        "url": "https://github.githubassets.com/assets/56433.2dbd72a424517771.module.css",
        "totalBytes": 14427,
        "usedBytes": 152,
        "unusedBytes": 14275,
        "unusedPercent": 99
      },
      {
        "url": "https://github.githubassets.com/assets/github-a042f5a27a556c42.css",
        "totalBytes": 134172,
        "usedBytes": 32,
        "unusedBytes": 134140,
        "unusedPercent": 100
      },
      {
        "url": "https://github.githubassets.com/assets/primer-react-css.5c218f90f8746ce5.module.css",
        "totalBytes": 281989,
        "usedBytes": 0,
        "unusedBytes": 281989,
        "unusedPercent": 100
      },
      {
        "url": "https://github.githubassets.com/assets/home-2537dd99b6310f14.css",
        "totalBytes": 50174,
        "usedBytes": 33380,
        "unusedBytes": 16794,
        "unusedPercent": 33
      },
      {
        "url": "https://github.githubassets.com/assets/marketing-navigation.bee17795d238a875.module.css",
        "totalBytes": 10745,
        "usedBytes": 6176,
        "unusedBytes": 4569,
        "unusedPercent": 43
      },
      {
        "url": "https://github.githubassets.com/assets/light_high_contrast-cf8e26bc17e62ebc.css",
        "totalBytes": 77375,
        "usedBytes": 0,
        "unusedBytes": 77375,
        "unusedPercent": 100
      },
      {
        "url": "https://github.githubassets.com/assets/site-51b7912eb546125e.css",
        "totalBytes": 799024,
        "usedBytes": 117807,
        "unusedBytes": 681217,
        "unusedPercent": 85
      },
      {
        "url": "https://github.githubassets.com/assets/react-core.bab9ce0cc229d5be.module.css",
        "totalBytes": 446,
        "usedBytes": 0,
        "unusedBytes": 446,
        "unusedPercent": 100
      },
      {
        "url": "https://github.githubassets.com/assets/primer-react-css.5c218f90f8746ce5.module.css",
        "totalBytes": 281989,
        "usedBytes": 0,
        "unusedBytes": 281989,
        "unusedPercent": 100
      },
      {
        "url": "https://github.githubassets.com/assets/38963.8add87f5d74d588c.module.css",
        "totalBytes": 311,
        "usedBytes": 0,
        "unusedBytes": 311,
        "unusedPercent": 100
      },
      {
        "url": "https://github.githubassets.com/assets/70168.1218918dd76930bd.module.css",
        "totalBytes": 10730,
        "usedBytes": 6176,
        "unusedBytes": 4554,
        "unusedPercent": 42
      },
      {
        "url": "https://github.githubassets.com/assets/96037.d5ce918d22a1bef8.module.css",
        "totalBytes": 1374,
        "usedBytes": 0,
        "unusedBytes": 1374,
        "unusedPercent": 100
      }
    ],
    "totalBytes": 2990652,
    "usedBytes": 557133,
    "unusedBytes": 2433519,
    "unusedPercent": 81,
    "importantCount": 4312,
    "duplicates": 32949,
    "vendorPrefixes": {
      "webkit": 455,
      "moz": 55,
      "ms": 10,
      "o": 18
    },
    "keyframes": [],
    "specificity": {
      "max": [
        2,
        8,
        13
      ],
      "average": [
        0,
        1.79,
        0.11
      ],
      "count": 21845
    },
    "issues": [
      "4312 !important rules",
      "32949 duplicate declarations",
      "81% unused CSS"
    ]
  }
}

Prompt pack

Paste-ready prompts pre-loaded with the github.com system. Generators (v0, Lovable, Cursor, Claude Artifacts) and per-component recipes (button, card).

v01,600 chars
Build a landing page with this exact visual language.
COLORS:
  #ffffff
  #f0f6fc
  #000000
  #8dd6ff
  #9198a1
  #1f2328
  #58635b
  #59636e
  #a4aea6
  #d1d9e0
  #5fed83
  #d1242f
  #f85149
  #0d1117
FONTS: [object Object], [object Object], [object Object]
SPACING: 1, 40, 64, 80, 96, 102, 112, 274
RADIUS: 3, 6, 12, 16, 24, 48
SHADOWS: rgba(209, 217, 224, 0.25) 0px 0px 0px 1px, rgba(37, 41, 46, 0.04) 0px 6px 12px -3px, rgba(37, 41, 46, 0.12) 0px 6px 18px 0px | rgba(209, 217, 224, 0) 0px 0px 0px 1px, rgba(37, 41, 46, 0.24) 0px 40px 80px 0px | rgba(255, 255, 255, 0) 0px 0px 0px 1px inset
MATERIAL LANGUAGE: material-you
VOICE: Tone: neutral · Headings: Sentence case · CTA verbs: [object Object], [object Object], [object Object], [object Object], [object Object], [object Object]
LIBRARY: Use Bootstrap 5 utility classes. Customize via CSS variables.
SECTIONS (in order):
- cta — heading: "Navigation Menu"
- feature-grid — heading: "The future of building happens together"
- hero — heading: "The future of building happens together"
- hero — heading: "The future of building happens together"
- cta
- testimonials — heading: "Accelerate your entire workflow"
- pricing — heading: "Work together, achieve more"
- testimonials — heading: "From startups to enterprises, GitHub scales with teams of any size in any indust"
- cta — heading: "Millions of developers and businesses call GitHub home"
- cta — heading: "Millions of developers and businesses call GitHub home"
- cta
- footer — heading: "Site-wide Links"
Use Tailwind. Match these tokens exactly. Keep the material language consistent.
Lovable1,429 chars
Clone the design language of this landing page and build a fresh equivalent.
Visual feel: material-you. Tone: neutral · Headings: Sentence case · CTA verbs: [object Object], [object Object], [object Object], [object Object], [object Object], [object Object]
Primary palette: #ffffff, #f0f6fc, #000000, #8dd6ff, #9198a1.
Typography: [object Object], [object Object], [object Object].
Corner radius vocabulary: 3, 6, 12, 16, 24, 48.
Shadow vocabulary: rgba(209, 217, 224, 0.25) 0px 0px 0px 1px, rgba(37, 41, 46, 0.04) 0px 6px 12px -3px, rgba(37, 41, 46, 0.12) 0px 6px 18px 0px | rgba(209, 217, 224, 0) 0px 0px 0px 1px, rgba(37, 41, 46, 0.24) 0px 40px 80px 0px | rgba(255, 255, 255, 0) 0px 0px 0px 1px inset.
Use: Use Bootstrap 5 utility classes. Customize via CSS variables.
Page structure:
- cta — heading: "Navigation Menu"
- feature-grid — heading: "The future of building happens together"
- hero — heading: "The future of building happens together"
- hero — heading: "The future of building happens together"
- cta
- testimonials — heading: "Accelerate your entire workflow"
- pricing — heading: "Work together, achieve more"
- testimonials — heading: "From startups to enterprises, GitHub scales with teams of any size in any indust"
- cta — heading: "Millions of developers and businesses call GitHub home"
- cta — heading: "Millions of developers and businesses call GitHub home"
- cta
- footer — heading: "Site-wide Links"
Cursor1,563 chars
# Design brief
Page type: **landing**.
Material language: **material-you**.
Voice: Tone: neutral · Headings: Sentence case · CTA verbs: [object Object], [object Object], [object Object], [object Object], [object Object], [object Object].
## Tokens
```ts
export const tokens = {
  colors: ['#ffffff', '#f0f6fc', '#000000', '#8dd6ff', '#9198a1', '#1f2328', '#58635b', '#59636e', '#a4aea6', '#d1d9e0', '#5fed83', '#d1242f', '#f85149', '#0d1117'],
  fonts: ['[object Object]', '[object Object]', '[object Object]'],
  radii: ['3', '6', '12', '16', '24', '48'],
  shadows: ['rgba(209, 217, 224, 0.25) 0px 0px 0px 1px, rgba(37, 41, 46, 0.04) 0px 6px 12px -3px, rgba(37, 41, 46, 0.12) 0px 6px 18px 0px', 'rgba(209, 217, 224, 0) 0px 0px 0px 1px, rgba(37, 41, 46, 0.24) 0px 40px 80px 0px', 'rgba(255, 255, 255, 0) 0px 0px 0px 1px inset'],
};
```
## Sections
- cta — heading: "Navigation Menu"
- feature-grid — heading: "The future of building happens together"
- hero — heading: "The future of building happens together"
- hero — heading: "The future of building happens together"
- cta
- testimonials — heading: "Accelerate your entire workflow"
- pricing — heading: "Work together, achieve more"
- testimonials — heading: "From startups to enterprises, GitHub scales with teams of any size in any indust"
- cta — heading: "Millions of developers and businesses call GitHub home"
- cta — heading: "Millions of developers and businesses call GitHub home"
- cta
- footer — heading: "Site-wide Links"
## Library

Use Bootstrap 5 utility classes. Customize via CSS variables.
Claude Artifacts1,426 chars
Create a React artifact that reproduces this brand's design language.
Page intent: landing.
Material language: material-you.
Voice: Tone: neutral · Headings: Sentence case · CTA verbs: [object Object], [object Object], [object Object], [object Object], [object Object], [object Object].
Library preference: Use Bootstrap 5 utility classes. Customize via CSS variables.
Colors to use: #ffffff, #f0f6fc, #000000, #8dd6ff, #9198a1, #1f2328, #58635b, #59636e, #a4aea6, #d1d9e0, #5fed83, #d1242f, #f85149, #0d1117.
Fonts: [object Object], [object Object], [object Object].
Radius vocabulary: 3, 6, 12, 16, 24, 48.
Sections:
- cta — heading: "Navigation Menu"
- feature-grid — heading: "The future of building happens together"
- hero — heading: "The future of building happens together"
- hero — heading: "The future of building happens together"
- cta
- testimonials — heading: "Accelerate your entire workflow"
- pricing — heading: "Work together, achieve more"
- testimonials — heading: "From startups to enterprises, GitHub scales with teams of any size in any indust"
- cta — heading: "Millions of developers and businesses call GitHub home"
- cta — heading: "Millions of developers and businesses call GitHub home"
- cta
- footer — heading: "Site-wide Links"
Use Tailwind via CDN, lucide-react for icons, and keep the material language consistent across sections. Do not add extra decorative elements outside this vocabulary.
Recipe · Button1,029 chars
# Recipe: button
Build one button component that matches this brand.
Palette: #ffffff, #f0f6fc, #000000, #8dd6ff, #9198a1, #1f2328
Typography: [object Object], [object Object], [object Object]
Material: material-you
Signals: Use Bootstrap 5 utility classes. Customize via CSS variables. · Radius: 3, 6, 12, 16, 24, 48 · Shadows: rgba(209, 217, 224, 0.25) 0px 0px 0px 1px, rgba(37, 41, 46, 0.04) 0px 6px 12px -3px, rgba(37, 41, 46, 0.12) 0px 6px 18px 0px | rgba(209, 217, 224, 0) 0px 0px 0px 1px, rgba(37, 41, 46, 0.24) 0px 40px 80px 0px | rgba(255, 255, 255, 0) 0px 0px 0px 1px inset
## Anatomy (detected)
```json
{
  "kind": "button",
  "structuralHash": "button",
  "instanceCount": 2,
  "variants": [
    {
      "css": {
        "background": "rgba(0, 0, 0, 0)",
        "color": "rgb(145, 152, 161)",
        "padding": "0px 0px 0px 0px",
        "borderRadius": "0px",
        "border": "0px none rgb(145, 152, 161)",
        "fontSize": "12px",
        "fontWeight": "400"
      },
      "instanceCount": 2
    }
  ]
}
```

Run designlang on your own URL.

Same 41-artefact depth as the github.com extraction above. No signup, no API key.

npx designlang yoursite.comTry it live