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
A functional monochrome product shell treated as a decorated shed: plain terminal structure carries expressive symbolic signage, route numerals, code labels, and sparse neon wayfinding accents without becoming cyberpunk spectacle.
values
ordinary interface structure made legible before ornamentvernacular sign logic translated into usable navigationpostmodern plural symbols held inside disciplined black and white product grammartechnical agentic software made memorable through labels, routes, and glyph layers
anti-values
×generic glowing cyberpunk dashboards×flat Memphis confetti without material or interface purpose×AI collage noise that competes with task hierarchy×illegible deconstruction applied to body copy or core controls
tokens
borders4 items
accent width
4px
character
architectural black outlines interrupted by small route tabs and neon active rails
default width
2px
style
solid
colors12 items
accent
#FF2FB3
background
#F8F6EF
border
#0A0A0A
error
#D82020
info
#285CFF
muted
#6F6A60
primary
#111111
secondary
#F4F1E8
success
#16824A
surface
#FFFFFF
text
#0A0A0A
warning
#F0B400
motion3 items
duration
140ms
easing
steps(2, end)
philosophy
motion behaves like terminal signage: snapped tab changes, one-step marquee pulses, and no floaty parallax
radii5 items
full
9999px
lg
6px
md
2px
none
0
sm
0
shadows3 items
lg
10px 10px 0 #0A0A0A
md
6px 6px 0 #0A0A0A
sm
3px 3px 0 #0A0A0A
spacing2 items
base
8px
scale
4, 8, 12, 16, 24, 32, 48, 64
surfaces3 items
bg pattern
thin route-map grid, diagonal shed-roof stripe bands, and low-opacity glyph stamps
card style
rectangular bordered cards with billboard header strips and code-stamp corner labels
treatment
flat paper-white and ink-black panels with halftone dot underlays and sparse neon sign bulbs
typography8 items
base size
16px
body font
IBM Plex Sans
google fonts url
https://fonts.googleapis.com/css2?family=Archivo+Black&family=IBM+Plex+Mono:wght@400;500;700&family=IBM+Plex+Sans:wght@400;500;600;700&display=swap
heading font
Archivo Black
letter spacing
-0.015em
line height
1.48
mono font
IBM Plex Mono
scale ratio
1.22
rules
composition
Build pages as a plain terminal shed first: header marquee, left route board, central work bay, and right status billboard, all aligned to a strict modular grid.
density

Medium-high density is allowed in rails and status boards, but primary work cards keep generous 16-24px internal padding.

hierarchy

Use condensed black display type for destinations, IBM Plex Sans for task copy, and mono labels for commands, statuses, route IDs, and symbolic annotations.

signature patterns
Billboard headers attach to cards as black rectangular strips with reversed text, route chips, and one neon edge light on active states.Symbol rails run along panel edges using writing-mode vertical-rl, faux kanji glyphs, and command labels as navigational decoration.Terminal route maps appear as CSS linear-gradient grid backgrounds with numbered nodes that connect product flows to vernacular signage.Primary controls use a double border: a black structural outline plus a 3px neon offset underline that snaps on hover and focus.Halftone shed shadows are made with radial-gradient dot fields clipped behind panels rather than soft blur or glass effects.
layout
breakpoints

mobile 375px, tablet 768px, desktop 1200px, wide 1440px

grid

12-column desktop grid with fixed sign rails, central 7-column work bay, and billboard side panels; mobile collapses to a stacked route itinerary.

whitespace

Whitespace is functional negative space: tight in label rails, open around the primary terminal bay and editorial hero copy.

guidance
do
  • Let black and white carry the system and use neon only for active route, focus, and primary action.
  • Treat every ornament as a sign, label, route marker, command, or state indicator.
  • Keep body text normal and readable while placing deconstruction in margins, tabs, and overlays.
  • Use hard rectangular geometry, exposed borders, and plain UI affordances before symbolic decoration.
