dkdk/forge

Forge

An industrial-dark workspace — sharp tools, controlled heat, anvil-precise. Where work gets made when the workshop closes for the night.

install

npx designkit-cli add designkit-sh/forge
source ↗
previewtemplates · Forge

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: Forge
description:
  An industrial-dark workspace — sharp tools, controlled heat, anvil-precise.
  Where work gets made when the workshop closes for the night.
mode: dark
colors:
  # Cool-warm graphite — not literal-inversion-of-workshop. Reads as deeper,
  # more focused, with a subtle blue-grey undertone so it doesn't feel like
  # workshop-after-dark.
  background: "#131418"
  surface: "#1B1D22"
  surface-raised: "#23262C"
  surface-2: "#23262C"
  # Cool-bone ink — cleaner than workshop's warm parchment ink, drops the
  # cream tint that would tie the two kits together visually.
  ink: "#E8EAED"
  ink-muted: "#9BA0A8"
  ink-faint: "#666B72"
  # Saffron accent — brighter and more saturated than workshop's amber. On
  # dark surfaces a saturated mid-temperature gold reads as "lit element"
  # rather than "warm tint"; the goal is electric, not cosy.
  primary: "#F2A93B"
  on-primary: "#131418"
  accent: "#F2A93B"
  accent-fg: "#131418"
  # Secondary accent — anvil-blue. Used on info chips and link hover states;
  # gives the kit a two-tone identity workshop doesn't have.
  accent-alt: "#5EB3D1"
  muted: "#9BA0A8"
  muted-foreground: "#9BA0A8"
  border: "#2D3138"
  border-strong: "#3B4049"
  link: "{colors.accent-alt}"
  success: "#3DAA7A"
  warning: "#F2A93B"
  error: "#E25656"
typography:
  # Inter for everything — no editorial serif. Workshop uses Fraunces for
  # display warmth; forge skips it for an engineered, single-family feel.
  # JetBrains Mono picks up the "machine speaks" affordances at slightly
  # bigger weight than workshop so it reads as deliberate, not decorative.
  body:
    family: "Inter, ui-sans-serif, system-ui, sans-serif"
    size: "14px"
    weight: 400
    lineHeight: 1.55
  h1:
    family: "Inter, ui-sans-serif, system-ui, sans-serif"
    size: "32px"
    weight: 700
    lineHeight: 1.2
    letterSpacing: "-0.01em"
  h2:
    family: "Inter, ui-sans-serif, system-ui, sans-serif"
    size: "22px"
    weight: 700
    lineHeight: 1.25
    letterSpacing: "-0.005em"
  h3:
    family: "Inter, ui-sans-serif, system-ui, sans-serif"
    size: "16px"
    weight: 600
    lineHeight: 1.35
  mono:
    family: "JetBrains Mono, ui-monospace, monospace"
    size: "13px"
    weight: 500
    lineHeight: 1.6
spacing:
  xs: "4px"
  sm: "8px"
  md: "14px"
  lg: "22px"
  xl: "36px"
  "2xl": "60px"
rounded:
  # Tighter radii than workshop — forge is sharper, more engineered.
  sm: "3px"
  md: "6px"
  lg: "10px"
  full: "9999px"
shadows:
  # Sharper shadows with a touch of accent tint — implies hot-spot lighting
  # rather than ambient diffusion.
  card: "0 1px 2px rgba(0,0,0,0.32), 0 6px 16px rgba(0,0,0,0.28)"
  elevated: "0 4px 20px rgba(0,0,0,0.40), 0 0 0 1px rgba(242,169,59,0.04)"
  subtle: "0 1px 2px rgba(0,0,0,0.20)"
