dkdk/workshop

Guilde Workshop

A warm, precise workspace where human teams and AI agents merge — built on trust, crafted like a workshop, typed like a terminal.

install

npx designkit-cli add designkit-sh/workshop
source ↗
previewtemplates · Guilde Workshop

Typography

Every text element the kit ships — headings through code

elements

Headings

The quick brown fox

Section heading

Subsection heading

Minor heading

Overline heading

Body text

Lead paragraph.Body text sits at the backbone of any interface — if it reads well, everything else has a chance. If it doesn't, nothing else matters.

Standard paragraph at the body size. Type hierarchies work best when the jump from body to subheading is clear but not disruptive — around 1.25-1.5× works across most contexts. Inline elements like a link, inline code, emphasis, strong, and highlighted text should all feel native to the kit.

Small / caption text — used for metadata, timestamps, descriptions under labels. Usually 14px or slightly smaller.

Lists

Unordered

  • Token-driven styling
  • Agent-readable format
  • Composable kits
    • Colors
    • Typography
    • Component stylings
  • Portable between projects

Ordered

  1. Describe the kit in prose
  2. Extract colors and typography
  3. Apply to a sample UI
  4. Iterate on token values

Blockquote

“Good design is as little design as possible. Less, but better — because it concentrates on the essential aspects, and the products are not burdened with non-essentials.”
— Dieter Rams

Code

// install a kit
$ npx designkit-cli add airbnb

// apply it to your project
import { applyKit } from "@designkit-sh/theme"
applyKit("airbnb")

Rule


Buttons

Primary, secondary, outline, ghost — every state the kit ships

elements

Default

Sizes

With icon

Form fields

Every input control the kit ships — text, select, checkboxes, radios, switches, file

elements

Text inputs

Textarea

Select

Checkboxes

Radio group

Billing cadence

Toggle switch

File input

Feedback

Alerts, badges, progress, tooltips, avatars — the signal surface of every UI

elements

Alerts

!

Scheduled maintenance

We'll be rolling out a new version on Friday at 22:00 UTC. Expect a short read-only window.

!

Kit published

Your DESIGN.md is live. Anyone can now install it with `npx designkit-cli add you/my-kit`.

!

Deprecated API

You're calling /v1/kits which will be removed in 30 days. Migrate to /v2/kits.

!

Build failed

Two component tokens reference an undefined color. Run `designkit lint` to see them.

Badges & tags

OfficialCommunityv2.0BetaDeprecatedOutlineOutline alt

Avatars

JD

Jeremy Dupont

Author

ALMTKPSJ+6

Progress

Upload32%
Build78%
Complete100%

Spinner

Loading…

Tooltip (static)

Tooltip text

Keyboard shortcut

Press K to open the command palette, or Esc to dismiss.

Data display

Table, definition list, empty state — how the kit shows structured data

app

Table

KitAuthorInstallsUpdatedStatus
airbnbgetdesign12.4K2d agoActive
claudegetdesign8.1K5d agoActive
stripegetdesign7.9K1w agoActive
linear.appgetdesign6.2K2w agoBeta
heritagedk2.1K1mo agoDraft

Definition list

Name
Airbnb
Author
getdesign · Claude
Format
DESIGN.md (Google Stitch spec)
Primary font
Nunito (substitute for Airbnb Cereal VF)
Installs
12,408
License
MIT

Empty state

No kits yet

You haven't published any kits on this account. Drop a DESIGN.md in a public repo to get started.

Breadcrumbs

Tabs

Sign in

Centered auth card — the most scrutinised surface in any app

app

Welcome back

Sign in with your work email to continue.

or

New here? Create an account

Dashboard KPIs

Four-card stat row — the staple of every internal dashboard

app

Overview

Performance for the last 30 days

Active users

12,408

+4.2% vs last period

MRR

$28.9K

+12.1% vs last period

Churn

1.8%

-0.3% vs last period

NPS

72

+5 vs last period

[chart placeholder]

Chat thread

Agent + user turn-based chat — bubbles, avatar, timestamp

app
A

Design Agent

online · responds in seconds

Hey — what's the goal of today's session?
I want to ship a pricing page that matches our brand.
Got it. Sharing three variants in a sec — each in your brand tokens so it'll feel native. Which fits better: conversion-first, feature-first, or transparency-first?
Let's try conversion-first.

Hero

Landing-page headline + subtitle + primary CTA

marketing
New · v2.0

Designed for humans. Built for agents.

Ship a brand-aligned product in hours. Coding agents write UI that matches your design system — no brief, no handoff.

Pricing

Three-tier comparison grid with a highlighted middle tier

marketing

Simple pricing

Pay for what you use. Change plans any time.

Hobby

$0forever
  • 1 project
  • Community support
  • Public kits only

Pro

Popular
$19per month
  • Unlimited projects
  • Private kits
  • Priority support
  • AI kit generator

Team

$49per seat / mo
  • Everything in Pro
  • Shared workspace
  • SSO + audit logs
  • Dedicated support

source

---
name: Guilde Workshop
description:
  A warm, precise workspace where human teams and AI agents merge — built on
  trust, crafted like a workshop, typed like a terminal.