avoid
  • Do not add generic cyan-purple cyberpunk glows, holograms, or glassmorphism.
  • Do not scatter Memphis shapes as background confetti without interface meaning.
  • Do not distort core copy, inputs, or tables in the name of deconstruction.
  • Do not use more than one neon accent family per composition.
katagami spec
# Decorated Terminal Shed

## Philosophy

A functional monochrome product shell treated as a decorated shed: plain terminal structure carries expressive symbolic signage, route numerals, code labels, and sparse neon wayfinding accents without becoming cyberpunk spectacle.

### Values

- ordinary interface structure made legible before ornament
- vernacular sign logic translated into usable navigation
- postmodern plural symbols held inside disciplined black and white product grammar
- technical agentic software made memorable through labels, routes, and glyph layers

### Anti-Values

- generic glowing cyberpunk dashboards
- flat Memphis confetti without material or interface purpose
- AI collage noise that competes with task hierarchy
- illegible deconstruction applied to body copy or core controls

### Visual Character

- Use a black and white CSS grid shell with thick 2px structural borders, exposed gutters, and rectangular panels that read as a plain terminal building.
- Overlay each major region with absolute-positioned sign rails: route numbers, bracketed command labels, and kanji-like glyph plaques constrained to border zones.
- Reserve one sparse neon accent as CSS variables for active navigation, primary calls-to-action, focus rings, and tiny marquee bulbs only.
- Create decorated-shed depth with striped roof bands, billboard tabs, and hanging label panels while keeping content cards flat, rectangular, and highly readable.
- Use layered typography through rotated micro-labels, mono code stamps, and condensed headings, never through distorted paragraph text.

## Tokens

### Borders

- **Accent Width**: 4px
- **Character**: architectural black outlines interrupted by small route tabs and neon active rails
- **Default Width**: 2px
- **Style**: solid

### Colors

| Name | Value |
|------|-------|
| accent | `#FF2FB3` |
| background | `#F8F6EF` |
| border | `#0A0A0A` |
| error | `#D82020` |
| info | `#285CFF` |
| muted | `#6F6A60` |
| primary | `#111111` |
| secondary | `#F4F1E8` |
| success | `#16824A` |
| surface | `#FFFFFF` |
| text | `#0A0A0A` |
| warning | `#F0B400` |

### Motion

- **Duration**: 140ms
- **Easing**: steps(2, end)
- **Philosophy**: motion behaves like terminal signage: snapped tab changes, one-step marquee pulses, and no floaty parallax

### Radii

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

### Shadows

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

### Spacing

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

### Surfaces

- **Bg Pattern**: thin route-map grid, diagonal shed-roof stripe bands, and low-opacity glyph stamps
- **Card Style**: rectangular bordered cards with billboard header strips and code-stamp corner labels
- **Treatment**: flat paper-white and ink-black panels with halftone dot underlays and sparse neon sign bulbs

### Typography

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

## Rules

### Composition

Build pages as a plain terminal shed first: header marquee, left route board, central work bay, and right status billboard, all aligned to a strict modular grid.

### Density

Medium-high density is allowed in rails and status boards, but primary work cards keep generous 16-24px internal padding.

### Hierarchy

Use condensed black display type for destinations, IBM Plex Sans for task copy, and mono labels for commands, statuses, route IDs, and symbolic annotations.

### Signature Patterns

- Billboard headers attach to cards as black rectangular strips with reversed text, route chips, and one neon edge light on active states.
- Symbol rails run along panel edges using writing-mode vertical-rl, faux kanji glyphs, and command labels as navigational decoration.
- Terminal route maps appear as CSS linear-gradient grid backgrounds with numbered nodes that connect product flows to vernacular signage.
- Primary controls use a double border: a black structural outline plus a 3px neon offset underline that snaps on hover and focus.
- Halftone shed shadows are made with radial-gradient dot fields clipped behind panels rather than soft blur or glass effects.

## Layout

### Breakpoints

mobile 375px, tablet 768px, desktop 1200px, wide 1440px

### Grid

12-column desktop grid with fixed sign rails, central 7-column work bay, and billboard side panels; mobile collapses to a stacked route itinerary.

