Skip to content
Kura

Components

31 components, each with a manifest your agent can read. New ones appear here as soon as their folder exists.

Agent

Subagents3

  • explorerFound 23 calls to fetchUser() in 9 files84.2k1:34
  • , 40%test-writerRewriting session mocks in login.test.ts31.9k–
  • reviewerStarts when the patches land–

Agent Fleet

Panel of parallel subagents: status, name and role, live activity, thin progress, elapsed time, tokens and cost, with a fleet summary and selection.

  1. Read the failing test (done)1.2s
  2. Patch the date parser (in progress)
  3. Re-run the test suite (queued)
Step 2 of 3

Agent Timeline

Vertical plan tracker for multi-step agents: queued/active/done/failed/skipped steps, nested sub-steps, live durations and a connector that fills.

Kura wants to run a command

Low risk
pnpm install
Needs approval

Approval Prompt

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.

Checkpoints3

  1. Patched src/middleware.tsCurrent
  2. Replaced fetchUser() in 9 files
  3. Run started on kura/auth-client

Checkpoints

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

Token / context-window usage as a compact ring or bar with warning and danger thresholds, rolling numbers and a segmented breakdown card.

Queued2

Sends when the agent finishes this turn
  1. When tests pass, update the auth section of the README
  2. Don't touch src/legacy/ — it's deleted next sprint

Alt plus arrow keys or Space then arrows to reorder. Enter to edit, Delete to remove, Control or Command plus Enter to send now.

Prompt Queue

Stack of follow-up prompts queued while an agent works: reorder, edit inline, remove, or Send now to steer. Renders nothing when empty.

Thought for 14s
The user wants the like button to feel instant. The lag comes from waiting on the server round-trip before re-rendering. Options: optimistic local state with manual rollback, or useOptimistic inside a transition. useOptimistic handles the rollback automatically if the action throws, and keeps the UI consistent with concurrent updates. I should recommend useOptimistic and show the minimal pattern, then mention the error case.

Reasoning

Collapsible thinking trace: a shimmering “Thinking… 12s” label while active that settles into “Thought for 14s”, revealing muted reasoning text.

Migrate session API to @acme/auth

Running
Elapsed
–:––
Run running

Run Header

Header for one agent run: title, agent, model, branch, status, live elapsed clock, tokens, cost vs budget, step progress and Stop/Pause controls.

Plan2 of 4
  • Read routes in src/app (done)21.4s
  • Map call sites of fetchUser() (done)48.2s
  • Patch src/auth/client.ts (in progress)
  • Run pnpm test (pending)
Task 3 of 4: Patch src/auth/client.ts

Task List

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.

read_file Completed
Arguments
{ "path": "src/app/page.tsx"}
Result
export default function Page() { return <Chat />;}

Tool Call

One tool invocation: name and icon, queued/running/done/failed/awaiting-approval status, live elapsed time and collapsible JSON args and result.

Trace14.2s
Kura
Plan the fix
read_file
Write the patch
Trace complete, 14.2s

Trace Waterfall

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

Agent is browsing
github.com/acme/web/pull/482
acme/webCodePull requestsActions

Migrate session API to @acme/auth client #482

Openkura wants to merge 4 commits into main from kura/auth-client
ConversationCommits 4Checks 3Files changed 6
Replaces fetchUser() and the legacy /api/session REST calls with createAuthClient(). Refreshes expired sessions with the rotated token.
All checks have passed
test142 passed · 41s
typecheck0 errors · 18s
lintclean · 6s

Browser Session

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.

Changes+2−22 additions, 2 deletions
@@ −1,4 +1,4 @@
import { NextResponse, type NextRequest } from "next/server";
removed: import { readSessionCookie } from "@/lib/legacy-session";
added: import { auth } from "@/auth/client";
​
const PUBLIC_PATHS = ["/login", "/signup", "/api/health"];
@@ −8,5 +8,5 @@
if (PUBLIC_PATHS.some((p) => pathname.startsWith(p))) return NextResponse.next();
​
removed: const session = readSessionCookie(request.headers.get("cookie"));
added: const session = await auth.getSession({ headers: request.headers });
if (!session) {
const url = new URL("/login", request.url);

Diff View

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.

Changes+33−3833 additions, 38 deletions
src
auth
__tests__
login.test.ts+7−5, modified
client.ts+13−16, modified
types.ts+6, added
lib
legacy-session.ts−10, deleted
routes/account
page.tsx+4−4, modified
middleware.ts+2−2, modified
package.json+1−1, modified

File Changes

The files an agent touched: a compact folder tree or flat list with A/M/D/R status, +/− counts, live “editing” markers and selection.

~/acme/webexit 0
git status --short
M src/auth/client.ts
M src/middleware.ts
M src/auth/__tests__/login.test.ts
D src/lib/legacy-session.ts

Terminal

Streamed command output that behaves like a real terminal: ANSI colours, progress-bar rewrites, stick-to-bottom, live clock and exit-code badge.

Conversation

Markdown · 1,240 words
Q3 launch plan ready

Artifact Card

Card for something an agent made — document, code, web page, image, sheet or diagram — with generating/updating progress, versions and open-in-panel.

React exposes a dedicated hook for optimistic updates1.

Citation

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.

tsx
import { StreamingText } from "@kura-ui/react/streaming-text";​export function Answer({ stream }: { stream: AsyncIterable<string> }) { // Bursty tokens are evened out into a calm cadence. return <StreamingText stream={stream} speed={90} className="max-w-prose" />;}

Code Block

Syntax-highlighted code with a filename header, copy, line numbers, highlighted lines, diffs, wrap, collapsible height and streaming-safe rendering.

How do I make a like button feel instant?
Render the new count optimistically and reconcile when the request finishes.

Message

Chat message (user/assistant) with avatar, hover actions, ‹ 2/3 › branches, error/streaming states and an autoscrolling MessageList thread.

Streaming Text

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

q3-board-report.pdf

Attachment

File and image attachment chips with thumbnails, upload progress rings, error/retry, remove, a “+N” overflow stack and a dropzone.

Command Palette

⌘K command palette for agent actions: fuzzy search, groups, recents, nested pages with async loading, and shortcut hints.

Composer

Prompt input for chat and agents: auto-growing textarea, attachments, toolbar slot, send→stop button, paste/drop files and a length hint.

Model Picker

Searchable popover for choosing an AI model, grouped by provider, with capability icons, context size, speed and cost hints.

Prompt Suggestions

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

Inline “/” command menu anchored to the caret of a textarea, with filtering, groups, icons, descriptions and keyboard navigation.

Voice

Voice agent idle

Agent Orb

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

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

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

Thinking…

Shimmer Text

Animated gradient sweep across text — the canonical “Thinking…” / “Searching…” label for in-progress AI work.

Thinking

Thinking Indicator

Compact AI “thinking” indicators — dots, pulse, orbit, wave, or cycling status text — inside a polite live region.