Speak
Dictate visual feedback and instructions in your browser. Tuna turns your spoken notes into targeted comments that reference selected elements as context.
Tuna lets you select UI elements, fine-tune their visual details, and instruct your agents directly from your browser. Make changes visually and ship them frictionlessly.
npm install @suryanewa/tunaA short loop for visual tuning.
Dictate visual feedback and instructions in your browser. Tuna turns your spoken notes into targeted comments that reference selected elements as context.
Click on any element to capture selector, text, classes, bounds, and React ancestry context. Supports multiple selections.
Sketch directly over the page to mark areas, call out alignment issues, and capture visual annotations your agents can reference.
Quickly leave targeted notes on elements and drawn areas. Comments contain selector and component context alongside written visual changes.
Adjust parameters including spacing, color, layout, opacity, and shadows with live previewing. Quickly alter individual elements, classes, and grouped selections.
Copy or stream a structured diff through MCP with enough context for your coding agent to cleanly enact changes.
No more tedious UI descriptions. Tuna gives your agents structured, actionable context so you can move from visual intent to shipped code faster.
Apply these Tuna visual changes to the source code: **Environment:** - URL: http://localhost:3000/ - Viewport: 1440×900 - Scroll: (0, 0) - Timestamp: 2026-06-17T01:20:00.000Z > **Framework:** Tailwind CSS detected. Apply all changes using Tailwind utility classes — do NOT use inline styles or raw CSS values. When a class swap is suggested, replace the old class with the new one in the JSX/HTML. # Visual Changes (1 element) ## `<button>` "Get Started" **Source:** `src/components/HeroSection.tsx:42:10` **Component:** HeroSection → Button **Styling:** Tailwind CSS (modify utility classes) **DOM Path:** `body > main > section.hero > div > button.btn-primary` **Selector:** `main > section.hero > button.btn-primary` (element-specific) **Classes:** `btn btn-primary px-6 py-3 rounded-lg bg-blue-600 text-sm` ### Changes | Property | Before | After | Token | |----------|--------|-------|-------| | `padding` | `12px 24px` | `16px 32px` | — | | `border-radius` | `8px` | `12px` | — | | `background-color` | `#2563eb` | `#1d4ed8` | `.bg-blue-700` | | `font-size` | `14px` | `16px` | `.text-base` |
$ npm install @suryanewa/tuna
import { Tuna } from "@suryanewa/tuna" // Add anywhere in your component tree <Tuna />
Auto-detects Codex, Claude Code, and Cursor. Automatically configures the Tuna MCP server and installs a skill that teaches your agents how to handle design-related code.
$ npx @suryanewa/tuna setup
Works with Next.js, Vite, and Remix. Tailwind, CSS Modules, and plain CSS. Codex, Claude Code, Cursor, plus manual MCP configuration for other compatible agents.