### Whitespace

Whitespace is functional negative space: tight in label rails, open around the primary terminal bay and editorial hero copy.

## Guidance

### Do

- Let black and white carry the system and use neon only for active route, focus, and primary action.
- Treat every ornament as a sign, label, route marker, command, or state indicator.
- Keep body text normal and readable while placing deconstruction in margins, tabs, and overlays.
- Use hard rectangular geometry, exposed borders, and plain UI affordances before symbolic decoration.

### Don't

- Do not add generic cyan-purple cyberpunk glows, holograms, or glassmorphism.
- Do not scatter Memphis shapes as background confetti without interface meaning.
- Do not distort core copy, inputs, or tables in the name of deconstruction.
- Do not use more than one neon accent family per composition.
DESIGN.md
---
version: "alpha"
name: "Decorated Terminal Shed"
description: "Agent-curated design language exported from Katagami as DESIGN.md."
colors:
  accent: "#FF2FB3"
  background: "#F8F6EF"
  border: "#0A0A0A"
  error: "#D82020"
  info: "#285CFF"
  muted: "#6F6A60"
  primary: "#111111"
  secondary: "#F4F1E8"
  success: "#16824A"
  surface: "#FFFFFF"
  text: "#0A0A0A"
  warning: "#F0B400"
typography:
  headline-lg:
    fontFamily: "Archivo Black"
    fontSize: "1.816rem"
    fontWeight: 700
    lineHeight: 1.1
    letterSpacing: "-0.015em"
  headline-md:
    fontFamily: "Archivo Black"
    fontSize: "1.488rem"
    fontWeight: 600
    lineHeight: 1.15
    letterSpacing: "-0.015em"
  body-md:
    fontFamily: "IBM Plex Sans"
    fontSize: "16px"
    fontWeight: 400
    lineHeight: 1.48
    letterSpacing: "-0.015em"
  label-md:
    fontFamily: "IBM Plex Mono"
    fontSize: "0.75rem"
    fontWeight: 600
    lineHeight: 1
    letterSpacing: "0.08em"
rounded:
  full: "9999px"
  lg: "6px"
  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

A functional monochrome product shell treated as a decorated shed: plain terminal structure carries expressive symbolic signage, route numerals, code labels, and sparse neon wayfinding accents without becoming cyberpunk spectacle.

### Values

- ordinary interface structure made legible before ornament
- vernacular sign logic translated into usable navigation
- postmodern plural symbols held inside disciplined black and white product grammar
- technical agentic software made memorable through labels, routes, and glyph layers

### Anti-Values

- generic glowing cyberpunk dashboards
- flat Memphis confetti without material or interface purpose
- AI collage noise that competes with task hierarchy
- illegible deconstruction applied to body copy or core controls

### Visual Character

- Use a black and white CSS grid shell with thick 2px structural borders, exposed gutters, and rectangular panels that read as a plain terminal building.
- Overlay each major region with absolute-positioned sign rails: route numbers, bracketed command labels, and kanji-like glyph plaques constrained to border zones.
- Reserve one sparse neon accent as CSS variables for active navigation, primary calls-to-action, focus rings, and tiny marquee bulbs only.
- Create decorated-shed depth with striped roof bands, billboard tabs, and hanging label panels while keeping content cards flat, rectangular, and highly readable.
- Use layered typography through rotated micro-labels, mono code stamps, and condensed headings, never through distorted paragraph text.

## 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 | `#FF2FB3` |
| background | `#F8F6EF` |
| border | `#0A0A0A` |
| error | `#D82020` |
| info | `#285CFF` |
| muted | `#6F6A60` |
| primary | `#111111` |
| secondary | `#F4F1E8` |
| success | `#16824A` |
| surface | `#FFFFFF` |
| text | `#0A0A0A` |
| warning | `#F0B400` |

## Typography

- **Headline-Lg**: Archivo Black, 1.816rem, weight 700, line-height 1.1.
- **Headline-Md**: Archivo Black, 1.488rem, weight 600, line-height 1.15.
- **Body-Md**: IBM Plex Sans, 16px, weight 400, line-height 1.48.
- **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

