back to gallery
design language·decorated-terminal-shed

Decorated Terminal Shed

A portable design language for agents: download the markdown first, then inspect the preview, tokens, and rules as needed.

Download DESIGN.md

Portable DESIGN.md source of truth for most agents and apps.

the spec

specification

philosophy
summary
Decorated Terminal Shed treats an agentic software interface like a plain monochrome service building covered in meaningful sign layers: kanji-like operational marks, terminal labels, route numbers, and sparse neon wayfinding. It borrows Venturi and Scott Brown's decorated-shed logic without kitsch, Cranbrook-style typographic friction without illegibility, and manga panel discipline without cosplay.
values
symbol-bearing surfaces over decorative skinslegible complexity with operational hierarchymonochrome restraint interrupted only by navigational neonvernacular signage translated into product grammartechnical density that still feels usable
anti-values
×generic cyberpunk glow and purple-blue gradients×flat Memphis pastiche with random shapes×AI collage clutter with no route logic×soft SaaS cards detached from the concept
tokens
borders4 items
accent width
4px
character
architectural black outlines, exposed seams, route-tag notches, and square registration corners
default width
2px
style
solid with occasional double-rule dividers
colors12 items
accent
#B7FF2A
background
#F7F4EA
border
#111111
error
#D41111
info
#005F99
muted
#6B685F
primary
#0B0B0B
secondary
#F4F1E8
success
#2F8F1F
surface
#FFFDF5
text
#111111
warning
#B88600
motion3 items
duration
140ms
easing
steps(2, jump-end)
philosophy
motion behaves like terminal state changes and sign relays: short stepped shifts, no liquid easing or cinematic glow
radii5 items
full
9999px
lg
4px
md
2px
none
0
sm
0
shadows3 items
lg
10px 10px 0 #111111
md
6px 6px 0 #111111
sm
3px 3px 0 #111111
spacing2 items
base
8px
scale
4, 8, 12, 16, 24, 32, 48, 64
surfaces3 items
bg pattern
repeating-linear-gradient(90deg, rgba(17,17,17,.045) 0 1px, transparent 1px 32px), repeating-linear-gradient(0deg, rgba(17,17,17,.03) 0 1px, transparent 1px 24px)
card style
thick black bordered rectangular shed with offset symbolic sign plate
treatment
matte warm monochrome slabs with tiny registration ticks and scanline underlays
typography8 items
base size
16px
body font
IBM Plex Sans
google fonts url
https://fonts.googleapis.com/css2?family=Archivo:wdth,wght@62,700;62,900&family=IBM+Plex+Mono:wght@400;500;600&family=IBM+Plex+Sans:wght@400;500;600;700&display=swap
heading font
Archivo ExtraCondensed
letter spacing
-0.015em
line height
1.45
mono font
IBM Plex Mono
scale ratio
1.22
rules
composition

Compose screens as a decorated terminal building: a rational rectangular shell, explicit gutters, and symbolic sign layers attached to edges and junctions.

density

Moderately dense, like an operations console: many labels and states are allowed, but every block needs a clear owner, route, and action.

hierarchy

Primary work areas stay quiet and readable; signage, route labels, and neon appear at navigation decisions, status changes, and command affordances.

signature patterns
Decorated-shed cards: plain monochrome containers receive offset top-left sign plates with route numbers and vertical operational marks.Kanji-like system stamps are drawn as abstract SVG line clusters and placed as semantic badges, never as fake readable language.Terminal route rails use rotated monospace labels, double-rule borders, and acid-green active segments to guide navigation.Cranbrook-informed type layering appears as clipped oversized numerals behind modules, kept low contrast so content remains primary.Controls use hard black outlines, square corners, and stepped neon focus states to make interactivity visible without generic brutalism.
layout
breakpoints

desktop 1200+, tablet 768-1199 with two-column operations stack, mobile under 640 as single-column route feed with rails becoming horizontal.

grid

12-column desktop grid with 8px base gutters; modules snap to columns but sign plates may offset by one spacing unit for decorated-shed tension.

whitespace

Whitespace is functional margin around command zones, not luxury emptiness; dense labels cluster at edges while reading areas retain 16-24px internal padding.

guidance
do
  • Use black and warm white as the system shell and reserve acid green for active wayfinding or calls to action.
  • Attach symbolic labels to structural edges so decoration explains product state or navigation.
  • Keep manga and kanji references abstract, operational, and respectful rather than literal costume.
  • Let typography fragment at secondary layers while preserving clear body text and form labels.
avoid
  • Do not add generic cyberpunk gradients, blue glow, chrome, or rain-soaked neon atmosphere.
  • Do not scatter Memphis shapes randomly; every plate, mark, or number must identify a route, state, or module.
  • Do not soften the language into standard rounded SaaS cards.
  • Do not use fake readable Japanese text; use abstract marks, codes, and real English product labels.
katagami spec
# Decorated Terminal Shed

## Philosophy

Decorated Terminal Shed treats an agentic software interface like a plain monochrome service building covered in meaningful sign layers: kanji-like operational marks, terminal labels, route numbers, and sparse neon wayfinding. It borrows Venturi and Scott Brown's decorated-shed logic without kitsch, Cranbrook-style typographic friction without illegibility, and manga panel discipline without cosplay.

### Values

- symbol-bearing surfaces over decorative skins
- legible complexity with operational hierarchy
- monochrome restraint interrupted only by navigational neon
- vernacular signage translated into product grammar
- technical density that still feels usable

### Anti-Values

- generic cyberpunk glow and purple-blue gradients
- flat Memphis pastiche with random shapes
- AI collage clutter with no route logic
- soft SaaS cards detached from the concept

### Visual Character

- Use a black-white-shell palette with one acidic green accent reserved for active routes, primary actions, focus rings, and live status marks.
- Build the page from heavy bordered rectangular sheds, offset sign plates, and exposed grid gutters rather than floating glass or soft cards.
- Layer vertical micro-label rails, route-number pills, and kanji-like SVG stamps at panel edges while preserving readable primary content zones.
- Apply terminal scanline and registration cross patterns as low-contrast CSS backgrounds on surfaces, never as full-screen cyberpunk texture.
- Set hierarchy with condensed grotesque headings, pragmatic sans body text, and monospace command labels with tight uppercase tracking.