mode: light
colors:
  background: "#F5F0EA"
  surface: "#FFFFFF"
  ink: "#1C1A17"
  ink-muted: "#7A7268"
  primary: "#C47B3A"
  on-primary: "#FFFFFF"
  accent: "#C47B3A"
  # Explicit accent-fg so primary CTAs read white on amber. Without
  # this, the design-kit tokens.css `color-contrast()` progressive
  # enhancement picks the highest-contrast pair (#1C1A17 on #C47B3A,
  # ~5.5:1) which beats white-on-amber (~3.3:1) on the AA math — but
  # the brand intent is white, so we override the auto-pick here.
  accent-fg: "#FFFFFF"
  muted: "#7A7268"
  muted-foreground: "#7A7268"
  border: "#E2D9CE"
  link: "{colors.accent}"
typography:
  body:
    family: "Inter, ui-sans-serif, system-ui, sans-serif"
    size: "15px"
    weight: 400
    lineHeight: 1.6
  h1:
    family: "Fraunces, Georgia, serif"
    size: "40px"
    weight: 700
    lineHeight: 1.15
  h2:
    family: "Fraunces, Georgia, serif"
    size: "28px"
    weight: 600
    lineHeight: 1.25
  h3:
    family: "Inter, ui-sans-serif, system-ui, sans-serif"
    size: "18px"
    weight: 600
    lineHeight: 1.4
  mono:
    family: "JetBrains Mono, ui-monospace, monospace"
    size: "13px"
    weight: 400
    lineHeight: 1.7
spacing:
  xs: "4px"
  sm: "8px"
  md: "16px"
  lg: "24px"
  xl: "40px"
  "2xl": "64px"
rounded:
  sm: "4px"
  md: "8px"
  lg: "14px"
  full: "9999px"
shadows:
  card: "0 1px 3px rgba(28,26,23,0.07), 0 4px 12px rgba(28,26,23,0.05)"
  elevated: "0 4px 20px rgba(28,26,23,0.10)"
  subtle: "0 1px 2px rgba(28,26,23,0.06)"
components:
  button-primary:
    background: "#C47B3A"
    color: "#FFFFFF"
    fontFamily: "Inter, ui-sans-serif, system-ui, sans-serif"
    fontSize: "14px"
    fontWeight: "600"
    radius: "8px"
    paddingX: "20px"
    paddingY: "10px"
    uppercase: "false"
    letterSpacing: "0.01em"
  button-secondary:
    background: "#FFFFFF"
    color: "#1C1A17"
    border: "1px solid #E2D9CE"
    fontWeight: "500"
    radius: "8px"
    paddingX: "20px"
    paddingY: "10px"
  agent-chip:
    background: "#EDE6DC"
    color: "#7A7268"
    fontFamily: "JetBrains Mono, ui-monospace, monospace"
    fontSize: "11px"
    fontWeight: "500"
    radius: "4px"
    paddingX: "8px"
    paddingY: "3px"
    uppercase: "true"
    letterSpacing: "0.08em"
  card:
    background: "#FFFFFF"
    border: "1px solid #E2D9CE"
    radius: "14px"
    shadow: "0 1px 3px rgba(28,26,23,0.07), 0 4px 12px rgba(28,26,23,0.05)"
    padding: "24px"
  sidebar:
    background: "#EDE6DC"
    width: "240px"
    borderRight: "1px solid #E2D9CE"
atmosphere:
  mood:
    "Warm workshop — precise but never cold. Like a well-worn oak desk with a
    terminal open on it."
  texture:
    "Matte, slightly grainy backgrounds; no gradients unless very subtle
    warm-to-warm."
  motion:
    "Purposeful and calm — no bounce, no flash. Transitions under 200ms,
    ease-out."
  iconStyle:
    "Outlined, 1.5px stroke, slightly rounded corners — never filled unless
    active state."
  density:
    "Medium — generous padding signals trust and accessibility, not emptiness."
layout:
  maxWidth: "1280px"
  sidebarWidth: "240px"
  contentWidth: "720px"
  gridColumns: "12"
  gutterMd: "24px"
notes:
  dualMode:
    "Light (warm parchment) is the default. Dark mode flips to #1C1A17
    background, #2A2620 surface, keeping the amber accent and warm ink tones —
    never goes cold blue-black."
  typePairing:
    "Fraunces (display, editorial weight) + Inter (UI, readable) + JetBrains
    Mono (agent output, code, metadata). The mono signals 'the machine is
    speaking'."
  accentUsage:
    "Amber #C47B3A is used sparingly — primary CTA, active states, key
    highlights. It's the warm ember in the workshop, not wallpaper."
  collectiveGame:
    "Avatars and presence indicators should always be visible in shared views —
    the UI should feel occupied, not empty."
---

## Overview

A light-mode counterpart to the canonical Guilde dark kit. Warm parchment
canvas, amber accent, editorial serif headers paired with a clean UI sans and a
mono for "the machine is speaking" affordances (agent IDs, code, metadata).

## Colors

- Warm parchment background (`#F5F0EA`) — matte, slightly grainy when textured.
- Pure white surfaces (`#FFFFFF`) — cards lift cleanly off the parchment.
- Near-black ink (`#1C1A17`) — warm-leaning, never cold blue-black.
- Muted stone ink (`#7A7268`) — secondary copy and chip labels.
- Amber accent (`#C47B3A`) — primary CTAs, active states, key highlights. The
  warm ember in the workshop, not wallpaper.

## Typography

- **Fraunces** for headings — editorial serif with weight to spare.
- **Inter** for body and UI — neutral, broad-spectrum, dependable.
- **JetBrains Mono** for agent output, code, and metadata — signals "the machine
  is speaking".

## Usage

Reach for Guilde Workshop when the surface should feel hand-made and trusted:
docs, settings, knowledge-base, agent transcripts. Pair it with sparing amber
accents and let typography do most of the brand work.