mobile 375px, tablet 768px, desktop 1200px, wide 1440px

### Grid

12-column desktop grid with fixed sign rails, central 7-column work bay, and billboard side panels; mobile collapses to a stacked route itinerary.

### Whitespace

Whitespace is functional negative space: tight in label rails, open around the primary terminal bay and editorial hero copy.

## Elevation & Depth

### Shadows

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

## Shapes

### Rounded

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

### Surfaces

- **Bg Pattern**: thin route-map grid, diagonal shed-roof stripe bands, and low-opacity glyph stamps
- **Card Style**: rectangular bordered cards with billboard header strips and code-stamp corner labels
- **Treatment**: flat paper-white and ink-black panels with halftone dot underlays and sparse neon sign bulbs

### Borders

- **Accent Width**: 4px
- **Character**: architectural black outlines interrupted by small route tabs and neon active rails
- **Default Width**: 2px
- **Style**: solid

## Components

### Composition

Build pages as a plain terminal shed first: header marquee, left route board, central work bay, and right status billboard, all aligned to a strict modular grid.

### Density

Medium-high density is allowed in rails and status boards, but primary work cards keep generous 16-24px internal padding.

### Hierarchy

Use condensed black display type for destinations, IBM Plex Sans for task copy, and mono labels for commands, statuses, route IDs, and symbolic annotations.

### Signature Patterns

- Billboard headers attach to cards as black rectangular strips with reversed text, route chips, and one neon edge light on active states.
- Symbol rails run along panel edges using writing-mode vertical-rl, faux kanji glyphs, and command labels as navigational decoration.
- Terminal route maps appear as CSS linear-gradient grid backgrounds with numbered nodes that connect product flows to vernacular signage.
- Primary controls use a double border: a black structural outline plus a 3px neon offset underline that snaps on hover and focus.
- Halftone shed shadows are made with radial-gradient dot fields clipped behind panels rather than soft blur or glass effects.