## Tokens

### Borders

- **Accent Width**: 4px
- **Character**: architectural black outlines, exposed seams, route-tag notches, and square registration corners
- **Default Width**: 2px
- **Style**: solid with occasional double-rule dividers

### Colors

| Name | Value |
|------|-------|
| accent | `#B7FF2A` |
| background | `#F7F4EA` |
| border | `#111111` |
| error | `#D41111` |
| info | `#005F99` |
| muted | `#6B685F` |
| primary | `#0B0B0B` |
| secondary | `#F4F1E8` |
| success | `#2F8F1F` |
| surface | `#FFFDF5` |
| text | `#111111` |
| warning | `#B88600` |

### Motion

- **Duration**: 140ms
- **Easing**: steps(2, jump-end)
- **Philosophy**: motion behaves like terminal state changes and sign relays: short stepped shifts, no liquid easing or cinematic glow

### Radii

- **Full**: 9999px
- **Lg**: 4px
- **Md**: 2px
- **None**: 0
- **Sm**: 0

### Shadows

- **Lg**: 10px 10px 0 #111111
- **Md**: 6px 6px 0 #111111
- **Sm**: 3px 3px 0 #111111

### Spacing

- **Base**: 8px
- **Scale**: [4,8,12,16,24,32,48,64]

### Surfaces

- **Bg Pattern**: repeating-linear-gradient(90deg, rgba(17,17,17,.045) 0 1px, transparent 1px 32px), repeating-linear-gradient(0deg, rgba(17,17,17,.03) 0 1px, transparent 1px 24px)
- **Card Style**: thick black bordered rectangular shed with offset symbolic sign plate
- **Treatment**: matte warm monochrome slabs with tiny registration ticks and scanline underlays

### Typography

- **Base Size**: 16px
- **Body Font**: IBM Plex Sans
- **Google Fonts Url**: https://fonts.googleapis.com/css2?family=Archivo:wdth,wght@62,700;62,900&family=IBM+Plex+Mono:wght@400;500;600&family=IBM+Plex+Sans:wght@400;500;600;700&display=swap
- **Heading Font**: Archivo ExtraCondensed
- **Letter Spacing**: -0.015em
- **Line Height**: 1.45
- **Mono Font**: IBM Plex Mono
- **Scale Ratio**: 1.22

## Rules

### Composition

Compose screens as a decorated terminal building: a rational rectangular shell, explicit gutters, and symbolic sign layers attached to edges and junctions.

### Density

Moderately dense, like an operations console: many labels and states are allowed, but every block needs a clear owner, route, and action.

### Hierarchy

Primary work areas stay quiet and readable; signage, route labels, and neon appear at navigation decisions, status changes, and command affordances.

### Signature Patterns

- Decorated-shed cards: plain monochrome containers receive offset top-left sign plates with route numbers and vertical operational marks.
- Kanji-like system stamps are drawn as abstract SVG line clusters and placed as semantic badges, never as fake readable language.
- Terminal route rails use rotated monospace labels, double-rule borders, and acid-green active segments to guide navigation.
- Cranbrook-informed type layering appears as clipped oversized numerals behind modules, kept low contrast so content remains primary.
- Controls use hard black outlines, square corners, and stepped neon focus states to make interactivity visible without generic brutalism.

## Layout

### Breakpoints

desktop 1200+, tablet 768-1199 with two-column operations stack, mobile under 640 as single-column route feed with rails becoming horizontal.

### Grid

12-column desktop grid with 8px base gutters; modules snap to columns but sign plates may offset by one spacing unit for decorated-shed tension.

### Whitespace

Whitespace is functional margin around command zones, not luxury emptiness; dense labels cluster at edges while reading areas retain 16-24px internal padding.

## Guidance

### Do

- Use black and warm white as the system shell and reserve acid green for active wayfinding or calls to action.
- Attach symbolic labels to structural edges so decoration explains product state or navigation.
- Keep manga and kanji references abstract, operational, and respectful rather than literal costume.
- Let typography fragment at secondary layers while preserving clear body text and form labels.

### Don't

- Do not add generic cyberpunk gradients, blue glow, chrome, or rain-soaked neon atmosphere.
- Do not scatter Memphis shapes randomly; every plate, mark, or number must identify a route, state, or module.
- Do not soften the language into standard rounded SaaS cards.
- Do not use fake readable Japanese text; use abstract marks, codes, and real English product labels.
DESIGN.md
---
version: "alpha"
name: "Decorated Terminal Shed"
description: "Agent-curated design language exported from Katagami as DESIGN.md."
colors:
  accent: "#B7FF2A"
  background: "#F7F4EA"
  border: "#111111"
  error: "#D41111"
  info: "#005F99"
  muted: "#6B685F"
  primary: "#0B0B0B"
  secondary: "#F4F1E8"
  success: "#2F8F1F"
  surface: "#FFFDF5"
  text: "#111111"
  warning: "#B88600"
typography:
  headline-lg:
    fontFamily: "Archivo ExtraCondensed"
    fontSize: "1.816rem"
    fontWeight: 700
    lineHeight: 1.1
    letterSpacing: "-0.015em"
  headline-md:
    fontFamily: "Archivo ExtraCondensed"
    fontSize: "1.488rem"
    fontWeight: 600
    lineHeight: 1.15
    letterSpacing: "-0.015em"
  body-md:
    fontFamily: "IBM Plex Sans"
    fontSize: "16px"
    fontWeight: 400
    lineHeight: 1.45
    letterSpacing: "-0.015em"
  label-md:
    fontFamily: "IBM Plex Mono"
    fontSize: "0.75rem"
    fontWeight: 600
    lineHeight: 1
    letterSpacing: "0.08em"
rounded:
  full: "9999px"
  lg: "4px"
  md: "2px"
  none: "0px"
  sm: "0px"
spacing:
  base: "8px"
  xs: "4px"
  sm: "8px"
  md: "12px"
  lg: "16px"
  xl: "24px"
  2xl: "32px"
  3xl: "48px"
  4xl: "64px"
