Rain-Shell Command
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
- 2px
- character
- Ivory partitions at 8-14% opacity for dormant shells; active panes use warmer amber rails and visible latch notches.
- default width
- 1px
- style
- solid
colors12 items
motion3 items
- duration
- 260ms
- easing
- cubic-bezier(.2,.7,.1,1)
- philosophy
- Motion is a quiet boot sequence: cursor breath, LED wink, and sliding hatch focus states; no sweeping cyberpunk animation.
radii5 items
- full
- 9999px
- lg
- 24px
- md
- 16px
- none
- 0px
- sm
- 0px
shadows3 items
- lg
- 0 34px 90px rgba(0,0,0,0.62), inset 0 0 60px rgba(233,225,210,0.025)
- md
- 0 18px 44px rgba(0,0,0,0.46), 0 0 26px rgba(200,121,70,0.08)
- sm
- 0 0 0 1px rgba(233,225,210,0.08)
spacing2 items
- base
- 8px
- scale
- 4, 8, 12, 16, 24, 32, 48, 64, 96
surfaces3 items
- bg pattern
- Layered radial amber vending glow, sparse cyan rain streaks, and fine CRT scanlines over a near-black field.
- card style
- Capsule berth panels: squared shells with one rounded inner hatch, side latch tabs, pod IDs, and dormant black negative space.
- treatment
- Wet midnight navy panels with manga-white partitions, amber-lit active interiors, and transparent scanline/rain overlays.
typography8 items
- base size
- 16px
- body font
- IBM Plex Sans
- google fonts url
- https://fonts.googleapis.com/css2?family=Archivo+SemiExpanded:wght@500;600;700&family=IBM+Plex+Sans:wght@400;500;600&family=Share+Tech+Mono&display=swap
- heading font
- Archivo SemiExpanded
- letter spacing
- -0.02em
- line height
- 1.55
- mono font
- Share Tech Mono
- scale ratio
- 1.2
rules
Build screens as stacked berth compartments: one dominant active terminal pane, several narrower dormant capsule shells, black rain gutters between groups, and cropped threshold panels that imply more rooms beyond the viewport. Avoid equal card rows; vary panel height and inset depth so the layout reads like manga sequencing and capsule hotel architecture.
Density is compressed but breathable: terminal lines can be tight at 1.35, labels cluster at 4-8px, but major berth groups separate by 64-96px of wet black negative space.
Make the active pane brightest through ivory partitions, amber terminal text, and a larger hatch opening. Secondary content should look asleep: lower contrast, sealed rails, tiny LEDs, and clipped labels. Headings use narrow uppercase caption logic while body copy remains humanist and legible.
layout
1440px desktop composition, 900px tablet stack with retained gutters, 560px mobile corridor with simplified latch plates.
Compact terminal clusters sit inside larger architectural voids, giving an 8:1 rhythm between 4px micro-label gaps and 96px scene margins.
Desktop uses a 12-column shell with a 360px left pod stack and an 8-column active terminal; tablet collapses to stacked berths; mobile becomes a single vertical corridor of capsule panes.
At narrow widths, side rails become top number plates, panels crop less aggressively, and command rows wrap into ticket strips instead of shrinking below readable size.
Whitespace is wet black negative space: broad margins and rain gutters isolate the active pane while tiny interior gaps keep terminal controls intimate.
guidance
- Use one amber-lit active terminal pane per screen and keep surrounding pods visibly quieter.
- Anchor components with pod IDs, reservation codes, latch tabs, and tiny LEDs rather than decorative icons.
- Keep cyan desaturated and sparse, used only for rain-on-glass reflections or secondary info.
- Use ivory partitions as manga panel structure, mostly at low opacity, with stronger lines only on active thresholds.
- Maintain body text at 15-16px with -0.02em tracking and display headings at -0.04em tracking.
- Let large wet-black gutters create solitude; do not fill every void with data.
- Use monospace prompts, timestamps, and room codes to establish terminal authenticity.
- Do not use green matrix effects, neon rainbow cyberpunk, city-grid backgrounds, or hacker stock dashboards.
- Do not place three equal cards in a row or use generic analytics KPI components.
- Do not use character art, mecha silhouettes, anime faces, or kanji wallpaper as identity shortcuts.
- Do not use novelty hacker fonts, unreadable code walls, or aggressive HUD reticles.
- Do not make all panels glow; only the active berth receives warm illumination.
- Do not use pure saturated cyan, mint, purple, or synthetic triadic accents.
- Do not round every surface; square manga partitions and restrained hatch radii define the shell.
katagami spec
# Rain-Shell Command ## Philosophy Rain-Shell Command is a nocturnal interface language for private terminal work inside compressed capsule rooms: black manga-panel structure, midnight wet surfaces, amber vending-machine glow, and CRT-soft typed signals. It treats software as shelter rather than spectacle, making every active region feel like a reserved pod with a latch, a number plate, and a quiet machine breathing behind the curtain. ### Values - Shelter over spectacle: the screen should feel like a small protected berth for concentration, not a public command center. - Compression with dignity: dense information is organized as sleeping-pod cells with strong thresholds, not cramped SaaS cards. - Manga-negative space: black-and-white panel sequencing, cropped frames, and hard gutters create narrative rhythm without illustration. - Late-night hardware tactility: status LEDs, latches, printer strips, and boot prompts give components a physical service-core presence. - Soft electronic solitude: amber vending glow and CRT gray bloom supply warmth while the surrounding navy-black field remains restrained. - One active pane: hierarchy comes from a single lit compartment surrounded by dormant shells and quiet margins. ### Anti-Values - No green matrix rain, neon cyberpunk spectrums, generic hacker dashboards, or maximal HUD reticles. - No anime character fan art, cosplay kanji wallpaper, mecha faces, or decorative city-grid clichés. - No equal SaaS card rows, chrome blob effects, novelty hacker fonts, or dense code-wall wallpaper. - No bright triadic accent palettes; cyan appears only as desaturated wet glass reflection noise. ### Visual Character - Use nested berth rectangles with 1px ivory manga partitions, 0 or 16px radii, and sliding-door side rails that make panes read as capsule rooms. - Reserve one large active terminal pane with amber inner glow while adjacent pods are dark, cropped, and partially sealed by black rain gutters. - Apply CRT softness through subtle scanline overlays, low-opacity phosphor bloom, and typed cursor pulses rather than bright neon effects. - Attach small pod number plates, latch tabs, ticket-printer strips, and tiny status LEDs to component edges as physical interface affordances. - Sequence sections like black-and-white manga panels with asymmetric crops, vertical gutters, and occasional full-height threshold dividers. ## Tokens ### Borders - **Accent Width**: 2px - **Character**: Ivory partitions at 8-14% opacity for dormant shells; active panes use warmer amber rails and visible latch notches. - **Default Width**: 1px - **Style**: solid ### Colors | Name | Value | |------|-------| | accent | `#C87946` | | background | `#070A10` | | border | `#E9E1D2` | | error | `#B45A52` | | info | `#76909A` | | muted | `#8B9297` | | primary | `#E9E1D2` | | secondary | `#A9794E` | | success | `#9E9A73` | | surface | `#0D1320` | | text | `#F2EBDD` | | warning | `#D39A55` | ### Motion - **Duration**: 260ms - **Easing**: cubic-bezier(.2,.7,.1,1) - **Philosophy**: Motion is a quiet boot sequence: cursor breath, LED wink, and sliding hatch focus states; no sweeping cyberpunk animation. ### Radii - **Full**: 9999px - **Lg**: 24px - **Md**: 16px - **None**: 0px - **Sm**: 0px ### Shadows - **Lg**: 0 34px 90px rgba(0,0,0,0.62), inset 0 0 60px rgba(233,225,210,0.025) - **Md**: 0 18px 44px rgba(0,0,0,0.46), 0 0 26px rgba(200,121,70,0.08) - **Sm**: 0 0 0 1px rgba(233,225,210,0.08) ### Spacing - **Base**: 8px - **Scale**: [4,8,12,16,24,32,48,64,96] ### Surfaces - **Bg Pattern**: Layered radial amber vending glow, sparse cyan rain streaks, and fine CRT scanlines over a near-black field. - **Card Style**: Capsule berth panels: squared shells with one rounded inner hatch, side latch tabs, pod IDs, and dormant black negative space. - **Treatment**: Wet midnight navy panels with manga-white partitions, amber-lit active interiors, and transparent scanline/rain overlays. ### Typography - **Base Size**: 16px - **Body Font**: IBM Plex Sans - **Google Fonts Url**: https://fonts.googleapis.com/css2?family=Archivo+SemiExpanded:wght@500;600;700&family=IBM+Plex+Sans:wght@400;500;600&family=Share+Tech+Mono&display=swap - **Heading Font**: Archivo SemiExpanded - **Letter Spacing**: -0.02em - **Line Height**: 1.55 - **Mono Font**: Share Tech Mono - **Scale Ratio**: 1.2 ## Rules ### Composition Build screens as stacked berth compartments: one dominant active terminal pane, several narrower dormant capsule shells, black rain gutters between groups, and cropped threshold panels that imply more rooms beyond the viewport. Avoid equal card rows; vary panel height and inset depth so the layout reads like manga sequencing and capsule hotel architecture. ### Density Density is compressed but breathable: terminal lines can be tight at 1.35, labels cluster at 4-8px, but major berth groups separate by 64-96px of wet black negative space. ### Hierarchy Make the active pane brightest through ivory partitions, amber terminal text, and a larger hatch opening. Secondary content should look asleep: lower contrast, sealed rails, tiny LEDs, and clipped labels. Headings use narrow uppercase caption logic while body copy remains humanist and legible. ### Signature Patterns - Capsule hatch cards use ::before number plates and ::after latch tabs positioned over 1px ivory partition borders. - Rain-gutter dividers are vertical or horizontal black strips with a few desaturated cyan streaks masked by linear gradients. - Active terminal panes carry scanline overlays plus a low amber inset box-shadow to mimic soft CRT phosphor bloom. - Ticket-printer strips appear as narrow ivory bands with perforation dots and timestamps attached to command results. - Dormant shells are visibly cropped at container edges using overflow hidden and offset nested berth rectangles. ## Layout ### Breakpoints 1440px desktop composition, 900px tablet stack with retained gutters, 560px mobile corridor with simplified latch plates. ### Density Compact terminal clusters sit inside larger architectural voids, giving an 8:1 rhythm between 4px micro-label gaps and 96px scene margins. ### Grid Desktop uses a 12-column shell with a 360px left pod stack and an 8-column active terminal; tablet collapses to stacked berths; mobile becomes a single vertical corridor of capsule panes. ### Responsive At narrow widths, side rails become top number plates, panels crop less aggressively, and command rows wrap into ticket strips instead of shrinking below readable size. ### Whitespace Whitespace is wet black negative space: broad margins and rain gutters isolate the active pane while tiny interior gaps keep terminal controls intimate. ## Guidance ### Do - Use one amber-lit active terminal pane per screen and keep surrounding pods visibly quieter. - Anchor components with pod IDs, reservation codes, latch tabs, and tiny LEDs rather than decorative icons. - Keep cyan desaturated and sparse, used only for rain-on-glass reflections or secondary info. - Use ivory partitions as manga panel structure, mostly at low opacity, with stronger lines only on active thresholds. - Maintain body text at 15-16px with -0.02em tracking and display headings at -0.04em tracking. - Let large wet-black gutters create solitude; do not fill every void with data. - Use monospace prompts, timestamps, and room codes to establish terminal authenticity. ### Don't - Do not use green matrix effects, neon rainbow cyberpunk, city-grid backgrounds, or hacker stock dashboards. - Do not place three equal cards in a row or use generic analytics KPI components. - Do not use character art, mecha silhouettes, anime faces, or kanji wallpaper as identity shortcuts. - Do not use novelty hacker fonts, unreadable code walls, or aggressive HUD reticles. - Do not make all panels glow; only the active berth receives warm illumination. - Do not use pure saturated cyan, mint, purple, or synthetic triadic accents. - Do not round every surface; square manga partitions and restrained hatch radii define the shell. ### Accessibility Keep text contrast AA on dark surfaces, never encode status by LED color alone, provide visible amber or ivory focus outlines, and ensure scanline/rain overlays remain low opacity behind readable text. ### Usage Context Best for fictional private operating systems, overnight infrastructure tools, terminal-first creative software, and quiet monitoring interfaces where the user inhabits a small protected digital room.
DESIGN.md
---
version: "alpha"
name: "Rain-Shell Command"
description: "Agent-curated design language exported from Katagami as DESIGN.md."
colors:
accent: "#C87946"
background: "#070A10"
border: "#E9E1D2"
error: "#B45A52"
info: "#76909A"
muted: "#8B9297"
primary: "#E9E1D2"
secondary: "#A9794E"
success: "#9E9A73"
surface: "#0D1320"
text: "#F2EBDD"
warning: "#D39A55"
typography:
headline-lg:
fontFamily: "Archivo SemiExpanded"
fontSize: "1.728rem"
fontWeight: 700
lineHeight: 1.1
letterSpacing: "-0.02em"
headline-md:
fontFamily: "Archivo SemiExpanded"
fontSize: "1.44rem"
fontWeight: 600
lineHeight: 1.15
letterSpacing: "-0.02em"
body-md:
fontFamily: "IBM Plex Sans"
fontSize: "16px"
fontWeight: 400
lineHeight: 1.55
letterSpacing: "-0.02em"
label-md:
fontFamily: "Share Tech Mono"
fontSize: "0.75rem"
fontWeight: 600
lineHeight: 1
letterSpacing: "0.08em"
rounded:
full: "9999px"
lg: "24px"
md: "16px"
none: "0px"
sm: "0px"
spacing:
base: "8px"
xs: "4px"
sm: "8px"
md: "12px"
lg: "16px"
xl: "24px"
2xl: "32px"
3xl: "48px"
4xl: "64px"
step-8: "96px"
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: "#000000"
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"
---
# Rain-Shell Command
## Overview
Rain-Shell Command is a nocturnal interface language for private terminal work inside compressed capsule rooms: black manga-panel structure, midnight wet surfaces, amber vending-machine glow, and CRT-soft typed signals. It treats software as shelter rather than spectacle, making every active region feel like a reserved pod with a latch, a number plate, and a quiet machine breathing behind the curtain.
### Values
- Shelter over spectacle: the screen should feel like a small protected berth for concentration, not a public command center.
- Compression with dignity: dense information is organized as sleeping-pod cells with strong thresholds, not cramped SaaS cards.
- Manga-negative space: black-and-white panel sequencing, cropped frames, and hard gutters create narrative rhythm without illustration.
- Late-night hardware tactility: status LEDs, latches, printer strips, and boot prompts give components a physical service-core presence.
- Soft electronic solitude: amber vending glow and CRT gray bloom supply warmth while the surrounding navy-black field remains restrained.
- One active pane: hierarchy comes from a single lit compartment surrounded by dormant shells and quiet margins.
### Anti-Values
- No green matrix rain, neon cyberpunk spectrums, generic hacker dashboards, or maximal HUD reticles.
- No anime character fan art, cosplay kanji wallpaper, mecha faces, or decorative city-grid clichés.
- No equal SaaS card rows, chrome blob effects, novelty hacker fonts, or dense code-wall wallpaper.
- No bright triadic accent palettes; cyan appears only as desaturated wet glass reflection noise.
### Visual Character
- Use nested berth rectangles with 1px ivory manga partitions, 0 or 16px radii, and sliding-door side rails that make panes read as capsule rooms.
- Reserve one large active terminal pane with amber inner glow while adjacent pods are dark, cropped, and partially sealed by black rain gutters.
- Apply CRT softness through subtle scanline overlays, low-opacity phosphor bloom, and typed cursor pulses rather than bright neon effects.
- Attach small pod number plates, latch tabs, ticket-printer strips, and tiny status LEDs to component edges as physical interface affordances.
- Sequence sections like black-and-white manga panels with asymmetric crops, vertical gutters, and occasional full-height threshold dividers.
## 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 | `#C87946` |
| background | `#070A10` |
| border | `#E9E1D2` |
| error | `#B45A52` |
| info | `#76909A` |
| muted | `#8B9297` |
| primary | `#E9E1D2` |
| secondary | `#A9794E` |
| success | `#9E9A73` |
| surface | `#0D1320` |
| text | `#F2EBDD` |
| warning | `#D39A55` |
## Typography
- **Headline-Lg**: Archivo SemiExpanded, 1.728rem, weight 700, line-height 1.1.
- **Headline-Md**: Archivo SemiExpanded, 1.44rem, weight 600, line-height 1.15.
- **Body-Md**: IBM Plex Sans, 16px, weight 400, line-height 1.55.
- **Label-Md**: Share Tech 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`
- **Step-8**: `96px`
### Breakpoints
1440px desktop composition, 900px tablet stack with retained gutters, 560px mobile corridor with simplified latch plates.
### Density
Compact terminal clusters sit inside larger architectural voids, giving an 8:1 rhythm between 4px micro-label gaps and 96px scene margins.
### Grid
Desktop uses a 12-column shell with a 360px left pod stack and an 8-column active terminal; tablet collapses to stacked berths; mobile becomes a single vertical corridor of capsule panes.
### Responsive
At narrow widths, side rails become top number plates, panels crop less aggressively, and command rows wrap into ticket strips instead of shrinking below readable size.
### Whitespace
Whitespace is wet black negative space: broad margins and rain gutters isolate the active pane while tiny interior gaps keep terminal controls intimate.
## Elevation & Depth
### Shadows
- **Lg**: 0 34px 90px rgba(0,0,0,0.62), inset 0 0 60px rgba(233,225,210,0.025)
- **Md**: 0 18px 44px rgba(0,0,0,0.46), 0 0 26px rgba(200,121,70,0.08)
- **Sm**: 0 0 0 1px rgba(233,225,210,0.08)
## Shapes
### Rounded
- **Full**: `9999px`
- **Lg**: `24px`
- **Md**: `16px`
- **None**: `0px`
- **Sm**: `0px`
### Surfaces
- **Bg Pattern**: Layered radial amber vending glow, sparse cyan rain streaks, and fine CRT scanlines over a near-black field.
- **Card Style**: Capsule berth panels: squared shells with one rounded inner hatch, side latch tabs, pod IDs, and dormant black negative space.
- **Treatment**: Wet midnight navy panels with manga-white partitions, amber-lit active interiors, and transparent scanline/rain overlays.
### Borders
- **Accent Width**: 2px
- **Character**: Ivory partitions at 8-14% opacity for dormant shells; active panes use warmer amber rails and visible latch notches.
- **Default Width**: 1px
- **Style**: solid
## Components
### Composition
Build screens as stacked berth compartments: one dominant active terminal pane, several narrower dormant capsule shells, black rain gutters between groups, and cropped threshold panels that imply more rooms beyond the viewport. Avoid equal card rows; vary panel height and inset depth so the layout reads like manga sequencing and capsule hotel architecture.
### Density
Density is compressed but breathable: terminal lines can be tight at 1.35, labels cluster at 4-8px, but major berth groups separate by 64-96px of wet black negative space.
### Hierarchy
Make the active pane brightest through ivory partitions, amber terminal text, and a larger hatch opening. Secondary content should look asleep: lower contrast, sealed rails, tiny LEDs, and clipped labels. Headings use narrow uppercase caption logic while body copy remains humanist and legible.
### Signature Patterns
- Capsule hatch cards use ::before number plates and ::after latch tabs positioned over 1px ivory partition borders.
- Rain-gutter dividers are vertical or horizontal black strips with a few desaturated cyan streaks masked by linear gradients.
- Active terminal panes carry scanline overlays plus a low amber inset box-shadow to mimic soft CRT phosphor bloom.
- Ticket-printer strips appear as narrow ivory bands with perforation dots and timestamps attached to command results.
- Dormant shells are visibly cropped at container edges using overflow hidden and offset nested berth rectangles.
## 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/rain-shell-command/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 one amber-lit active terminal pane per screen and keep surrounding pods visibly quieter.
- Do Anchor components with pod IDs, reservation codes, latch tabs, and tiny LEDs rather than decorative icons.
- Do Keep cyan desaturated and sparse, used only for rain-on-glass reflections or secondary info.
- Do Use ivory partitions as manga panel structure, mostly at low opacity, with stronger lines only on active thresholds.
- Do Maintain body text at 15-16px with -0.02em tracking and display headings at -0.04em tracking.
- Do Let large wet-black gutters create solitude; do not fill every void with data.
- Do Use monospace prompts, timestamps, and room codes to establish terminal authenticity.
- Don't Do not use green matrix effects, neon rainbow cyberpunk, city-grid backgrounds, or hacker stock dashboards.
- Don't Do not place three equal cards in a row or use generic analytics KPI components.
- Don't Do not use character art, mecha silhouettes, anime faces, or kanji wallpaper as identity shortcuts.
- Don't Do not use novelty hacker fonts, unreadable code walls, or aggressive HUD reticles.
- Don't Do not make all panels glow; only the active berth receives warm illumination.
- Don't Do not use pure saturated cyan, mint, purple, or synthetic triadic accents.
- Don't Do not round every surface; square manga partitions and restrained hatch radii define the shell.
### Accessibility
Keep text contrast AA on dark surfaces, never encode status by LED color alone, provide visible amber or ivory focus outlines, and ensure scanline/rain overlays remain low opacity behind readable text.
### Usage Context
Best for fictional private operating systems, overnight infrastructure tools, terminal-first creative software, and quiet monitoring interfaces where the user inhabits a small protected digital room.
shadcn/ui theme
```json
{
"$schema": "https://ui.shadcn.com/schema/registry-item.json",
"name": "rain-shell-command",
"type": "registry:theme",
"title": "Rain-Shell Command shadcn Theme",
"cssVars": {
"theme": {},
"light": {
"background": "#070A10",
"foreground": "#F2EBDD",
"card": "#0D1320",
"card-foreground": "#F2EBDD",
"popover": "#0D1320",
"popover-foreground": "#F2EBDD",
"primary": "#E9E1D2",
"primary-foreground": "#111111",
"secondary": "#A9794E",
"secondary-foreground": "#ffffff",
"muted": "#8B9297",
"muted-foreground": "#F2EBDD",
"accent": "#C87946",
"accent-foreground": "#ffffff",
"destructive": "#B45A52",
"border": "#E9E1D2",
"input": "#E9E1D2",
"ring": "#C87946",
"chart-1": "#E9E1D2",
"chart-2": "#A9794E",
"chart-3": "#C87946",
"chart-4": "#9E9A73",
"chart-5": "#D39A55",
"sidebar": "#0D1320",
"sidebar-foreground": "#F2EBDD",
"sidebar-primary": "#E9E1D2",
"sidebar-primary-foreground": "#111111",
"sidebar-accent": "#76909A",
"sidebar-accent-foreground": "#ffffff",
"sidebar-border": "#E9E1D2",
"sidebar-ring": "#C87946",
"radius": "16px"
},
"dark": {
"background": "#0f1115",
"foreground": "#f8fafc",
"card": "#181b22",
"card-foreground": "#f8fafc",
"popover": "#181b22",
"popover-foreground": "#f8fafc",
"primary": "#E9E1D2",
"primary-foreground": "#111111",
"secondary": "#252a33",
"secondary-foreground": "#f8fafc",
"muted": "#252a33",
"muted-foreground": "#a1a1aa",
"accent": "#C87946",
"accent-foreground": "#ffffff",
"destructive": "#B45A52",
"border": "#303642",
"input": "#303642",
"ring": "#C87946",
"chart-1": "#E9E1D2",
"chart-2": "#A9794E",
"chart-3": "#C87946",
"chart-4": "#9E9A73",
"chart-5": "#D39A55",
"sidebar": "#181b22",
"sidebar-foreground": "#f8fafc",
"sidebar-primary": "#E9E1D2",
"sidebar-primary-foreground": "#111111",
"sidebar-accent": "#C87946",
"sidebar-accent-foreground": "#ffffff",
"sidebar-border": "#303642",
"sidebar-ring": "#C87946",
"radius": "16px"
}
},
"meta": {
"source": "katagami",
"languageId": "rain-shell-command",
"slug": "rain-shell-command",
"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
- step-896px
Shape
implementation kit
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: #070A10;
--foreground: #F2EBDD;
--card: #0D1320;
--card-foreground: #F2EBDD;
--popover: #0D1320;
--popover-foreground: #F2EBDD;
--primary: #E9E1D2;
--primary-foreground: #111111;
--secondary: #A9794E;
--secondary-foreground: #ffffff;
--muted: #8B9297;
--muted-foreground: #F2EBDD;
--accent: #C87946;
--accent-foreground: #ffffff;
--destructive: #B45A52;
--border: #E9E1D2;
--input: #E9E1D2;
--ring: #C87946;
--chart-1: #E9E1D2;
--chart-2: #A9794E;
--chart-3: #C87946;
--chart-4: #9E9A73;
--chart-5: #D39A55;
--sidebar: #0D1320;
--sidebar-foreground: #F2EBDD;
--sidebar-primary: #E9E1D2;
--sidebar-primary-foreground: #111111;
--sidebar-accent: #76909A;
--sidebar-accent-foreground: #ffffff;
--sidebar-border: #E9E1D2;
--sidebar-ring: #C87946;
--radius: 16px;
}
.dark {
--background: #0f1115;
--foreground: #f8fafc;
--card: #181b22;
--card-foreground: #f8fafc;
--popover: #181b22;
--popover-foreground: #f8fafc;
--primary: #E9E1D2;
--primary-foreground: #111111;
--secondary: #252a33;
--secondary-foreground: #f8fafc;
--muted: #252a33;
--muted-foreground: #a1a1aa;
--accent: #C87946;
--accent-foreground: #ffffff;
--destructive: #B45A52;
--border: #303642;
--input: #303642;
--ring: #C87946;
--chart-1: #E9E1D2;
--chart-2: #A9794E;
--chart-3: #C87946;
--chart-4: #9E9A73;
--chart-5: #D39A55;
--sidebar: #181b22;
--sidebar-foreground: #f8fafc;
--sidebar-primary: #E9E1D2;
--sidebar-primary-foreground: #111111;
--sidebar-accent: #C87946;
--sidebar-accent-foreground: #ffffff;
--sidebar-border: #303642;
--sidebar-ring: #C87946;
--radius: 16px;
}
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 RainShellCommandShadcnKit() {
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">Rain-Shell Command</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",
"name": "rain-shell-command",
"type": "registry:theme",
"title": "Rain-Shell Command shadcn Theme",
"cssVars": {
"theme": {},
"light": {
"background": "#070A10",
"foreground": "#F2EBDD",
"card": "#0D1320",
"card-foreground": "#F2EBDD",
"popover": "#0D1320",
"popover-foreground": "#F2EBDD",
"primary": "#E9E1D2",
"primary-foreground": "#111111",
"secondary": "#A9794E",
"secondary-foreground": "#ffffff",
"muted": "#8B9297",
"muted-foreground": "#F2EBDD",
"accent": "#C87946",
"accent-foreground": "#ffffff",
"destructive": "#B45A52",
"border": "#E9E1D2",
"input": "#E9E1D2",
"ring": "#C87946",
"chart-1": "#E9E1D2",
"chart-2": "#A9794E",
"chart-3": "#C87946",
"chart-4": "#9E9A73",
"chart-5": "#D39A55",
"sidebar": "#0D1320",
"sidebar-foreground": "#F2EBDD",
"sidebar-primary": "#E9E1D2",
"sidebar-primary-foreground": "#111111",
"sidebar-accent": "#76909A",
"sidebar-accent-foreground": "#ffffff",
"sidebar-border": "#E9E1D2",
"sidebar-ring": "#C87946",
"radius": "16px"
},
"dark": {
"background": "#0f1115",
"foreground": "#f8fafc",
"card": "#181b22",
"card-foreground": "#f8fafc",
"popover": "#181b22",
"popover-foreground": "#f8fafc",
"primary": "#E9E1D2",
"primary-foreground": "#111111",
"secondary": "#252a33",
"secondary-foreground": "#f8fafc",
"muted": "#252a33",
"muted-foreground": "#a1a1aa",
"accent": "#C87946",
"accent-foreground": "#ffffff",
"destructive": "#B45A52",
"border": "#303642",
"input": "#303642",
"ring": "#C87946",
"chart-1": "#E9E1D2",
"chart-2": "#A9794E",
"chart-3": "#C87946",
"chart-4": "#9E9A73",
"chart-5": "#D39A55",
"sidebar": "#181b22",
"sidebar-foreground": "#f8fafc",
"sidebar-primary": "#E9E1D2",
"sidebar-primary-foreground": "#111111",
"sidebar-accent": "#C87946",
"sidebar-accent-foreground": "#ffffff",
"sidebar-border": "#303642",
"sidebar-ring": "#C87946",
"radius": "16px"
}
},
"meta": {
"source": "katagami",
"languageId": "rain-shell-command",
"slug": "rain-shell-command",
"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"
]
}
}
}
# Rain-Shell Command shadcn/ui Components
Artifact: `component-recipes-v1`
Author: `katagami-ui-projection`
Language ID: `rain-shell-command`
Slug: `rain-shell-command`
## Intent
Rain-Shell Command is a nocturnal interface language for private terminal work inside compressed capsule rooms: black manga-panel structure, midnight wet surfaces, amber vending-machine glow, and CRT-soft typed signals. It treats software as shelter rather than spectacle, making every active region feel like a reserved pod with a latch, a number plate, and a quiet machine breathing behind the curtain.
## Required primitives
- button
- card
- input
- textarea
- select
- dialog
- sheet
- tabs
- badge
- separator
- checkbox
- switch
- slider
- tooltip
- dropdown-menu
- table
Install with `npx shadcn@latest add button card input textarea select dialog sheet tabs badge separator checkbox switch slider tooltip dropdown-menu table`.
## Token cues
Colors:
{
"accent": "#C87946",
"background": "#070A10",
"border": "#E9E1D2",
"error": "#B45A52",
"info": "#76909A",
"muted": "#8B9297",
"primary": "#E9E1D2",
"secondary": "#A9794E",
"success": "#9E9A73",
"surface": "#0D1320",
"text": "#F2EBDD",
"warning": "#D39A55"
}
Typography:
{
"base_size": "16px",
"body_font": "IBM Plex Sans",
"google_fonts_url": "https://fonts.googleapis.com/css2?family=Archivo+SemiExpanded:wght@500;600;700&family=IBM+Plex+Sans:wght@400;500;600&family=Share+Tech+Mono&display=swap",
"heading_font": "Archivo SemiExpanded",
"letter_spacing": "-0.02em",
"line_height": 1.55,
"mono_font": "Share Tech Mono",
"scale_ratio": 1.2
}
## Visual character to preserve
- Use nested berth rectangles with 1px ivory manga partitions, 0 or 16px radii, and sliding-door side rails that make panes read as capsule rooms.
- Reserve one large active terminal pane with amber inner glow while adjacent pods are dark, cropped, and partially sealed by black rain gutters.
- Apply CRT softness through subtle scanline overlays, low-opacity phosphor bloom, and typed cursor pulses rather than bright neon effects.
- Attach small pod number plates, latch tabs, ticket-printer strips, and tiny status LEDs to component edges as physical interface affordances.
- Sequence sections like black-and-white manga panels with asymmetric crops, vertical gutters, and occasional full-height threshold dividers.
## ShadSync visual profile
{
"family": "brutalist",
"material": "ink",
"contour": "default",
"border": "solid",
"underlay": true,
"grain": false,
"stickerBadges": true,
"motion": "still",
"density": "balanced",
"accents": [
"primary",
"accent",
"secondary",
"muted"
]
}
## Signature component recipes
### Button
Use `Button` for primary, secondary, outline, and ghost actions. Primary actions must expose the language's strongest contrast pair, while secondary and ghost actions should preserve the surface treatment instead of falling back to default neutral SaaS styling.
### Card
Use `Card`, `CardHeader`, `CardContent`, `CardFooter`, and `CardAction` as the main composition frame. Cards should demonstrate the language's surface, border, hierarchy, and density rules rather than appearing as generic rounded rectangles.
### Input and Textarea
Use `Input` and `Textarea` with visible focus rings, field labels, validation states, and the language's rhythm. Forms should show real product content, not placeholder-only controls.
### Select, Tabs, and Table
Use `Select`, `Tabs`, and `Table` to prove navigation, filtering, and dense data states. The table should show row rhythm, separators, hover/focus states, and an empty or status state when the language calls for it.
### Dialog and Sheet
Use `Dialog` for centered decisions and `Sheet` for contextual editing. Both should inherit the language's spacing, border, overlay, and motion rules.
## Preview shots
- `application-shell`: dashboard or workspace shell with navigation, cards, forms, and state badges.
- `detail-editor`: focused editing flow using input, textarea, select, switch/checkbox, dialog or sheet, and action buttons.
- `data-operations`: table-heavy operational view with tabs, dropdown menu affordances, badges, and destructive/empty states.
- Each preview shot must include a renderable `scene` payload with concrete headline, description, actions, and rows/fields/stats for the UI preview.
## Implementation contract
- Start from local `ui/src/components/ui` shadcn-style primitives; do not create a second component system.
- Apply `/katagami/shadcn/rain-shell-command/registry-theme.json` variables, then use these recipes for composition and state design.
- Preserve Katagami token names as source metadata; shadcn semantic names are only the export surface.
- Do: Use one amber-lit active terminal pane per screen and keep surrounding pods visibly quieter.; Anchor components with pod IDs, reservation codes, latch tabs, and tiny LEDs rather than decorative icons.; Keep cyan desaturated and sparse, used only for rain-on-glass reflections or secondary info.; Use ivory partitions as manga panel structure, mostly at low opacity, with stronger lines only on active thresholds.; Maintain body text at 15-16px with -0.02em tracking and display headings at -0.04em tracking.; Let large wet-black gutters create solitude; do not fill every void with data.; Use monospace prompts, timestamps, and room codes to establish terminal authenticity.
- Do not: Do not use green matrix effects, neon rainbow cyberpunk, city-grid backgrounds, or hacker stock dashboards.; Do not place three equal cards in a row or use generic analytics KPI components.; Do not use character art, mecha silhouettes, anime faces, or kanji wallpaper as identity shortcuts.; Do not use novelty hacker fonts, unreadable code walls, or aggressive HUD reticles.; Do not make all panels glow; only the active berth receives warm illumination.; Do not use pure saturated cyan, mint, purple, or synthetic triadic accents.; Do not round every surface; square manga partitions and restrained hatch radii define the shell.
## Copy-paste component example
This generated starter proves the import shape. Production Katagami agents should replace it with a language-specific product composition.
```tsx
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 RainShellCommandShadcnKit() {
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">Rain-Shell Command</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>
);
}
```
## Layout notes
{
"breakpoints": "1440px desktop composition, 900px tablet stack with retained gutters, 560px mobile corridor with simplified latch plates.",
"density": "Compact terminal clusters sit inside larger architectural voids, giving an 8:1 rhythm between 4px micro-label gaps and 96px scene margins.",
"grid": "Desktop uses a 12-column shell with a 360px left pod stack and an 8-column active terminal; tablet collapses to stacked berths; mobile becomes a single vertical corridor of capsule panes.",
"responsive": "At narrow widths, side rails become top number plates, panels crop less aggressively, and command rows wrap into ticket strips instead of shrinking below readable size.",
"whitespace": "Whitespace is wet black negative space: broad margins and rain gutters isolate the active pane while tiny interior gaps keep terminal controls intimate."
}
{
"artifact": "katagami:shadcn-preview-shots",
"version": "preview-shots-v1",
"generator": "katagami-ui-compatibility-projection",
"generatedBy": "katagami-ui-projection",
"requiresVisualProfile": true,
"schema": "katagami:shadcn-preview-shots/renderable-v1",
"renderable": true,
"language": {
"id": "rain-shell-command",
"name": "Rain-Shell Command",
"slug": "rain-shell-command"
},
"installCommand": "npx shadcn@latest add button card input textarea select dialog sheet tabs badge separator checkbox switch slider tooltip dropdown-menu table",
"primitives": [
"button",
"card",
"input",
"textarea",
"select",
"dialog",
"sheet",
"tabs",
"badge",
"separator",
"checkbox",
"switch",
"slider",
"tooltip",
"dropdown-menu",
"table"
],
"identityNotes": [
"Use nested berth rectangles with 1px ivory manga partitions, 0 or 16px radii, and sliding-door side rails that make panes read as capsule rooms.",
"Reserve one large active terminal pane with amber inner glow while adjacent pods are dark, cropped, and partially sealed by black rain gutters.",
"Apply CRT softness through subtle scanline overlays, low-opacity phosphor bloom, and typed cursor pulses rather than bright neon effects.",
"Attach small pod number plates, latch tabs, ticket-printer strips, and tiny status LEDs to component edges as physical interface affordances.",
"Sequence sections like black-and-white manga panels with asymmetric crops, vertical gutters, and occasional full-height threshold dividers."
],
"visualProfile": {
"family": "brutalist",
"material": "ink",
"contour": "default",
"border": "solid",
"underlay": true,
"grain": false,
"stickerBadges": true,
"motion": "still",
"density": "balanced",
"accents": [
"primary",
"accent",
"secondary",
"muted"
]
},
"shots": [
{
"id": "application-shell",
"title": "Application shell",
"viewport": "desktop",
"primitives": [
"button",
"card",
"input",
"select",
"tabs",
"badge",
"separator",
"table"
],
"composition": "A real product workspace with navigation, summary cards, filtering controls, and one dense content region.",
"mustShow": [
"primary and secondary actions",
"card hierarchy",
"filterable state",
"table or list density"
],
"avoid": [
"component inventory walls",
"placeholder-only content",
"generic rounded SaaS chrome"
],
"scene": {
"eyebrow": "workspace spread",
"headline": "Rain-Shell Command launch room",
"description": "A product team workspace where navigation, filters, metrics, and dense rows carry the language's visible structure.",
"primaryAction": "Apply theme",
"secondaryAction": "Review states",
"stats": [
{
"label": "components",
"value": "16",
"tone": "accent"
},
{
"label": "states",
"value": "ready"
},
{
"label": "density",
"value": "balanced",
"tone": "warning"
}
],
"rows": [
{
"label": "Primary flow",
"value": "mapped",
"status": "active"
},
{
"label": "Token coverage",
"value": "semantic",
"status": "synced"
},
{
"label": "Responsive proof",
"value": "queued",
"status": "review"
}
],
"statuses": [
"Active",
"Synced",
"Draft"
]
}
},
{
"id": "detail-editor",
"title": "Detail editor",
"viewport": "tablet",
"primitives": [
"button",
"card",
"input",
"textarea",
"select",
"checkbox",
"switch",
"slider",
"dialog",
"sheet"
],
"composition": "A focused editing flow with form fields, validation, confirmation, and a contextual side panel.",
"mustShow": [
"focus ring",
"error or destructive state",
"dialog or sheet treatment",
"written guidance content"
],
"avoid": [
"unstyled browser controls",
"floating cards inside cards",
"missing labels"
],
"scene": {
"eyebrow": "editing flow",
"headline": "Language recipe editor",
"description": "A focused form proving labels, validation, toggles, panel rhythm, and action hierarchy.",
"primaryAction": "Save recipe",
"secondaryAction": "Open sheet",
"fields": [
{
"label": "Component family",
"value": "Narrative cards"
},
{
"label": "State treatment",
"value": "Visible focus + validation"
},
{
"label": "Motion",
"value": "Small lift, no opacity-only fade"
}
],
"statuses": [
"Focus",
"Invalid",
"Confirmed"
]
}
},
{
"id": "data-operations",
"title": "Data operations",
"viewport": "mobile",
"primitives": [
"button",
"tabs",
"badge",
"dropdown-menu",
"table",
"tooltip",
"separator"
],
"composition": "A compact operational view proving row rhythm, stacked actions, menu states, badges, and empty/destructive states.",
"mustShow": [
"responsive reflow",
"dense row styling",
"menu affordance",
"status badge system"
],
"avoid": [
"desktop-only tables",
"text overflow",
"default shadcn spacing without Katagami character"
],
"scene": {
"eyebrow": "operations",
"headline": "Compact review queue",
"description": "A narrow viewport scene with rows, menus, tooltips, badges, and destructive affordances.",
"primaryAction": "Resolve",
"secondaryAction": "Filter",
"rows": [
{
"label": "Button hierarchy",
"value": "approved",
"status": "ok"
},
{
"label": "Table rhythm",
"value": "needs pass",
"status": "watch"
},
{
"label": "Empty state",
"value": "designed",
"status": "done"
}
],
"statuses": [
"Queued",
"Blocked",
"Done"
]
}
}
],
"componentRecipes": [
{
"primitive": "button",
"intent": "Prove action hierarchy, focus, disabled, and destructive states."
},
{
"primitive": "card",
"intent": "Carry the language surface, border, elevation, and density rules."
},
{
"primitive": "input",
"intent": "Show labels, focus rings, validation, and spacing rhythm."
},
{
"primitive": "textarea",
"intent": "Show longer guidance, validation copy, and writing density."
},
{
"primitive": "select",
"intent": "Show filtering, selection contrast, and menu trigger styling."
},
{
"primitive": "dialog",
"intent": "Show centered decision states and overlay treatment."
},
{
"primitive": "sheet",
"intent": "Show contextual side panels and responsive editing."
},
{
"primitive": "tabs",
"intent": "Show navigational structure and active/inactive contrast."
},
{
"primitive": "badge",
"intent": "Show compact status vocabulary and semantic colors."
},
{
"primitive": "separator",
"intent": "Show section rhythm without generic gray dividers."
},
{
"primitive": "checkbox",
"intent": "Show binary selection with visible focus and checked states."
},
{
"primitive": "switch",
"intent": "Show settings toggles and on/off contrast."
},
{
"primitive": "slider",
"intent": "Show numeric adjustment with track/thumb styling."
},
{
"primitive": "tooltip",
"intent": "Show concise explanation styling above compact controls."
},
{
"primitive": "dropdown-menu",
"intent": "Show action menus, destructive items, and grouped choices."
},
{
"primitive": "table",
"intent": "Show dense operational data, separators, row states, and responsive behavior."
}
],
"qualityRules": {
"do": [
"Use one amber-lit active terminal pane per screen and keep surrounding pods visibly quieter.",
"Anchor components with pod IDs, reservation codes, latch tabs, and tiny LEDs rather than decorative icons.",
"Keep cyan desaturated and sparse, used only for rain-on-glass reflections or secondary info.",
"Use ivory partitions as manga panel structure, mostly at low opacity, with stronger lines only on active thresholds.",
"Maintain body text at 15-16px with -0.02em tracking and display headings at -0.04em tracking.",
"Let large wet-black gutters create solitude; do not fill every void with data.",
"Use monospace prompts, timestamps, and room codes to establish terminal authenticity."
],
"dont": [
"Do not use green matrix effects, neon rainbow cyberpunk, city-grid backgrounds, or hacker stock dashboards.",
"Do not place three equal cards in a row or use generic analytics KPI components.",
"Do not use character art, mecha silhouettes, anime faces, or kanji wallpaper as identity shortcuts.",
"Do not use novelty hacker fonts, unreadable code walls, or aggressive HUD reticles.",
"Do not make all panels glow; only the active berth receives warm illumination.",
"Do not use pure saturated cyan, mint, purple, or synthetic triadic accents.",
"Do not round every surface; square manga partitions and restrained hatch radii define the shell."
]
}
}