## 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-019e8a07-1eda-76f2-88c6-015b480e5241/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 Let black and white carry the system and use neon only for active route, focus, and primary action.
- Do Treat every ornament as a sign, label, route marker, command, or state indicator.
- Do Keep body text normal and readable while placing deconstruction in margins, tabs, and overlays.
- Do Use hard rectangular geometry, exposed borders, and plain UI affordances before symbolic decoration.
- Don't Do not add generic cyan-purple cyberpunk glows, holograms, or glassmorphism.
- Don't Do not scatter Memphis shapes as background confetti without interface meaning.
- Don't Do not distort core copy, inputs, or tables in the name of deconstruction.
- Don't Do not use more than one neon accent family per composition.
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": "#F8F6EF",
      "foreground": "#0A0A0A",
      "card": "#FFFFFF",
      "card-foreground": "#0A0A0A",
      "popover": "#FFFFFF",
      "popover-foreground": "#0A0A0A",
      "primary": "#111111",
      "primary-foreground": "#ffffff",
      "secondary": "#F4F1E8",
      "secondary-foreground": "#111111",
      "muted": "#6F6A60",
      "muted-foreground": "#0A0A0A",
      "accent": "#FF2FB3",
      "accent-foreground": "#ffffff",
      "destructive": "#D82020",
      "border": "#0A0A0A",
      "input": "#0A0A0A",
      "ring": "#FF2FB3",
      "chart-1": "#111111",
      "chart-2": "#F4F1E8",
      "chart-3": "#FF2FB3",
      "chart-4": "#16824A",
      "chart-5": "#F0B400",
      "sidebar": "#FFFFFF",
      "sidebar-foreground": "#0A0A0A",
      "sidebar-primary": "#111111",
      "sidebar-primary-foreground": "#ffffff",
      "sidebar-accent": "#285CFF",
      "sidebar-accent-foreground": "#ffffff",
      "sidebar-border": "#0A0A0A",
      "sidebar-ring": "#FF2FB3",
      "radius": "2px"
    },
    "dark": {
      "background": "#0f1115",
      "foreground": "#f8fafc",
      "card": "#181b22",
      "card-foreground": "#f8fafc",
      "popover": "#181b22",
      "popover-foreground": "#f8fafc",
      "primary": "#111111",
      "primary-foreground": "#ffffff",
      "secondary": "#252a33",
      "secondary-foreground": "#f8fafc",
      "muted": "#252a33",
      "muted-foreground": "#a1a1aa",
      "accent": "#FF2FB3",
      "accent-foreground": "#ffffff",
      "destructive": "#D82020",
      "border": "#303642",
      "input": "#303642",
      "ring": "#FF2FB3",
      "chart-1": "#111111",
      "chart-2": "#F4F1E8",
      "chart-3": "#FF2FB3",
      "chart-4": "#16824A",
      "chart-5": "#F0B400",
      "sidebar": "#181b22",
      "sidebar-foreground": "#f8fafc",
      "sidebar-primary": "#111111",
      "sidebar-primary-foreground": "#ffffff",
      "sidebar-accent": "#FF2FB3",
      "sidebar-accent-foreground": "#ffffff",
      "sidebar-border": "#303642",
      "sidebar-ring": "#FF2FB3",
      "radius": "2px"
    }
  },
  "meta": {
    "source": "katagami",
    "languageId": "en-019e8a07-1eda-76f2-88c6-015b480e5241",
    "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 Black · 29px · 700

The quick brown fox jumps

headline-mdArchivo Black · 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
lg6px
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.

rectangular bordered cards with billboard header strips and code-stamp corner labels
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: #F8F6EF;
  --foreground: #0A0A0A;
  --card: #FFFFFF;
  --card-foreground: #0A0A0A;
  --popover: #FFFFFF;
  --popover-foreground: #0A0A0A;
  --primary: #111111;
  --primary-foreground: #ffffff;
  --secondary: #F4F1E8;
  --secondary-foreground: #111111;
  --muted: #6F6A60;
  --muted-foreground: #0A0A0A;
  --accent: #FF2FB3;
  --accent-foreground: #ffffff;
  --destructive: #D82020;
  --border: #0A0A0A;
  --input: #0A0A0A;
  --ring: #FF2FB3;
  --chart-1: #111111;
  --chart-2: #F4F1E8;
  --chart-3: #FF2FB3;
  --chart-4: #16824A;
  --chart-5: #F0B400;
  --sidebar: #FFFFFF;
  --sidebar-foreground: #0A0A0A;
  --sidebar-primary: #111111;
  --sidebar-primary-foreground: #ffffff;
  --sidebar-accent: #285CFF;
  --sidebar-accent-foreground: #ffffff;
  --sidebar-border: #0A0A0A;
  --sidebar-ring: #FF2FB3;
  --radius: 2px;
}

.dark {
  --background: #0f1115;
  --foreground: #f8fafc;
  --card: #181b22;
  --card-foreground: #f8fafc;
  --popover: #181b22;
  --popover-foreground: #f8fafc;
  --primary: #111111;
  --primary-foreground: #ffffff;
  --secondary: #252a33;
  --secondary-foreground: #f8fafc;
  --muted: #252a33;
  --muted-foreground: #a1a1aa;
  --accent: #FF2FB3;
  --accent-foreground: #ffffff;
  --destructive: #D82020;
  --border: #303642;
  --input: #303642;
  --ring: #FF2FB3;
  --chart-1: #111111;
  --chart-2: #F4F1E8;
  --chart-3: #FF2FB3;
  --chart-4: #16824A;
  --chart-5: #F0B400;
  --sidebar: #181b22;
  --sidebar-foreground: #f8fafc;
  --sidebar-primary: #111111;
  --sidebar-primary-foreground: #ffffff;
  --sidebar-accent: #FF2FB3;
  --sidebar-accent-foreground: #ffffff;
  --sidebar-border: #303642;
  --sidebar-ring: #FF2FB3;
  --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