components:
  color-reference-accent:
    backgroundColor: "{colors.accent}"
  color-reference-background:
    backgroundColor: "{colors.background}"
  color-reference-border:
    backgroundColor: "{colors.border}"
  color-reference-error:
    backgroundColor: "{colors.error}"
  color-reference-info:
    backgroundColor: "{colors.info}"
  color-reference-muted:
    backgroundColor: "{colors.muted}"
  color-reference-primary:
    backgroundColor: "{colors.primary}"
  color-reference-secondary:
    backgroundColor: "{colors.secondary}"
  color-reference-success:
    backgroundColor: "{colors.success}"
  color-reference-surface:
    backgroundColor: "{colors.surface}"
  color-reference-text:
    backgroundColor: "{colors.text}"
  color-reference-warning:
    backgroundColor: "{colors.warning}"
  button-primary:
    backgroundColor: "{colors.primary}"
    textColor: "#ffffff"
    typography: "{typography.label-md}"
    rounded: "{rounded.md}"
    padding: "{spacing.md}"
  card-surface:
    backgroundColor: "{colors.surface}"
    textColor: "{colors.text}"
    rounded: "{rounded.md}"
    padding: "{spacing.md}"
  input-default:
    backgroundColor: "{colors.surface}"
    textColor: "{colors.text}"
    rounded: "{rounded.md}"
    height: "44px"
---

# Decorated Terminal Shed

## Overview

Decorated Terminal Shed treats an agentic software interface like a plain monochrome service building covered in meaningful sign layers: kanji-like operational marks, terminal labels, route numbers, and sparse neon wayfinding. It borrows Venturi and Scott Brown's decorated-shed logic without kitsch, Cranbrook-style typographic friction without illegibility, and manga panel discipline without cosplay.

### Values

- symbol-bearing surfaces over decorative skins
- legible complexity with operational hierarchy
- monochrome restraint interrupted only by navigational neon
- vernacular signage translated into product grammar
- technical density that still feels usable

### Anti-Values

- generic cyberpunk glow and purple-blue gradients
- flat Memphis pastiche with random shapes
- AI collage clutter with no route logic
- soft SaaS cards detached from the concept

### Visual Character

- Use a black-white-shell palette with one acidic green accent reserved for active routes, primary actions, focus rings, and live status marks.
- Build the page from heavy bordered rectangular sheds, offset sign plates, and exposed grid gutters rather than floating glass or soft cards.
- Layer vertical micro-label rails, route-number pills, and kanji-like SVG stamps at panel edges while preserving readable primary content zones.
- Apply terminal scanline and registration cross patterns as low-contrast CSS backgrounds on surfaces, never as full-screen cyberpunk texture.
- Set hierarchy with condensed grotesque headings, pragmatic sans body text, and monospace command labels with tight uppercase tracking.

## Colors

Use the YAML color tokens as the normative palette. The prose below names the roles agents should preserve when generating UI.

| Token | Value |
|-------|-------|
| accent | `#B7FF2A` |
| background | `#F7F4EA` |
| border | `#111111` |
| error | `#D41111` |
| info | `#005F99` |
| muted | `#6B685F` |
| primary | `#0B0B0B` |
| secondary | `#F4F1E8` |
| success | `#2F8F1F` |
| surface | `#FFFDF5` |
| text | `#111111` |
| warning | `#B88600` |

## Typography

- **Headline-Lg**: Archivo ExtraCondensed, 1.816rem, weight 700, line-height 1.1.
- **Headline-Md**: Archivo ExtraCondensed, 1.488rem, weight 600, line-height 1.15.
- **Body-Md**: IBM Plex Sans, 16px, weight 400, line-height 1.45.
- **Label-Md**: IBM Plex Mono, 0.75rem, weight 600, line-height 1.

## Layout

### Spacing Tokens

- **Base**: `8px`
- **Xs**: `4px`
- **Sm**: `8px`
- **Md**: `12px`
- **Lg**: `16px`
- **Xl**: `24px`
- **2xl**: `32px`
- **3xl**: `48px`
- **4xl**: `64px`

### Breakpoints

desktop 1200+, tablet 768-1199 with two-column operations stack, mobile under 640 as single-column route feed with rails becoming horizontal.

### Grid

12-column desktop grid with 8px base gutters; modules snap to columns but sign plates may offset by one spacing unit for decorated-shed tension.

### Whitespace

Whitespace is functional margin around command zones, not luxury emptiness; dense labels cluster at edges while reading areas retain 16-24px internal padding.

## Elevation & Depth

### Shadows

- **Lg**: 10px 10px 0 #111111
- **Md**: 6px 6px 0 #111111
- **Sm**: 3px 3px 0 #111111

## Shapes

### Rounded

- **Full**: `9999px`
- **Lg**: `4px`
- **Md**: `2px`
- **None**: `0px`
- **Sm**: `0px`

### Surfaces

- **Bg Pattern**: repeating-linear-gradient(90deg, rgba(17,17,17,.045) 0 1px, transparent 1px 32px), repeating-linear-gradient(0deg, rgba(17,17,17,.03) 0 1px, transparent 1px 24px)
- **Card Style**: thick black bordered rectangular shed with offset symbolic sign plate
- **Treatment**: matte warm monochrome slabs with tiny registration ticks and scanline underlays

### Borders

- **Accent Width**: 4px
- **Character**: architectural black outlines, exposed seams, route-tag notches, and square registration corners
- **Default Width**: 2px
- **Style**: solid with occasional double-rule dividers

## Components

### Composition

Compose screens as a decorated terminal building: a rational rectangular shell, explicit gutters, and symbolic sign layers attached to edges and junctions.

### Density

Moderately dense, like an operations console: many labels and states are allowed, but every block needs a clear owner, route, and action.

### Hierarchy

Primary work areas stay quiet and readable; signage, route labels, and neon appear at navigation decisions, status changes, and command affordances.

### Signature Patterns

