# Kura UI > Agent-first, AI-native React components — composers, voice, shaders and agent surfaces. Kura UI is a React 19 + Tailwind CSS v4 component library for AI interfaces, designed to be chosen and installed by coding agents. Every component has a machine-readable manifest (when to use, when not to use, props, a11y, examples). Setup (npm): - `npm install @kura-ui/react` - In your global CSS after `@import "tailwindcss";`: `@import "@kura-ui/react/styles.css";` - Import per component: `import { ShimmerText } from "@kura-ui/react/shimmer-text";` Setup (copy source, shadcn-compatible): - Theme tokens once: `npx shadcn@latest add https://kuro.abstergo.fyi/r/kura-theme.json` - Then any component: `npx shadcn@latest add https://kuro.abstergo.fyi/r/.json` Machine-readable: - [Full catalog JSON (all meta, JSON-Schema props, examples, source)](https://kuro.abstergo.fyi/registry/index.json) - [Everything in one markdown file](https://kuro.abstergo.fyi/llms-full.txt) - MCP server: `npx -y @kura-ui/mcp` (tools: list_components, search_components, get_component, get_component_source, get_install_instructions, get_design_tokens, get_design_guidelines) - CLI: `npx @kura-ui/cli search "" --json` ## Agent - [Agent Fleet](https://kuro.abstergo.fyi/components/agent-fleet.md): Panel of parallel subagents: status, name and role, live activity, thin progress, elapsed time, tokens and cost, with a fleet summary and selection. - [Agent Timeline](https://kuro.abstergo.fyi/components/agent-timeline.md): Vertical plan tracker for multi-step agents: queued/active/done/failed/skipped steps, nested sub-steps, live durations and a connector that fills. - [Approval Prompt](https://kuro.abstergo.fyi/components/approval-prompt.md): Human-in-the-loop permission card (“Kura wants to run `rm -rf build`”) with risk level, details, Approve/Deny/Always allow, ⌘↵ and Esc, and resolved states. - [Checkpoints](https://kuro.abstergo.fyi/components/checkpoints.md): Restore points across an agent run: a compact rail of auto and saved checkpoints with relative times, a current marker and inline-confirmed Restore. - [Context Meter](https://kuro.abstergo.fyi/components/context-meter.md): Token / context-window usage as a compact ring or bar with warning and danger thresholds, rolling numbers and a segmented breakdown card. - [Prompt Queue](https://kuro.abstergo.fyi/components/prompt-queue.md): Stack of follow-up prompts queued while an agent works: reorder, edit inline, remove, or Send now to steer. Renders nothing when empty. - [Reasoning](https://kuro.abstergo.fyi/components/reasoning.md): Collapsible thinking trace: a shimmering “Thinking… 12s” label while active that settles into “Thought for 14s”, revealing muted reasoning text. - [Run Header](https://kuro.abstergo.fyi/components/run-header.md): Header for one agent run: title, agent, model, branch, status, live elapsed clock, tokens, cost vs budget, step progress and Stop/Pause controls. - [Task List](https://kuro.abstergo.fyi/components/task-list.md): The agent's plan as a todo list: segmented progress, shimmering current task, live and final durations, failure details, sub-tasks and a folded Completed group. - [Tool Call](https://kuro.abstergo.fyi/components/tool-call.md): One tool invocation: name and icon, queued/running/done/failed/awaiting-approval status, live elapsed time and collapsible JSON args and result. - [Trace Waterfall](https://kuro.abstergo.fyi/components/trace-waterfall.md): Span tree on a shared time axis for agent runs: nested agent, LLM, tool and retrieval spans, live bars, a details row and keyboard tree navigation. ## Workspace - [Browser Session](https://kuro.abstergo.fyi/components/browser-session.md): A computer/browser-use session made legible: tidy browser frame, the page, the agent's cursor with click ripple and target box, and a step log with take-over. - [Diff View](https://kuro.abstergo.fyi/components/diff-view.md): Code review for agent edits: a parsed unified diff with syntax and word highlights, line numbers, and per-hunk Accept / Reject with j/k/a/r keys. - [File Changes](https://kuro.abstergo.fyi/components/file-changes.md): The files an agent touched: a compact folder tree or flat list with A/M/D/R status, +/− counts, live “editing” markers and selection. - [Terminal](https://kuro.abstergo.fyi/components/terminal.md): Streamed command output that behaves like a real terminal: ANSI colours, progress-bar rewrites, stick-to-bottom, live clock and exit-code badge. ## Conversation - [Artifact Card](https://kuro.abstergo.fyi/components/artifact-card.md): Card for something an agent made — document, code, web page, image, sheet or diagram — with generating/updating progress, versions and open-in-panel. - [Citation](https://kuro.abstergo.fyi/components/citation.md): Inline numbered citation pill that links to its source and previews favicon, title, domain and snippet on hover/focus, plus a Sources strip or list. - [Code Block](https://kuro.abstergo.fyi/components/code-block.md): Syntax-highlighted code with a filename header, copy, line numbers, highlighted lines, diffs, wrap, collapsible height and streaming-safe rendering. - [Message](https://kuro.abstergo.fyi/components/message.md): Chat message (user/assistant) with avatar, hover actions, ‹ 2/3 › branches, error/streaming states and an autoscrolling MessageList thread. - [Streaming Text](https://kuro.abstergo.fyi/components/streaming-text.md): Token-by-token model output with an even reveal cadence, word-group fade/blur-in and a soft caret. Takes a growing string or an async iterable. ## Input - [Attachment](https://kuro.abstergo.fyi/components/attachment.md): File and image attachment chips with thumbnails, upload progress rings, error/retry, remove, a “+N” overflow stack and a dropzone. - [Command Palette](https://kuro.abstergo.fyi/components/command-palette.md): ⌘K command palette for agent actions: fuzzy search, groups, recents, nested pages with async loading, and shortcut hints. - [Composer](https://kuro.abstergo.fyi/components/composer.md): Prompt input for chat and agents: auto-growing textarea, attachments, toolbar slot, send→stop button, paste/drop files and a length hint. - [Model Picker](https://kuro.abstergo.fyi/components/model-picker.md): Searchable popover for choosing an AI model, grouped by provider, with capability icons, context size, speed and cost hints. - [Prompt Suggestions](https://kuro.abstergo.fyi/components/prompt-suggestions.md): Starter prompts for empty chat states — chips, cards or a list that rise in with a short stagger and fill the composer when clicked. - [Slash Command Menu](https://kuro.abstergo.fyi/components/slash-command-menu.md): Inline “/” command menu anchored to the caret of a textarea, with filtering, groups, icons, descriptions and keyboard navigation. ## Voice - [Agent Orb](https://kuro.abstergo.fyi/components/agent-orb.md): Calm, softly glassy voice-agent sphere drawn in a shader: slow colour clouds that breathe when idle, swell with audio and turn while thinking. - [Audio Waveform](https://kuro.abstergo.fyi/components/audio-waveform.md): Canvas audio visualiser — live bars, mirrored history or oscilloscope line from a mic or media element, or recorded peaks with a seek scrubber. - [Voice Dictation](https://kuro.abstergo.fyi/components/voice-dictation.md): Mic button that expands into a live waveform pill with a timer and live transcript; speech-to-text with recording fallback, toggle or hold-to-talk. ## Feedback - [Shimmer Text](https://kuro.abstergo.fyi/components/shimmer-text.md): Animated gradient sweep across text — the canonical “Thinking…” / “Searching…” label for in-progress AI work. - [Thinking Indicator](https://kuro.abstergo.fyi/components/thinking-indicator.md): Compact AI “thinking” indicators — dots, pulse, orbit, wave, or cycling status text — inside a polite live region. ## Primitives - [Button](https://kuro.abstergo.fyi/components/button.md): The Kura button: six variants, four sizes, loading state, asChild, tactile press and a signal focus ring. - [Icon Button](https://kuro.abstergo.fyi/components/icon-button.md): Square icon-only button with a mandatory accessible label and an automatic tooltip (with optional shortcut). - [Kbd](https://kuro.abstergo.fyi/components/kbd.md): Keyboard key or key combo, platform-aware (⌘ on Apple, Ctrl elsewhere) and hydration-safe. - [Kbd Shortcut](https://kuro.abstergo.fyi/components/kbd-shortcut.md): Labelled keyboard-shortcut hint (“Send ⌘↵”) that can also bind the shortcut and light its keys while pressed. - [Popover](https://kuro.abstergo.fyi/components/popover.md): Floating panel (opaque raised surface, hairline ring, soft shadow) anchored to a trigger, with focus management and origin-aware motion. - [Shader Canvas](https://kuro.abstergo.fyi/components/shader-canvas.md): Minimal WebGL2 fragment-shader runner with time/resolution/pointer uniforms, DPR capping, offscreen pausing, reduced-motion still frame and CSS fallback. - [Spinner](https://kuro.abstergo.fyi/components/spinner.md): Quiet ring spinner (faint track, turning quarter arc) for indeterminate loading; inherits the current text color. - [Status Glyph](https://kuro.abstergo.fyi/components/status-glyph.md): Internal status glyph shared by agent surfaces: queued, running, waiting on you, done, failed, skipped and paused, drawn crisply in SVG. - [Tooltip](https://kuro.abstergo.fyi/components/tooltip.md): Short label on hover or focus with an optional shortcut, origin-aware motion and instant skip between tooltips. ## Hooks - `useControllableState` (@kura-ui/react/hooks): One state API for components that support controlled (value/onChange) and uncontrolled (defaultValue) usage. - `useReducedMotion` (@kura-ui/react/hooks): Live, SSR-safe prefers-reduced-motion flag (false on the server). - `useHotkey` (@kura-ui/react/hooks): Bind a keyboard shortcut on document (or a target). `mod` = ⌘ on Apple, Ctrl elsewhere. Exact modifier matching. - `useIsApplePlatform` (@kura-ui/react/hooks): Hydration-safe macOS/iOS detection for rendering ⌘ vs Ctrl. - `useAudioAnalyser` (@kura-ui/react/hooks): Web Audio analysis of a mic MediaStream or