Panel Pop Command Line
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
- inked comic frame borders, square joins, and bracketed focus outlines
- default width
- 2px
- style
- solid with occasional dashed internal separators
colors12 items
motion3 items
- duration
- 140ms
- easing
- steps(2, jump-end)
- philosophy
- terminal-snapped state changes: small translate offsets, caret blinks, and sticker stamps rather than cinematic easing
radii5 items
- full
- 9999px
- lg
- 0
- md
- 0
- none
- 0
- sm
- 0
shadows3 items
- lg
- 10px 10px 0 #050505
- md
- 6px 6px 0 #050505
- sm
- 3px 3px 0 #050505
spacing2 items
- base
- 8px
- scale
- 4, 8, 12, 16, 24, 32, 48, 64
surfaces3 items
- bg pattern
- cream manga paper with sparse halftone islands and thin terminal scanline rules
- card style
- white or charcoal rectangular panels with 2px ink border, offset duplicate edge, and a small semantic geometry tab
- treatment
- flat manga paper and terminal charcoal panels with clipped halftone or hatch underlays
typography8 items
- base size
- 16px
- body font
- IBM Plex Sans
- google fonts url
- https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:wght@600;700;800&family=IBM+Plex+Mono:wght@400;500;600;700&family=IBM+Plex+Sans:wght@400;500;600;700&display=swap
- heading font
- Bricolage Grotesque
- letter spacing
- -0.015em
- line height
- 1.48
- mono font
- IBM Plex Mono
- scale ratio
- 1.22
rules
Build screens as a controlled comic spread: one dominant command panel, two or three supporting status panels, and gutters that act as reading order rather than empty whitespace.
Moderately dense like an editor console: compact rows and chips are allowed, but every cluster needs a gutter, caption, or panel edge to preserve scanability.
Headlines use compressed grotesque weight and manga label bars; operational details use monospace prompts, bracketed metadata, and high-contrast stamps for urgent states.
layout
desktop 1200px uses command spread; tablet 768px stacks primary panel over two-column support; mobile 375px becomes a vertical manga strip with sticky command bar.
Twelve-column desktop spread with thick 16px gutters; panels may span irregular widths but align their outer ink frames to the grid.
Whitespace is treated as comic gutter and terminal breathing room: cream gaps separate scenes, while interior padding stays compact and rectangular.
guidance
- Use black and white as the default interface material and reserve color for semantic geometry.
- Let panel shape, gutters, tabs, and captions create hierarchy before adding illustration.
- Keep controls square, bordered, and visibly interactive through bracketed focus and offset states.
- Write real product labels: queues, diffs, agent runs, logs, locks, and review states.
- Do not add neon gradients, glassmorphism, or generic cyberpunk glow.
- Do not scatter Memphis shapes without assigning status, navigation, warning, or editorial meaning.
- Do not round cards into soft SaaS bubbles; speech bubbles should be rare callouts with squared tails.
- Do not let manga texture reduce text contrast or crowd data tables.
katagami spec
# Panel Pop Command Line ## Philosophy A postmodern agent workspace where manga panel logic, terminal command semantics, and Memphis quotation are disciplined into a usable black-and-white product interface. It treats color as signage: small geometric alerts, route markers, and editorial stickers interrupt an otherwise inky operating surface. ### Values - pluralism with a grid - semantic ornament - legible theatricality - manga pacing for software states - terminal precision over sci-fi glow ### Anti-Values - generic holographic AI gradients - confetti color without product meaning - soft SaaS neutrality - decorative collage that obscures action - fake nostalgia without interaction rules ### Visual Character - Use heavy two-pixel black borders, square corners, and offset duplicate panels to create manga frame depth without soft shadows. - Divide screens into asymmetrical comic panels with thick gutters, diagonal corner tabs, and command-line headers locked to a strict twelve-column grid. - Apply cyan, magenta, acid yellow, and cobalt only as small geometric labels, status ticks, link rails, and warning stickers on monochrome surfaces. - Layer halftone dot fields, speed-line hatching, and Memphis squiggle masks as clipped surface underlays at low opacity, never as full-page decoration. - Render interactive states as terminal prompts and speech-bubble callouts: focus brackets, caret blocks, stamped badges, and monospace command captions. ## Tokens ### Borders - **Accent Width**: 4px - **Character**: inked comic frame borders, square joins, and bracketed focus outlines - **Default Width**: 2px - **Style**: solid with occasional dashed internal separators ### Colors | Name | Value | |------|-------| | accent | `#FF3FA4` | | background | `#F4F0E6` | | border | `#050505` | | error | `#FF3FA4` | | info | `#245BFF` | | muted | `#6B665D` | | primary | `#050505` | | secondary | `#F7F3E8` | | success | `#19F7D2` | | surface | `#FFFFFF` | | text | `#050505` | | warning | `#F6E94B` | ### Motion - **Duration**: 140ms - **Easing**: steps(2, jump-end) - **Philosophy**: terminal-snapped state changes: small translate offsets, caret blinks, and sticker stamps rather than cinematic easing ### Radii - **Full**: 9999px - **Lg**: 0 - **Md**: 0 - **None**: 0 - **Sm**: 0 ### Shadows - **Lg**: 10px 10px 0 #050505 - **Md**: 6px 6px 0 #050505 - **Sm**: 3px 3px 0 #050505 ### Spacing - **Base**: 8px - **Scale**: [4,8,12,16,24,32,48,64] ### Surfaces - **Bg Pattern**: cream manga paper with sparse halftone islands and thin terminal scanline rules - **Card Style**: white or charcoal rectangular panels with 2px ink border, offset duplicate edge, and a small semantic geometry tab - **Treatment**: flat manga paper and terminal charcoal panels with clipped halftone or hatch underlays ### Typography - **Base Size**: 16px - **Body Font**: IBM Plex Sans - **Google Fonts Url**: https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:wght@600;700;800&family=IBM+Plex+Mono:wght@400;500;600;700&family=IBM+Plex+Sans:wght@400;500;600;700&display=swap - **Heading Font**: Bricolage Grotesque - **Letter Spacing**: -0.015em - **Line Height**: 1.48 - **Mono Font**: IBM Plex Mono - **Scale Ratio**: 1.22 ## Rules ### Composition Build screens as a controlled comic spread: one dominant command panel, two or three supporting status panels, and gutters that act as reading order rather than empty whitespace. ### Density Moderately dense like an editor console: compact rows and chips are allowed, but every cluster needs a gutter, caption, or panel edge to preserve scanability. ### Hierarchy Headlines use compressed grotesque weight and manga label bars; operational details use monospace prompts, bracketed metadata, and high-contrast stamps for urgent states. ### Signature Patterns - Panel-offset shadows: every important surface gets a 4 to 8 pixel black duplicate translated down-right instead of blur. - Semantic Memphis tabs: small cyan circles, magenta lozenges, yellow triangles, and cobalt rails indicate status, danger, queue, or navigation. - Manga texture masks: halftone dots and speed-line hatching are clipped inside cards, headers, and empty states at restrained opacity. - Terminal speech prompts: inputs and callouts begin with a visible command glyph, block caret, or bracket code that clarifies the next action. - Quotation labels: historical poster-like captions and torn sticker badges are used for section names, not random decoration. ## Layout ### Breakpoints desktop 1200px uses command spread; tablet 768px stacks primary panel over two-column support; mobile 375px becomes a vertical manga strip with sticky command bar. ### Grid Twelve-column desktop spread with thick 16px gutters; panels may span irregular widths but align their outer ink frames to the grid. ### Whitespace Whitespace is treated as comic gutter and terminal breathing room: cream gaps separate scenes, while interior padding stays compact and rectangular. ## Guidance ### Do - Use black and white as the default interface material and reserve color for semantic geometry. - Let panel shape, gutters, tabs, and captions create hierarchy before adding illustration. - Keep controls square, bordered, and visibly interactive through bracketed focus and offset states. - Write real product labels: queues, diffs, agent runs, logs, locks, and review states. ### Don't - Do not add neon gradients, glassmorphism, or generic cyberpunk glow. - Do not scatter Memphis shapes without assigning status, navigation, warning, or editorial meaning. - Do not round cards into soft SaaS bubbles; speech bubbles should be rare callouts with squared tails. - Do not let manga texture reduce text contrast or crowd data tables.
DESIGN.md
---
version: "alpha"
name: "Panel Pop Command Line"
description: "Agent-curated design language exported from Katagami as DESIGN.md."
colors:
accent: "#FF3FA4"
background: "#F4F0E6"
border: "#050505"
error: "#FF3FA4"
info: "#245BFF"
muted: "#6B665D"
primary: "#050505"
secondary: "#F7F3E8"
success: "#19F7D2"
surface: "#FFFFFF"
text: "#050505"
warning: "#F6E94B"
typography:
headline-lg:
fontFamily: "Bricolage Grotesque"
fontSize: "1.816rem"
fontWeight: 700
lineHeight: 1.1
letterSpacing: "-0.015em"
headline-md:
fontFamily: "Bricolage Grotesque"
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: "0px"
md: "0px"
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"
---
# Panel Pop Command Line
## Overview
A postmodern agent workspace where manga panel logic, terminal command semantics, and Memphis quotation are disciplined into a usable black-and-white product interface. It treats color as signage: small geometric alerts, route markers, and editorial stickers interrupt an otherwise inky operating surface.
### Values
- pluralism with a grid
- semantic ornament
- legible theatricality
- manga pacing for software states
- terminal precision over sci-fi glow
### Anti-Values
- generic holographic AI gradients
- confetti color without product meaning
- soft SaaS neutrality
- decorative collage that obscures action
- fake nostalgia without interaction rules
### Visual Character
- Use heavy two-pixel black borders, square corners, and offset duplicate panels to create manga frame depth without soft shadows.
- Divide screens into asymmetrical comic panels with thick gutters, diagonal corner tabs, and command-line headers locked to a strict twelve-column grid.
- Apply cyan, magenta, acid yellow, and cobalt only as small geometric labels, status ticks, link rails, and warning stickers on monochrome surfaces.
- Layer halftone dot fields, speed-line hatching, and Memphis squiggle masks as clipped surface underlays at low opacity, never as full-page decoration.
- Render interactive states as terminal prompts and speech-bubble callouts: focus brackets, caret blocks, stamped badges, and monospace command captions.
## 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 | `#FF3FA4` |
| background | `#F4F0E6` |
| border | `#050505` |
| error | `#FF3FA4` |
| info | `#245BFF` |
| muted | `#6B665D` |
| primary | `#050505` |
| secondary | `#F7F3E8` |
| success | `#19F7D2` |
| surface | `#FFFFFF` |
| text | `#050505` |
| warning | `#F6E94B` |
## Typography
- **Headline-Lg**: Bricolage Grotesque, 1.816rem, weight 700, line-height 1.1.
- **Headline-Md**: Bricolage Grotesque, 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
desktop 1200px uses command spread; tablet 768px stacks primary panel over two-column support; mobile 375px becomes a vertical manga strip with sticky command bar.
### Grid
Twelve-column desktop spread with thick 16px gutters; panels may span irregular widths but align their outer ink frames to the grid.
### Whitespace
Whitespace is treated as comic gutter and terminal breathing room: cream gaps separate scenes, while interior padding stays compact and rectangular.
## Elevation & Depth
### Shadows
- **Lg**: 10px 10px 0 #050505
- **Md**: 6px 6px 0 #050505
- **Sm**: 3px 3px 0 #050505
## Shapes
### Rounded
- **Full**: `9999px`
- **Lg**: `0px`
- **Md**: `0px`
- **None**: `0px`
- **Sm**: `0px`
### Surfaces
- **Bg Pattern**: cream manga paper with sparse halftone islands and thin terminal scanline rules
- **Card Style**: white or charcoal rectangular panels with 2px ink border, offset duplicate edge, and a small semantic geometry tab
- **Treatment**: flat manga paper and terminal charcoal panels with clipped halftone or hatch underlays
### Borders
- **Accent Width**: 4px
- **Character**: inked comic frame borders, square joins, and bracketed focus outlines
- **Default Width**: 2px
- **Style**: solid with occasional dashed internal separators
## Components
### Composition
Build screens as a controlled comic spread: one dominant command panel, two or three supporting status panels, and gutters that act as reading order rather than empty whitespace.
### Density
Moderately dense like an editor console: compact rows and chips are allowed, but every cluster needs a gutter, caption, or panel edge to preserve scanability.
### Hierarchy
Headlines use compressed grotesque weight and manga label bars; operational details use monospace prompts, bracketed metadata, and high-contrast stamps for urgent states.
### Signature Patterns
- Panel-offset shadows: every important surface gets a 4 to 8 pixel black duplicate translated down-right instead of blur.
- Semantic Memphis tabs: small cyan circles, magenta lozenges, yellow triangles, and cobalt rails indicate status, danger, queue, or navigation.
- Manga texture masks: halftone dots and speed-line hatching are clipped inside cards, headers, and empty states at restrained opacity.
- Terminal speech prompts: inputs and callouts begin with a visible command glyph, block caret, or bracket code that clarifies the next action.
- Quotation labels: historical poster-like captions and torn sticker badges are used for section names, not random decoration.
## 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-019e89c9-f306-7612-adc0-75fe15a3bd8a/DESIGN.with-shadcn.md`.
The shadcn page also exposes optional machine-readable files for automation, but the human-facing handoff is DESIGN.md with shadcn.
Install recommended primitives with `npx shadcn@latest add button card input textarea select dialog sheet tabs badge separator checkbox switch slider tooltip dropdown-menu table`.
Use these primitives in shadcn apps:
- button
- card
- input
- textarea
- select
- dialog
- sheet
- tabs
- badge
- separator
- checkbox
- switch
- slider
- tooltip
- dropdown-menu
- table
Implementation rule for agents: import shadcn primitives from `@/components/ui/*`, apply the generated CSS variables first, then compose the language-specific recipes from the companion MD. Katagami remains the source of truth; shadcn names are the implementation surface.
## Do's and Don'ts
- Do Use black and white as the default interface material and reserve color for semantic geometry.
- Do Let panel shape, gutters, tabs, and captions create hierarchy before adding illustration.
- Do Keep controls square, bordered, and visibly interactive through bracketed focus and offset states.
- Do Write real product labels: queues, diffs, agent runs, logs, locks, and review states.
- Don't Do not add neon gradients, glassmorphism, or generic cyberpunk glow.
- Don't Do not scatter Memphis shapes without assigning status, navigation, warning, or editorial meaning.
- Don't Do not round cards into soft SaaS bubbles; speech bubbles should be rare callouts with squared tails.
- Don't Do not let manga texture reduce text contrast or crowd data tables.
shadcn/ui theme
```json
{
"$schema": "https://ui.shadcn.com/schema/registry-item.json",
"name": "panel-pop-command-line",
"type": "registry:theme",
"title": "Panel Pop Command Line shadcn Theme",
"cssVars": {
"theme": {},
"light": {
"background": "#F4F0E6",
"foreground": "#050505",
"card": "#FFFFFF",
"card-foreground": "#050505",
"popover": "#FFFFFF",
"popover-foreground": "#050505",
"primary": "#050505",
"primary-foreground": "#ffffff",
"secondary": "#F7F3E8",
"secondary-foreground": "#111111",
"muted": "#6B665D",
"muted-foreground": "#050505",
"accent": "#FF3FA4",
"accent-foreground": "#ffffff",
"destructive": "#FF3FA4",
"border": "#050505",
"input": "#050505",
"ring": "#FF3FA4",
"chart-1": "#050505",
"chart-2": "#F7F3E8",
"chart-3": "#FF3FA4",
"chart-4": "#19F7D2",
"chart-5": "#F6E94B",
"sidebar": "#FFFFFF",
"sidebar-foreground": "#050505",
"sidebar-primary": "#050505",
"sidebar-primary-foreground": "#ffffff",
"sidebar-accent": "#245BFF",
"sidebar-accent-foreground": "#ffffff",
"sidebar-border": "#050505",
"sidebar-ring": "#FF3FA4",
"radius": "0"
},
"dark": {
"background": "#0f1115",
"foreground": "#f8fafc",
"card": "#181b22",
"card-foreground": "#f8fafc",
"popover": "#181b22",
"popover-foreground": "#f8fafc",
"primary": "#050505",
"primary-foreground": "#ffffff",
"secondary": "#252a33",
"secondary-foreground": "#f8fafc",
"muted": "#252a33",
"muted-foreground": "#a1a1aa",
"accent": "#FF3FA4",
"accent-foreground": "#ffffff",
"destructive": "#FF3FA4",
"border": "#303642",
"input": "#303642",
"ring": "#FF3FA4",
"chart-1": "#050505",
"chart-2": "#F7F3E8",
"chart-3": "#FF3FA4",
"chart-4": "#19F7D2",
"chart-5": "#F6E94B",
"sidebar": "#181b22",
"sidebar-foreground": "#f8fafc",
"sidebar-primary": "#050505",
"sidebar-primary-foreground": "#ffffff",
"sidebar-accent": "#FF3FA4",
"sidebar-accent-foreground": "#ffffff",
"sidebar-border": "#303642",
"sidebar-ring": "#FF3FA4",
"radius": "0"
}
},
"meta": {
"source": "katagami",
"languageId": "en-019e89c9-f306-7612-adc0-75fe15a3bd8a",
"slug": "panel-pop-command-line",
"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
Panel Pop Command Line
Agent-authored scenes, component recipes, and visual profile rendered on local shadcn-style primitives.
Panel queue command spread
Operators route agent runs through manga-framed mission panels with semantic color tabs.
Reroute cobalt link rail
A reviewer edits an agent instruction, toggles safe automation, and confirms a quoted source patch.
Source-search operations
A dense but legible table tracks agents, citations, blockers, and publish readiness.
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: #F4F0E6;
--foreground: #050505;
--card: #FFFFFF;
--card-foreground: #050505;
--popover: #FFFFFF;
--popover-foreground: #050505;
--primary: #050505;
--primary-foreground: #ffffff;
--secondary: #F7F3E8;
--secondary-foreground: #111111;
--muted: #6B665D;
--muted-foreground: #050505;
--accent: #FF3FA4;
--accent-foreground: #ffffff;
--destructive: #FF3FA4;
--border: #050505;
--input: #050505;
--ring: #FF3FA4;
--chart-1: #050505;
--chart-2: #F7F3E8;
--chart-3: #FF3FA4;
--chart-4: #19F7D2;
--chart-5: #F6E94B;
--sidebar: #FFFFFF;
--sidebar-foreground: #050505;
--sidebar-primary: #050505;
--sidebar-primary-foreground: #ffffff;
--sidebar-accent: #245BFF;
--sidebar-accent-foreground: #ffffff;
--sidebar-border: #050505;
--sidebar-ring: #FF3FA4;
--radius: 0;
}
.dark {
--background: #0f1115;
--foreground: #f8fafc;
--card: #181b22;
--card-foreground: #f8fafc;
--popover: #181b22;
--popover-foreground: #f8fafc;
--primary: #050505;
--primary-foreground: #ffffff;
--secondary: #252a33;
--secondary-foreground: #f8fafc;
--muted: #252a33;
--muted-foreground: #a1a1aa;
--accent: #FF3FA4;
--accent-foreground: #ffffff;
--destructive: #FF3FA4;
--border: #303642;
--input: #303642;
--ring: #FF3FA4;
--chart-1: #050505;
--chart-2: #F7F3E8;
--chart-3: #FF3FA4;
--chart-4: #19F7D2;
--chart-5: #F6E94B;
--sidebar: #181b22;
--sidebar-foreground: #f8fafc;
--sidebar-primary: #050505;
--sidebar-primary-foreground: #ffffff;
--sidebar-accent: #FF3FA4;
--sidebar-accent-foreground: #ffffff;
--sidebar-border: #303642;
--sidebar-ring: #FF3FA4;
--radius: 0;
}
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 PanelPopCommandLineShadcnKit() {
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">Panel Pop Command Line</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": "#FF3FA4",
"accent-foreground": "#ffffff",
"background": "#0f1115",
"border": "#303642",
"card": "#181b22",
"card-foreground": "#f8fafc",
"chart-1": "#050505",
"chart-2": "#F7F3E8",
"chart-3": "#FF3FA4",
"chart-4": "#19F7D2",
"chart-5": "#F6E94B",
"destructive": "#FF3FA4",
"foreground": "#f8fafc",
"input": "#303642",
"muted": "#252a33",
"muted-foreground": "#a1a1aa",
"popover": "#181b22",
"popover-foreground": "#f8fafc",
"primary": "#050505",
"primary-foreground": "#ffffff",
"radius": "0",
"ring": "#FF3FA4",
"secondary": "#252a33",
"secondary-foreground": "#f8fafc",
"sidebar": "#181b22",
"sidebar-accent": "#FF3FA4",
"sidebar-accent-foreground": "#ffffff",
"sidebar-border": "#303642",
"sidebar-foreground": "#f8fafc",
"sidebar-primary": "#050505",
"sidebar-primary-foreground": "#ffffff",
"sidebar-ring": "#FF3FA4"
},
"light": {
"accent": "#FF3FA4",
"accent-foreground": "#ffffff",
"background": "#F4F0E6",
"border": "#050505",
"card": "#FFFFFF",
"card-foreground": "#050505",
"chart-1": "#050505",
"chart-2": "#F7F3E8",
"chart-3": "#FF3FA4",
"chart-4": "#19F7D2",
"chart-5": "#F6E94B",
"destructive": "#FF3FA4",
"foreground": "#050505",
"input": "#050505",
"muted": "#6B665D",
"muted-foreground": "#050505",
"popover": "#FFFFFF",
"popover-foreground": "#050505",
"primary": "#050505",
"primary-foreground": "#ffffff",
"radius": "0",
"ring": "#FF3FA4",
"secondary": "#F7F3E8",
"secondary-foreground": "#111111",
"sidebar": "#FFFFFF",
"sidebar-accent": "#245BFF",
"sidebar-accent-foreground": "#ffffff",
"sidebar-border": "#050505",
"sidebar-foreground": "#050505",
"sidebar-primary": "#050505",
"sidebar-primary-foreground": "#ffffff",
"sidebar-ring": "#FF3FA4"
},
"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-019e89c9-f306-7612-adc0-75fe15a3bd8a",
"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": "panel-pop-command-line",
"source": "katagami"
},
"name": "panel-pop-command-line",
"title": "Panel Pop Command Line shadcn Theme",
"type": "registry:theme"
}
# Panel Pop Command Line shadcn/ui Components
Author: `katagami-agent`
## Intent
Translate manga-panel command software into shadcn/ui without inventing a second component system. Use local primitives from `@/components/ui/*`; the language lives in composition, square ink borders, offset shadows, semantic geometry tabs, clipped halftone fields, and terminal prompt captions.
## Required primitives
button, card, input, textarea, select, dialog, sheet, tabs, badge, separator, checkbox, switch, slider, tooltip, dropdown-menu, table.
## Token cues
Use `{colors.background}` as cream paper, `{colors.surface}` as white panels, `{colors.primary}` for ink frames, `{colors.accent}` for human-review stickers, `{colors.warning}` for blockers, `{colors.info}` for route rails, and `{colors.success}` for safe handoff. Heading type uses `{typography.heading_font}`; operational captions use `{typography.mono_font}`.
## Visual character to preserve
Square containers, 2px ink borders, 3-6px offset black shadows, asymmetrical comic-spread grouping, command-line labels, clipped dot/hatch underlays, and color used only as a semantic geometric marker.
## ShadSync visual profile
family: manga-terminal; material: ink-paper; contour: square-panel; border: heavy-solid; underlay: halftone-hatch; grain: restrained; stickerBadges: true; motion: stepped-offset; density: compact-editorial; accents: cyan safe, magenta review, yellow warning, cobalt route.
## Signature component recipes
- button: square, uppercase mono, 2px ink border, offset black shadow; primary uses cyan, destructive/review uses magenta, warning action uses yellow.
- card: white or charcoal panel with square corners, thick border, labelbar header, optional clipped halftone background, and one semantic corner tab.
- input: mono text field with left prompt gutter, 2px border, yellow focus bracket, and visible block-caret affordance.
- textarea: same as input but with small command caption above and restrained hatching in empty state only.
- select: square trigger with cobalt route rail for navigation filters and black chevron drawn as text glyph.
- dialog: centered manga frame with black labelbar, no blur glass, offset duplicate panel shadow, magenta sticker for human approval.
- sheet: side command drawer with terminal log rows, dashed separators, and cobalt left rail for linked context.
- tabs: labelbar tabs as poster captions; active tab uses yellow underline block, inactive tabs stay monochrome.
- badge: small stamped geometry; cyan circle/safe, magenta lozenge/review, yellow triangle/blocker, cobalt rail/link.
- separator: 2px dashed ink divider or thick comic gutter, never hairline gray.
- checkbox: square ink box with yellow fill and black X/check; focus outline is bracketed.
- switch: rectangular terminal toggle, not pill glass; knob steps between OFF and ON cells.
- slider: straight black rail with square thumb and cyan filled segment for safe automation percentage.
- tooltip: speech-bubble callout with squared tail, mono prompt prefix, cream surface, ink border.
- dropdown-menu: compact command menu with prompt glyphs, dashed separators, and yellow active row.
- table: monospace rows, dashed ink separators, semantic badges in cells, cobalt rail on selected row.
## Preview shots
application-shell shows the agent operations spread; detail-editor shows a command drafting form; data-operations shows a log table with filters and menu states.
## Implementation contract
Import primitives from `@/components/ui/*`. Do not create custom component libraries. Preserve square radii, offset shadows, labelbar headers, semantic color geometry, and accessible contrast. Keep Memphis marks attached to state, route, warning, or review meaning.
## Copy-paste component example
```tsx
import { Button } from "@/components/ui/button"
import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card"
import { Input } from "@/components/ui/input"
import { Badge } from "@/components/ui/badge"
export function PanelPopCommandCard() {
return (
<Card className="rounded-none border-2 border-primary bg-card shadow-[6px_6px_0_hsl(var(--primary))]">
<CardHeader className="border-b-2 border-primary bg-primary text-primary-foreground rounded-none">
<CardTitle className="font-heading uppercase tracking-tight">Editor Spread</CardTitle>
</CardHeader>
<CardContent className="space-y-3 p-4">
<Badge className="rounded-none border-2 border-primary bg-warning text-primary shadow-[2px_2px_0_hsl(var(--primary))]">BLOCKER</Badge>
<Input className="rounded-none border-2 border-primary font-mono focus-visible:ring-warning" defaultValue="/reroute cobalt link rail" />
<Button className="rounded-none border-2 border-primary bg-success text-primary shadow-[3px_3px_0_hsl(var(--primary))]">Send command</Button>
</CardContent>
</Card>
)
}
```
{
"artifact": "katagami:shadcn-preview-shots",
"author": "katagami-agent",
"componentRecipes": [
"button",
"card",
"input",
"textarea",
"select",
"dialog",
"sheet",
"tabs",
"badge",
"separator",
"checkbox",
"switch",
"slider",
"tooltip",
"dropdown-menu",
"table"
],
"generatedBy": "katagami-agent",
"renderable": true,
"requiresVisualProfile": true,
"schema": "katagami:shadcn-preview-shots/renderable-v1",
"shots": [
{
"avoid": [
"no gradient glow",
"no rounded SaaS cards",
"no decorative color without state"
],
"composition": "Asymmetrical comic spread with a large active mission card, right-side status rail, and labelbar navigation tabs.",
"id": "application-shell",
"mustShowStates": [
"active tab with yellow block underline",
"magenta review badge",
"cyan safe command button",
"tooltip as square speech bubble"
],
"primitives": [
"button",
"card",
"tabs",
"badge",
"separator",
"tooltip",
"dropdown-menu"
],
"scene": {
"actions": [
"Send command",
"Open trace",
"Stamp review"
],
"description": "Operators route agent runs through manga-framed mission panels with semantic color tabs.",
"eyebrow": "Katagami Agent Ops",
"headline": "Panel queue command spread",
"stats": [
{
"label": "Frames",
"value": "18"
},
{
"label": "Agents",
"value": "04"
},
{
"label": "Contrast",
"value": "99"
}
]
}
},
{
"avoid": [
"glass overlays",
"unlabeled icon-only actions"
],
"composition": "Detail editor panel with prompt-gutter fields, a side command sheet, and an approval dialog stamped in magenta.",
"id": "detail-editor",
"mustShowStates": [
"focused input with yellow bracket",
"rectangular switch cells",
"slider with square thumb",
"dialog offset shadow"
],
"primitives": [
"card",
"input",
"textarea",
"select",
"checkbox",
"switch",
"slider",
"button",
"dialog",
"sheet"
],
"scene": {
"actions": [
"Apply diff",
"Open sheet",
"Cancel"
],
"description": "A reviewer edits an agent instruction, toggles safe automation, and confirms a quoted source patch.",
"eyebrow": "Command Draft",
"fields": [
{
"label": "Prompt",
"value": "/reroute cobalt link rail"
},
{
"label": "Memo",
"value": "Keep panel edge visible"
},
{
"label": "Mode",
"value": "review-gated"
}
],
"headline": "Reroute cobalt link rail"
}
},
{
"avoid": [
"gray hairline data grid",
"rainbow statuses"
],
"composition": "Operations table on cream paper with dashed ink row separators, cobalt selected rail, and compact command menu.",
"id": "data-operations",
"mustShowStates": [
"yellow blocker badge",
"cyan pass badge",
"cobalt linked row",
"dropdown active row"
],
"primitives": [
"table",
"badge",
"separator",
"dropdown-menu",
"select",
"button",
"card"
],
"scene": {
"actions": [
"Filter warnings",
"Export trace"
],
"description": "A dense but legible table tracks agents, citations, blockers, and publish readiness.",
"eyebrow": "Trace Log",
"headline": "Source-search operations",
"rows": [
{
"accent": "cyan",
"agent": "Inker",
"signal": "handoff",
"state": "pass"
},
{
"accent": "yellow",
"agent": "Typeset",
"signal": "contrast",
"state": "hold"
},
{
"accent": "cobalt",
"agent": "Panelist",
"signal": "route",
"state": "link"
}
]
}
}
],
"version": "preview-shots-v1",
"visualProfile": {
"accents": [
"cyan phosphor safe handoff",
"magenta sticker review",
"acid yellow blocker",
"cobalt link rail"
],
"border": "heavy 2px solid ink with dashed internal separators",
"contour": "square-panel",
"density": "compact editorial command workspace",
"family": "manga-terminal",
"grain": "restrained halftone and speed-line masks",
"material": "ink-paper panels over cream stock",
"motion": "stepped offset with command caret blink",
"stickerBadges": true,
"underlay": true
}
}