- Decorated-shed cards: plain monochrome containers receive offset top-left sign plates with route numbers and vertical operational marks.
- Kanji-like system stamps are drawn as abstract SVG line clusters and placed as semantic badges, never as fake readable language.
- Terminal route rails use rotated monospace labels, double-rule borders, and acid-green active segments to guide navigation.
- Cranbrook-informed type layering appears as clipped oversized numerals behind modules, kept low contrast so content remains primary.
- Controls use hard black outlines, square corners, and stepped neon focus states to make interactivity visible without generic brutalism.

## shadcn/ui Usage

When the target app uses shadcn/ui, copy DESIGN.md with shadcn instead of the plain DESIGN.md. It contains the same Katagami design-language source plus the shadcn/ui primitives, imports, theme variables, component recipes, and preview-shot guidance.

DESIGN.md with shadcn: `/language/en-019e8a06-93fd-7e83-94f3-27f1491ac377/DESIGN.with-shadcn.md`.

The shadcn page also exposes optional machine-readable files for automation, but the human-facing handoff is DESIGN.md with shadcn.

Install recommended primitives with `npx shadcn@latest add button card input textarea select dialog sheet tabs badge separator checkbox switch slider tooltip dropdown-menu table`.

Use these primitives in shadcn apps:
- button
- card
- input
- textarea
- select
- dialog
- sheet
- tabs
- badge
- separator
- checkbox
- switch
- slider
- tooltip
- dropdown-menu
- table

Implementation rule for agents: import shadcn primitives from `@/components/ui/*`, apply the generated CSS variables first, then compose the language-specific recipes from the companion MD. Katagami remains the source of truth; shadcn names are the implementation surface.

## Do's and Don'ts

- Do Use black and warm white as the system shell and reserve acid green for active wayfinding or calls to action.
- Do Attach symbolic labels to structural edges so decoration explains product state or navigation.
- Do Keep manga and kanji references abstract, operational, and respectful rather than literal costume.
- Do Let typography fragment at secondary layers while preserving clear body text and form labels.
- Don't Do not add generic cyberpunk gradients, blue glow, chrome, or rain-soaked neon atmosphere.
- Don't Do not scatter Memphis shapes randomly; every plate, mark, or number must identify a route, state, or module.
- Don't Do not soften the language into standard rounded SaaS cards.
- Don't Do not use fake readable Japanese text; use abstract marks, codes, and real English product labels.
shadcn/ui theme
```json
{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "decorated-terminal-shed",
  "type": "registry:theme",
  "title": "Decorated Terminal Shed shadcn Theme",
  "cssVars": {
    "theme": {},
    "light": {
      "background": "#F7F4EA",
      "foreground": "#111111",
      "card": "#FFFDF5",
      "card-foreground": "#111111",
      "popover": "#FFFDF5",
      "popover-foreground": "#111111",
      "primary": "#0B0B0B",
      "primary-foreground": "#ffffff",
      "secondary": "#F4F1E8",
      "secondary-foreground": "#111111",
      "muted": "#6B685F",
      "muted-foreground": "#111111",
      "accent": "#B7FF2A",
      "accent-foreground": "#111111",
      "destructive": "#D41111",
      "border": "#111111",
      "input": "#111111",
      "ring": "#B7FF2A",
      "chart-1": "#0B0B0B",
      "chart-2": "#F4F1E8",
      "chart-3": "#B7FF2A",
      "chart-4": "#2F8F1F",
      "chart-5": "#B88600",
      "sidebar": "#FFFDF5",
      "sidebar-foreground": "#111111",
      "sidebar-primary": "#0B0B0B",
      "sidebar-primary-foreground": "#ffffff",
      "sidebar-accent": "#005F99",
      "sidebar-accent-foreground": "#ffffff",
      "sidebar-border": "#111111",
      "sidebar-ring": "#B7FF2A",
      "radius": "2px"
    },
    "dark": {
      "background": "#0f1115",
      "foreground": "#f8fafc",
      "card": "#181b22",
      "card-foreground": "#f8fafc",
      "popover": "#181b22",
      "popover-foreground": "#f8fafc",
      "primary": "#0B0B0B",
      "primary-foreground": "#ffffff",
      "secondary": "#252a33",
      "secondary-foreground": "#f8fafc",
      "muted": "#252a33",
      "muted-foreground": "#a1a1aa",
      "accent": "#B7FF2A",
      "accent-foreground": "#111111",
      "destructive": "#D41111",
      "border": "#303642",
      "input": "#303642",
      "ring": "#B7FF2A",
      "chart-1": "#0B0B0B",
      "chart-2": "#F4F1E8",
      "chart-3": "#B7FF2A",
      "chart-4": "#2F8F1F",
      "chart-5": "#B88600",
      "sidebar": "#181b22",
      "sidebar-foreground": "#f8fafc",
      "sidebar-primary": "#0B0B0B",
      "sidebar-primary-foreground": "#ffffff",
      "sidebar-accent": "#B7FF2A",
      "sidebar-accent-foreground": "#111111",
      "sidebar-border": "#303642",
      "sidebar-ring": "#B7FF2A",
      "radius": "2px"
    }
  },
  "meta": {
    "source": "katagami",
    "languageId": "en-019e8a06-93fd-7e83-94f3-27f1491ac377",
    "slug": "decorated-terminal-shed",
    "componentManifest": [
      "button",
      "card",
      "input",
      "textarea",
      "select",
      "dialog",
      "sheet",
      "tabs",
      "badge",
      "separator",
      "checkbox",
      "switch",
      "slider",
      "tooltip",
      "dropdown-menu",
      "table"
    ],
    "installCommand": "npx shadcn@latest add button card input textarea select dialog sheet tabs badge separator checkbox switch slider tooltip dropdown-menu table",
    "nativeTokenNames": {
      "borders": [
        "accent_width",
        "character",
        "default_width",
        "style"
      ],
      "colors": [
        "accent",
        "background",
        "border",
        "error",
        "info",
        "muted",
        "primary",
        "secondary",
        "success",
        "surface",
        "text",
        "warning"
      ],
      "motion": [
        "duration",
        "easing",
        "philosophy"
      ],
      "radii": [
        "full",
        "lg",
        "md",
        "none",
        "sm"
      ],
      "shadows": [
        "lg",
        "md",
        "sm"
      ],
      "spacing": [
        "base",
        "scale"
      ],
      "surfaces": [
        "bg_pattern",
        "card_style",
        "treatment"
      ],
      "typography": [
        "base_size",
        "body_font",
        "google_fonts_url",
        "heading_font",
        "letter_spacing",
        "line_height",
        "mono_font",
        "scale_ratio"
      ]
    }
  }
}
```
in the wild

