waipoint
v1.1.2
Published
Point at a UI element, copy `Name @ file:line`, paste to your AI agent. Your tokens are precious. Point, don't describe.
Maintainers
Readme
waipoint
Your tokens are precious. Point, don't describe.
Hover a UI element in your dev build, press C, and paste
Name @ file:line to your AI coding agent — it opens the exact source line in
one tool call. No screenshots, no DOM dumps.
Press C again without moving to cycle through overlapping elements. On touch,
long-press 500 ms and tap the bubble. The copy key is configurable:
waipoint({ copyKey: 'x' }).
npx waipoint init// vite.config.ts — with React, waipoint() must come BEFORE react()
import waipoint from 'waipoint/vite'
export default defineConfig({ plugins: [waipoint(), react()] })// vite.config.ts — Vue
export default defineConfig({ plugins: [waipoint(), vue()] })// next.config.mjs — works under Turbopack and webpack
import { withWaipoint } from 'waipoint/next'
export default withWaipoint(nextConfig)Under Turbopack the overlay loads from instrumentation-client.ts, which
waipoint init writes for you; waipoint doctor reports it if missing.
Svelte works with no transform at all — its dev mode already records source locations. Dev/serve only by default; production builds are untouched.
Measured against claude -p: a reference costs 191k input tokens and 3 turns to
land an edit where describing the same element in words costs 321k and 6.
Full docs, Flutter and Jetpack Compose packages, and the removal guide: https://github.com/larsien/waipoint
