back to gallery
design language·panel-pop-command-line

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.

the spec

specification

philosophy
summary
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 gridsemantic ornamentlegible theatricalitymanga pacing for software statesterminal 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
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
accent
#FF3FA4
background
#F4F0E6
border
#050505
error
#FF3FA4
info
#245BFF
muted
#6B665D
primary
#050505
secondary
#F7F3E8
success
#19F7D2
surface
#FFFFFF
text
#050505
warning
#F6E94B
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
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.
avoid
  • 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"
      ]
    }
  }
}
```
in the wild

embodiments

the full element showcase
embodiment · panel-pop-command-line
DESIGN.md

at a glance

Palette

Typography

headline-lgBricolage Grotesque · 29px · 700

The quick brown fox jumps

headline-mdBricolage Grotesque · 24px · 600

The quick brown fox jumps

body-mdIBM Plex Sans · 16px · 400

The quick brown fox jumps

label-mdIBM Plex Mono · 12px · 600

The quick brown fox jumps

Components

New
Card title

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

Spacing

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

Shape

full9999px
lg0px
md0px
none0px
sm0px
shadcn/ui

implementation kit

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

Panel Pop Command Line

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

white or charcoal rectangular panels with 2px ink border, offset duplicate edge, and a small semantic geometry tab
Katagami Agent Opsapplication-shell

Panel queue command spread

Operators route agent runs through manga-framed mission panels with semantic color tabs.

buttoncardtabsbadgeseparatortooltipdropdown-menu
Panel Pop Command Line
shadcn layer
Overview
Components
Reviews
Exports
primaryaccentsurfacemutedwarning
Frames
18
Agents
04
Contrast
99
Component coverage
Filters, state, and row density rendered with the generated theme.
SurfaceStateStatus
Primary flowmappedactive
Token coveragesemanticsynced
Responsive proofqueuedreview
Must show
Avoid
no gradient glow
no rounded SaaS cards
Command Draftdetail-editor

Reroute cobalt link rail

A reviewer edits an agent instruction, toggles safe automation, and confirms a quoted source patch.

cardinputtextareaselectcheckboxswitchsliderbutton
Recipe details
Labels, validation, written guidance, and controls stay visible.
Density68
FocusInvalidConfirmed
Context sheet
Generated with the language job
sheet
Prompt
/reroute cobalt link rail
Memo
Keep panel edge visible
Mode
review-gated
Must show
Avoid
glass overlays
unlabeled icon-only actions
Trace Logdata-operations

Source-search operations

A dense but legible table tracks agents, citations, blockers, and publish readiness.

tablebadgeseparatordropdown-menuselectbuttoncard
Source-search operations
A dense but legible table tracks agents, citations, blockers, and publish readiness.
passholdlink
CheckFindingStatus
Button hierarchyapprovedpass
Table rhythmneeds passhold
Empty statedesignedlink
Responsive table, menu, tooltip, and badge proof.
Must show
Avoid
gray hairline data grid
rainbow statuses
recommendedagent kit includedverified

DESIGN.md with shadcn

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

advanced implementation filesoptional machine-readable theme, CSS, TSX starter, recipes, and preview contract
shadcn add
npx shadcn@latest add button card input textarea select dialog sheet tabs badge separator checkbox switch slider tooltip dropdown-menu table
theme css
:root {
  --background: #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;
}
tsx starter
import { Badge } from "@/components/ui/badge";
import { Button } from "@/components/ui/button";
import {
  Card,
  CardContent,
  CardDescription,
  CardFooter,
  CardHeader,
  CardTitle,
} from "@/components/ui/card";
import { Input } from "@/components/ui/input";
import { Tabs, TabsList, TabsTrigger } from "@/components/ui/tabs";

export function 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>
  );
}
theme JSONstored + verified
{
  "$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"
}
component recipesstored + verified
# 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>
  )
}
```
preview shotsstored + verified
{
  "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
  }
}
related

More like this