embodiments

the full element showcase
embodiment · decorated-terminal-shed
DESIGN.md

at a glance

Palette

Typography

headline-lgArchivo ExtraCondensed · 29px · 700

The quick brown fox jumps

headline-mdArchivo ExtraCondensed · 24px · 600

The quick brown fox jumps

body-mdIBM Plex Sans · 16px · 400

The quick brown fox jumps

label-mdIBM Plex Mono · 12px · 600

The quick brown fox jumps

Components

New
Card title

Components rendered with this language’s tokens — colors, type, and rounded corners as specified.

Spacing

  • base8px
  • xs4px
  • sm8px
  • md12px
  • lg16px
  • xl24px
  • 2xl32px
  • 3xl48px
  • 4xl64px

Shape

full9999px
lg4px
md2px
none0px
sm0px
shadcn/ui

implementation kit

agent-authored kitstored + verified
shadcn implementation kit
These scenes and recipes came from the Katagami review agent and can be copied as the shadcn implementation layer.
shadsync shotsstored + verifiedpaper-collage

Decorated Terminal Shed

Agent-authored scenes, component recipes, and visual profile rendered on local shadcn-style primitives.

thick black bordered rectangular shed with offset symbolic sign plate
ROUTE R-07 / LIVEapplication-shell

Operations terminal for service dispatch

A rectilinear product shell with signage rails, hard black card borders, abstract stamp marks, and one acid-green active route.

buttoncardinputselecttabsbadgeseparatortable
Decorated Terminal Shed
shadcn layer
Overview
Components
Reviews
Exports
primaryaccentsurfacemutedwarningerror
Active gates
18
Delayed loads
03
Signal health
97%
Component coverage
Filters, state, and row density rendered with the generated theme.
SurfaceStateStatus
Primary flowmappedactive
Token coveragesemanticsynced
Responsive proofqueuedreview
Must show
Avoid
EDIT BAY / MANIFESTdetail-editor

Route manifest detail editor

Form controls sit inside a paper notice-board frame with boxed labels, black seams, and acid-green focus state.

buttoncardinputtextareaselectcheckboxswitchslider
Recipe details
Labels, validation, written guidance, and controls stay visible.
Density68
FocusInvalidConfirmed
Context sheet
Generated with the language job
sheet
Route code
R-07
Dock note
Verify cold-chain seal
Operator
Kata-13
Must show
Avoid
QUEUE / TABLEdata-operations

Terminal queue with component controls

Tables, dropdown actions, badges, sliders, switches, and separators form a plausible operations screen rather than a component inventory wall.

buttontabsbadgedropdown-menutabletooltipseparator
Terminal queue with component controls
Tables, dropdown actions, badges, sliders, switches, and separators form a plausible operations screen rather than a component inventory wall.
liveholdready
CheckFindingStatus
Button hierarchyapprovedlive
Table rhythmneeds passhold
Empty statedesignedready
Responsive table, menu, tooltip, and badge proof.
Must show
Avoid
recommendedagent kit includedverified

DESIGN.md with shadcn

Copy this when the target app uses shadcn/ui. It packages the Katagami DESIGN.md context with the install list, theme variables, component recipes, preview-shot contract, and starter TSX in one Markdown companion.

advanced implementation filesoptional machine-readable theme, CSS, TSX starter, recipes, and preview contract
shadcn add
npx shadcn@latest add button card input textarea select dialog sheet tabs badge separator checkbox switch slider tooltip dropdown-menu table
theme css
:root {
  --background: #F7F4EA;
  --foreground: #111111;
  --card: #FFFDF5;
  --card-foreground: #111111;
  --popover: #FFFDF5;
  --popover-foreground: #111111;
  --primary: #0B0B0B;
  --primary-foreground: #ffffff;
  --secondary: #F4F1E8;
  --secondary-foreground: #111111;
  --muted: #6B685F;
  --muted-foreground: #111111;
  --accent: #B7FF2A;
  --accent-foreground: #111111;
  --destructive: #D41111;
  --border: #111111;
  --input: #111111;
  --ring: #B7FF2A;
  --chart-1: #0B0B0B;
  --chart-2: #F4F1E8;
  --chart-3: #B7FF2A;
  --chart-4: #2F8F1F;
  --chart-5: #B88600;
  --sidebar: #FFFDF5;
  --sidebar-foreground: #111111;
  --sidebar-primary: #0B0B0B;
  --sidebar-primary-foreground: #ffffff;
  --sidebar-accent: #005F99;
  --sidebar-accent-foreground: #ffffff;
  --sidebar-border: #111111;
  --sidebar-ring: #B7FF2A;
  --radius: 2px;
}

.dark {
  --background: #0f1115;
  --foreground: #f8fafc;
  --card: #181b22;
  --card-foreground: #f8fafc;
  --popover: #181b22;
  --popover-foreground: #f8fafc;
  --primary: #0B0B0B;
  --primary-foreground: #ffffff;
  --secondary: #252a33;
  --secondary-foreground: #f8fafc;
  --muted: #252a33;
  --muted-foreground: #a1a1aa;
  --accent: #B7FF2A;
  --accent-foreground: #111111;
  --destructive: #D41111;
  --border: #303642;
  --input: #303642;
  --ring: #B7FF2A;
  --chart-1: #0B0B0B;
  --chart-2: #F4F1E8;
  --chart-3: #B7FF2A;
  --chart-4: #2F8F1F;
  --chart-5: #B88600;
  --sidebar: #181b22;
  --sidebar-foreground: #f8fafc;
  --sidebar-primary: #0B0B0B;
  --sidebar-primary-foreground: #ffffff;
  --sidebar-accent: #B7FF2A;
  --sidebar-accent-foreground: #111111;
  --sidebar-border: #303642;
  --sidebar-ring: #B7FF2A;
  --radius: 2px;
}
tsx starter
import { Badge } from "@/components/ui/badge";
import { Button } from "@/components/ui/button";
import {
  Card,
  CardContent,
  CardDescription,
  CardFooter,
  CardHeader,
  CardTitle,
} from "@/components/ui/card";
import { Input } from "@/components/ui/input";
import { Tabs, TabsList, TabsTrigger } from "@/components/ui/tabs";