components:
  button-primary:
    background: "#F2A93B"
    color: "#131418"
    fontFamily: "Inter, ui-sans-serif, system-ui, sans-serif"
    fontSize: "13px"
    fontWeight: "600"
    radius: "6px"
    paddingX: "18px"
    paddingY: "9px"
    uppercase: "false"
    letterSpacing: "0.005em"
  button-secondary:
    background: "#1B1D22"
    color: "#E8EAED"
    border: "1px solid #2D3138"
    fontWeight: "500"
    radius: "6px"
    paddingX: "18px"
    paddingY: "9px"
  agent-chip:
    background: "#23262C"
    color: "#9BA0A8"
    fontFamily: "JetBrains Mono, ui-monospace, monospace"
    fontSize: "11px"
    fontWeight: "600"
    radius: "3px"
    paddingX: "8px"
    paddingY: "3px"
    uppercase: "true"
    letterSpacing: "0.1em"
  card:
    background: "#1B1D22"
    border: "1px solid #2D3138"
    radius: "10px"
    shadow: "0 1px 2px rgba(0,0,0,0.32), 0 6px 16px rgba(0,0,0,0.28)"
    padding: "20px"
  sidebar:
    background: "#0F1014"
    width: "240px"
    borderRight: "1px solid #2D3138"
atmosphere:
  mood:
    "Industrial-precise. The forge after dark — controlled heat, sharp tools,
    nothing decorative. Where work actually gets made."
  texture:
    "Matte graphite surfaces; no warm-on-warm gradients like workshop. Hot spots
    are saffron, never washes."
  motion:
    "Snappy and short — 120-150ms ease-out for utility interactions, 200ms only
    for layout shifts. No spring, no bounce."
  iconStyle:
    "Outlined, 1.5px stroke, sharp corners — never filled. Slightly more
    geometric than workshop's softened-corner icons."
  density:
    "Tighter than workshop — forge is for power users who want screen real
    estate, not breathing room. Padding scales down ~15%."
layout:
  maxWidth: "1320px"
  sidebarWidth: "240px"
  contentWidth: "760px"
  gridColumns: "12"
  gutterMd: "20px"
notes:
  pairsWith:
    "Workshop (light, warm parchment, Fraunces editorial). Forge is the dark
    counterpart by *position* — same product, different working mode — but its
    own visual identity: cool graphite vs warm parchment, saffron vs amber,
    Inter-only vs Inter+Fraunces, tighter radii, sharper shadows. They share the
    family but aren't twins."
  accentUsage:
    "Saffron #F2A93B is bright — use it on primary actions and active states
    only. Anvil-blue #5EB3D1 carries links and info chips. Resist the urge to
    introduce a third accent; the two-tone is the kit's signature."
  typeRationale:
    "No serif. Workshop earns Fraunces by being a quiet daytime kit; forge is
    operational and engineered, and a serif here reads as ornament. Inter in
    tighter weights (700 for headings) does the same lifting without pulling in
    a second font family."
  collectiveGame:
    "Same as workshop — presence and avatars always visible. Forge's denser
    layout makes this even more important; the cooler palette can read as empty
    if it isn't populated."
---

## Overview

A dark workspace built for builders who keep the lights on past closing time.
Cool-graphite surfaces, saffron hot-spots, anvil-blue links — and an Inter-only
type stack that drops workshop's editorial serif for something more operational.

Forge is not workshop-after-dark. It's a different room in the same building.

## Colors

- Cool-graphite background (`#131418`) — slight blue-grey undertone keeps it
  from reading as warm-coffee dark; reads as focused, not cosy.
- Lifted surfaces (`#1B1D22` / `#23262C`) — two-step depth, generous spacing
  between cards.
- Saffron primary (`#F2A93B`) — brighter and more saturated than workshop's
  amber. On dark, a high-chroma gold reads as lit, not warm.
- Anvil-blue accent-alt (`#5EB3D1`) — links, info chips, secondary CTAs.
  Two-tone is the kit's signature; resist a third accent.
- Cool-bone ink (`#E8EAED`) — drops workshop's cream tint to differentiate.

## Typography

- **Inter** for everything — body, headings, UI. Tight weight rhythm (400 / 600
  / 700) does the hierarchy work without pulling in a second family.
- **JetBrains Mono** for agent IDs, code, chips, and metadata — slightly bigger
  weight (500) than workshop's 400 so it reads as deliberate.

## Usage

Reach for Forge when the surface should feel engineered: dashboards, build
pipelines, agent transcripts under heavy load, debug consoles. Pair saffron
primary with anvil-blue links and let the cool graphite do the ambient work.