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.
specification
philosophy
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
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
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.
Medium-high density is allowed in rails and status boards, but primary work cards keep generous 16-24px internal padding.
Use condensed black display type for destinations, IBM Plex Sans for task copy, and mono labels for commands, statuses, route IDs, and symbolic annotations.
layout
mobile 375px, tablet 768px, desktop 1200px, wide 1440px
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 is functional negative space: tight in label rails, open around the primary terminal bay and editorial hero copy.
guidance
- 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.
- 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"
]
}
}
}
```embodiments
at a glance
Typography
The quick brown fox jumps
The quick brown fox jumps
The quick brown fox jumps
The quick brown fox jumps
Components
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
implementation kit
Decorated Terminal Shed
Agent-authored scenes, component recipes, and visual profile rendered on local shadcn-style primitives.
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.
Route manifest detail editor
Form controls sit inside a paper notice-board frame with boxed labels, black seams, and acid-green focus state.
Terminal queue with component controls
Tables, dropdown actions, badges, sliders, switches, and separators form a plausible operations screen rather than a component inventory wall.
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
npx shadcn@latest add button card input textarea select dialog sheet tabs badge separator checkbox switch slider tooltip dropdown-menu table: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;
}
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>
);
}
{
"$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"
}
# 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>
)
}
```
{
"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
}
}