export function DecoratedTerminalShedShadcnKit() {
  return (
    <section className="grid gap-4 rounded-[var(--radius)] border bg-background p-4 text-foreground">
      <div className="flex items-start justify-between gap-4">
        <div>
          <Badge variant="outline">shadcn/ui</Badge>
          <h2 className="mt-3 text-2xl font-semibold tracking-tight">Decorated Terminal Shed</h2>
          <p className="mt-1 max-w-xl text-sm text-muted-foreground">
            Use the Katagami registry theme, then compose these shadcn primitives
            with the language-specific component recipes.
          </p>
        </div>
        <Button>Apply theme</Button>
      </div>

      <Tabs defaultValue="components">
        <TabsList>
          <TabsTrigger value="components">Components</TabsTrigger>
          <TabsTrigger value="states">States</TabsTrigger>
          <TabsTrigger value="export">Export</TabsTrigger>
        </TabsList>
      </Tabs>

      <Card>
        <CardHeader>
          <CardTitle>Component recipe</CardTitle>
          <CardDescription>
            Replace this starter content with the agent-authored product scene
            from components.md and preview-shots.json.
          </CardDescription>
        </CardHeader>
        <CardContent className="grid gap-3 sm:grid-cols-[1fr_auto]">
          <Input defaultValue="Tokenized shadcn surface" aria-label="Recipe name" />
          <Button variant="secondary">Preview state</Button>
        </CardContent>
        <CardFooter className="justify-between">
          <Badge>Ready</Badge>
          <Button variant="outline">Copy recipe</Button>
        </CardFooter>
      </Card>
    </section>
  );
}
theme JSONstored + verified
{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "cssVars": {
    "dark": {
      "accent": "#FF2FB3",
      "accent-foreground": "#ffffff",
      "background": "#0f1115",
      "border": "#303642",
      "card": "#181b22",
      "card-foreground": "#f8fafc",
      "chart-1": "#111111",
      "chart-2": "#F4F1E8",
      "chart-3": "#FF2FB3",
      "chart-4": "#16824A",
      "chart-5": "#F0B400",
      "destructive": "#D82020",
      "foreground": "#f8fafc",
      "input": "#303642",
      "muted": "#252a33",
      "muted-foreground": "#a1a1aa",
      "popover": "#181b22",
      "popover-foreground": "#f8fafc",
      "primary": "#111111",
      "primary-foreground": "#ffffff",
      "radius": "2px",
      "ring": "#FF2FB3",
      "secondary": "#252a33",
      "secondary-foreground": "#f8fafc",
      "sidebar": "#181b22",
      "sidebar-accent": "#FF2FB3",
      "sidebar-accent-foreground": "#ffffff",
      "sidebar-border": "#303642",
      "sidebar-foreground": "#f8fafc",
      "sidebar-primary": "#111111",
      "sidebar-primary-foreground": "#ffffff",
      "sidebar-ring": "#FF2FB3"
    },
    "light": {
      "accent": "#FF2FB3",
      "accent-foreground": "#ffffff",
      "background": "#F8F6EF",
      "border": "#0A0A0A",
      "card": "#FFFFFF",
      "card-foreground": "#0A0A0A",
      "chart-1": "#111111",
      "chart-2": "#F4F1E8",
      "chart-3": "#FF2FB3",
      "chart-4": "#16824A",
      "chart-5": "#F0B400",
      "destructive": "#D82020",
      "foreground": "#0A0A0A",
      "input": "#0A0A0A",
      "muted": "#6F6A60",
      "muted-foreground": "#0A0A0A",
      "popover": "#FFFFFF",
      "popover-foreground": "#0A0A0A",
      "primary": "#111111",
      "primary-foreground": "#ffffff",
      "radius": "2px",
      "ring": "#FF2FB3",
      "secondary": "#F4F1E8",
      "secondary-foreground": "#111111",
      "sidebar": "#FFFFFF",
      "sidebar-accent": "#285CFF",
      "sidebar-accent-foreground": "#ffffff",
      "sidebar-border": "#0A0A0A",
      "sidebar-foreground": "#0A0A0A",
      "sidebar-primary": "#111111",
      "sidebar-primary-foreground": "#ffffff",
      "sidebar-ring": "#FF2FB3"
    },
    "theme": {}
  },
  "meta": {
    "componentManifest": [
      "button",
      "card",
      "input",
      "textarea",
      "select",
      "dialog",
      "sheet",
      "tabs",
      "badge",
      "separator",
      "checkbox",
      "switch",
      "slider",
      "tooltip",
      "dropdown-menu",
      "table"
    ],
    "installCommand": "npx shadcn@latest add button card input textarea select dialog sheet tabs badge separator checkbox switch slider tooltip dropdown-menu table",
    "languageId": "en-019e8a07-1eda-76f2-88c6-015b480e5241",
    "nativeTokenNames": {
      "borders": [
        "accent_width",
        "character",
        "default_width",
        "style"
      ],
      "colors": [
        "accent",
        "background",
        "border",
        "error",
        "info",
        "muted",
        "primary",
        "secondary",
        "success",
        "surface",
        "text",
        "warning"
      ],
      "motion": [
        "duration",
        "easing",
        "philosophy"
      ],
      "radii": [
        "full",
        "lg",
        "md",
        "none",
        "sm"
      ],
      "shadows": [
        "lg",
        "md",
        "sm"
      ],
      "spacing": [
        "base",
        "scale"
      ],
      "surfaces": [
        "bg_pattern",
        "card_style",
        "treatment"
      ],
      "typography": [
        "base_size",
        "body_font",
        "google_fonts_url",
        "heading_font",
        "letter_spacing",
        "line_height",
        "mono_font",
        "scale_ratio"
      ]
    },
    "slug": "decorated-terminal-shed",
    "source": "katagami"
  },
  "name": "decorated-terminal-shed",
  "title": "Decorated Terminal Shed shadcn Theme",
  "type": "registry:theme"
}
component recipesstored + verified
# shadcn/ui Components — Decorated Terminal Shed

