Development-only Vite element picker for sending UI feedback to OpenCode V2 Brendonovich released a Vite plugin that adds a development-only element picker for sending UI feedback to OpenCode V2. The plugin injects a client module that overlays a custom cursor and allows users to select UI elements, which are then sent to OpenCode for feedback. It uses Babel to mark JSX elements with source locations and integrates with the OpenCode client. | // Now available as a Vite plugin | | | // https://npmx.dev/@brendonovich/vite-plugin-opencode | | | import type { IncomingMessage, ServerResponse } from "node:http"; | | | import type { Plugin } from "vite"; | | | import { | | | transformAsync, | | | types, | | | type NodePath, | | | type PluginObj, | | | type TransformOptions, | | | } from "@babel/core"; | | | import { OpenCode } from "@opencode-ai/client"; | | | import { Service } from "@opencode-ai/client/service"; | | | import { existsSync } from "node:fs"; | | | import { dirname, relative, resolve, sep } from "node:path"; | | | import { pathToFileURL } from "node:url"; | | | const virtualId = "virtual:vite-opencode-picker/client"; | | | const resolvedVirtualId = \0${virtualId} ; | | | export interface OpenCodePickerOptions { | | | readonly workspaceRoot?: string; | | | readonly skills?: ReadonlyArray