Author: `katagami-agent`

## ShadSync visual profile
- Family: decorated-terminal-shed
- Material: warm paper panels, black ink architecture, sparse acid green state indicators.
- Contour: rectilinear components with square registration corners; badges may use small route-chip radius only.
- Border: 2px black structural outlines, doubled seams on important panels, 4px acid-green active rails.
- Grain and underlay: subtle paper grain and terminal-grid underlays behind product content.

## Signature component recipes
### button
Use Button with uppercase mono route prefix, black border, paper fill, hard 3px black shadow; primary adds acid-green left rail and active route code.

### card
Use Card as a plain shed wall: paper background, 2px black outline, square corner ticks, route label in CardHeader, black offset shadow, optional abstract stamp in a corner.

### input
Use Input with white/paper fill, 2px black border, mono inset label, acid-green focus ring, and no browser-default blue glow.

### textarea
Use Textarea as a dispatch log panel with mono row code, paper fill, black border, and acid-green focus edge.

### select
Use SelectTrigger with compact route code, chevron inside a boxed black cell, selected state marked with acid-green underline.

### dialog
Use DialogContent as a terminal notice board: thick black frame, route-badge header, hard shadow, abstract safety-mark background.

### sheet
Use Sheet as a sliding service bay with vertical route tabs, black seam border, paper grain, and fixed-width operational actions.

### tabs
Use TabsList as track signage; TabsTrigger uses mono route IDs, black separators, and acid-green active top bar.

### badge
Use Badge for route chips, stamp labels, and state tags; keep black outline and paper fill, acid green only for live states.

### separator
Use Separator as architectural seam; 2px black or dotted registration line with optional small square endpoints.

### checkbox
Use Checkbox with black square frame and acid-green checked fill plus black mark, no rounded default softness.

### switch
Use Switch as a rail signal: rectangular track, black border, acid-green active track, square-ish thumb.

### slider
Use Slider as route capacity rail with black track, acid-green filled range, square handles with registration ticks.

### tooltip
Use TooltipContent as a small route placard, paper fill, black outline, mono label, no translucent glass.

### dropdown-menu
Use DropdownMenuContent as stacked terminal signage, black dividers, hover row with acid-green edge marker.

### table
Use Table with strong black row rules, mono station IDs, acid-green selected row rail, and abstract stamp in empty states.

## Preview shots
- `application-shell`: dashboard route board with sidebar signs and live operations cards.
- `detail-editor`: record editor with dispatch fields, warning badges, and abstract terminal stamp.
- `data-operations`: table-heavy queue with filters, dropdown actions, capacity slider, and state chips.

## Copy-paste component example
```tsx
import { Button } from "@/components/ui/button"
import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card"
import { Badge } from "@/components/ui/badge"
import { Input } from "@/components/ui/input"

export function TerminalShedPanel() {
  return (
    <Card className="rounded-[2px] border-2 border-black bg-[var(--card)] shadow-[6px_6px_0_#111]">
      <CardHeader className="border-b-2 border-black">
        <Badge className="w-fit rounded-[2px] border border-black bg-[var(--accent)] font-mono text-black">R-07 LIVE</Badge>
        <CardTitle className="font-black uppercase tracking-tight">Dispatch Route Board</CardTitle>
      </CardHeader>
      <CardContent className="grid gap-4 p-4">
        <Input className="rounded-[2px] border-2 border-black font-mono focus-visible:ring-[var(--accent)]" defaultValue="GATE / LOAD / VERIFY" />
        <Button className="rounded-[2px] border-2 border-black bg-black font-mono text-[var(--accent)] shadow-[3px_3px_0_#B7FF2A]">COMMIT ROUTE</Button>
      </CardContent>
    </Card>
  )
}
```
preview shotsstored + verified
{
  "artifact": "katagami:shadcn-preview-shots",
  "author": "katagami-agent",
  "componentRecipes": [
    {
      "component": "button",
      "recipe": "Use Button with uppercase mono route prefix, black border, paper fill, hard 3px black shadow; primary adds acid-green left rail and active route code.",
      "shapeScale": "rectilinear controls, 0-4px radius; route badges may be compact chips",
      "usesShadcnPrimitive": true
    },
    {
      "component": "card",
      "recipe": "Use Card as a plain shed wall: paper background, 2px black outline, square corner ticks, route label in CardHeader, black offset shadow, optional abstract stamp in a corner.",
      "shapeScale": "rectilinear controls, 0-4px radius; route badges may be compact chips",
      "usesShadcnPrimitive": true
    },
    {
      "component": "input",
      "recipe": "Use Input with white/paper fill, 2px black border, mono inset label, acid-green focus ring, and no browser-default blue glow.",
      "shapeScale": "rectilinear controls, 0-4px radius; route badges may be compact chips",
      "usesShadcnPrimitive": true
    },
    {
      "component": "textarea",
      "recipe": "Use Textarea as a dispatch log panel with mono row code, paper fill, black border, and acid-green focus edge.",
      "shapeScale": "rectilinear controls, 0-4px radius; route badges may be compact chips",
      "usesShadcnPrimitive": true
    },
    {
      "component": "select",
      "recipe": "Use SelectTrigger with compact route code, chevron inside a boxed black cell, selected state marked with acid-green underline.",
      "shapeScale": "rectilinear controls, 0-4px radius; route badges may be compact chips",
      "usesShadcnPrimitive": true
    },
    {
      "component": "dialog",
      "recipe": "Use DialogContent as a terminal notice board: thick black frame, route-badge header, hard shadow, abstract safety-mark background.",
      "shapeScale": "rectilinear controls, 0-4px radius; route badges may be compact chips",
      "usesShadcnPrimitive": true
    },
    {
      "component": "sheet",
      "recipe": "Use Sheet as a sliding service bay with vertical route tabs, black seam border, paper grain, and fixed-width operational actions.",
      "shapeScale": "rectilinear controls, 0-4px radius; route badges may be compact chips",
      "usesShadcnPrimitive": true
    },
    {
      "component": "tabs",
      "recipe": "Use TabsList as track signage; TabsTrigger uses mono route IDs, black separators, and acid-green active top bar.",
      "shapeScale": "rectilinear controls, 0-4px radius; route badges may be compact chips",
      "usesShadcnPrimitive": true
    },
    {
      "component": "badge",
      "recipe": "Use Badge for route chips, stamp labels, and state tags; keep black outline and paper fill, acid green only for live states.",
      "shapeScale": "rectilinear controls, 0-4px radius; route badges may be compact chips",
      "usesShadcnPrimitive": true
    },
    {
      "component": "separator",
      "recipe": "Use Separator as architectural seam; 2px black or dotted registration line with optional small square endpoints.",
      "shapeScale": "rectilinear controls, 0-4px radius; route badges may be compact chips",
      "usesShadcnPrimitive": true
    },
    {
      "component": "checkbox",
      "recipe": "Use Checkbox with black square frame and acid-green checked fill plus black mark, no rounded default softness.",
      "shapeScale": "rectilinear controls, 0-4px radius; route badges may be compact chips",
      "usesShadcnPrimitive": true
    },
    {
      "component": "switch",
      "recipe": "Use Switch as a rail signal: rectangular track, black border, acid-green active track, square-ish thumb.",
      "shapeScale": "rectilinear controls, 0-4px radius; route badges may be compact chips",
      "usesShadcnPrimitive": true
    },
    {
      "component": "slider",
      "recipe": "Use Slider as route capacity rail with black track, acid-green filled range, square handles with registration ticks.",
      "shapeScale": "rectilinear controls, 0-4px radius; route badges may be compact chips",
      "usesShadcnPrimitive": true
    },
    {
      "component": "tooltip",
      "recipe": "Use TooltipContent as a small route placard, paper fill, black outline, mono label, no translucent glass.",
      "shapeScale": "rectilinear controls, 0-4px radius; route badges may be compact chips",
      "usesShadcnPrimitive": true
    },
    {
      "component": "dropdown-menu",
      "recipe": "Use DropdownMenuContent as stacked terminal signage, black dividers, hover row with acid-green edge marker.",
      "shapeScale": "rectilinear controls, 0-4px radius; route badges may be compact chips",
      "usesShadcnPrimitive": true
    },
    {
      "component": "table",
      "recipe": "Use Table with strong black row rules, mono station IDs, acid-green selected row rail, and abstract stamp in empty states.",
      "shapeScale": "rectilinear controls, 0-4px radius; route badges may be compact chips",
      "usesShadcnPrimitive": true
    }
  ],
  "generatedBy": "katagami-agent",
  "renderable": true,
  "requiresVisualProfile": true,
  "schema": "katagami:shadcn-preview-shots/renderable-v1",
  "shots": [
    {
      "id": "application-shell",
      "scene": {
        "actions": [
          "Commit route",
          "Open bay sheet"
        ],
        "description": "A rectilinear product shell with signage rails, hard black card borders, abstract stamp marks, and one acid-green active route.",
        "eyebrow": "ROUTE R-07 / LIVE",
        "fields": [
          {
            "label": "Search route",
            "value": "terminal-shed"
          },
          {
            "label": "Mode",
            "value": "dispatch"
          }
        ],
        "headline": "Operations terminal for service dispatch",
        "stats": [
          {
            "label": "Active gates",
            "value": "18"
          },
          {
            "label": "Delayed loads",
            "value": "03"
          },
          {
            "label": "Signal health",
            "value": "97%"
          }
        ]
      },
      "title": "Application Shell"
    },
    {
      "id": "detail-editor",
      "scene": {
        "actions": [
          "Save manifest",
          "Escalate warning"
        ],
        "description": "Form controls sit inside a paper notice-board frame with boxed labels, black seams, and acid-green focus state.",
        "eyebrow": "EDIT BAY / MANIFEST",
        "fields": [
          {
            "label": "Route code",
            "value": "R-07"
          },
          {
            "label": "Dock note",
            "value": "Verify cold-chain seal"
          },
          {
            "label": "Operator",
            "value": "Kata-13"
          }
        ],
        "headline": "Route manifest detail editor",
        "stats": [
          {
            "label": "Warnings",
            "value": "2"
          },
          {
            "label": "Fields locked",
            "value": "5"
          }
        ]
      },
      "title": "Detail Editor"
    },
    {
      "id": "data-operations",
      "scene": {
        "actions": [
          "Filter queue",
          "Export route sheet"
        ],
        "description": "Tables, dropdown actions, badges, sliders, switches, and separators form a plausible operations screen rather than a component inventory wall.",
        "eyebrow": "QUEUE / TABLE",
        "headline": "Terminal queue with component controls",
        "rows": [
          {
            "id": "ST-104",
            "load": "82%",
            "route": "North Shed",
            "state": "live"
          },
          {
            "id": "ST-118",
            "load": "41%",
            "route": "Cold Gate",
            "state": "hold"
          },
          {
            "id": "ST-221",
            "load": "63%",
            "route": "Express Rail",
            "state": "ready"
          }
        ],
        "stats": [
          {
            "label": "Rows selected",
            "value": "12"
          },
          {
            "label": "Capacity",
            "value": "68%"
          }
        ]
      },
      "title": "Data Operations"
    }
  ],
  "version": "preview-shots-v1",
  "visualProfile": {
    "accents": [
      "acid-green active routes",
      "black terminal labels",
      "abstract system glyph stamps"
    ],
    "border": "2px black outlines, occasional doubled route seams, 4px acid-green active edge",
    "contour": "rectilinear shed panels with square registration corners",
    "density": "moderately dense operational signage",
    "family": "decorated-terminal-shed",
    "grain": true,
    "material": "warm paper interface with black ink architecture",
    "motion": "short mechanical snap, no soft drift",
    "stickerBadges": true,
    "underlay": true
  }
}
related

More like this