# click-to-agent
React 组件定位器 — Alt/Option+点击跳转源码,或将完整上下文交给 Cursor & Claude。支持 Next.js、Vite、TanStack Start、Rsbuild。
[English](./README.md) · **简体中文**
**按住 ⌥ Option / ⎇ Alt 点击任意 React 组件 → 跳转源码,或将完整上下文交给 AI Agent。**
支持 React 18 & 19 · 无需浏览器插件 · 无需 Babel 插件

---
## 1. 产品介绍
按住 ⌥ **Option**(Mac)或 ⎇ **Alt**(Win/Linux),与页面组件交互:
| 手势 | 效果 |
|------|------|
| ⌥ / ⎇ + **悬停** | 红色高亮框、组件名、源码路径、props/state 预览 |
| ⌥ / ⎇ + **点击** | 弹出四选一动作菜单(见下) |
| ⌥ / ⎇ + **右键** | 组件层级树 → 选择父组件 → 执行动作 |

**每个组件均支持四种动作:**
| | 动作 | 说明 |
|---|------|------|
| ↗ | **Open in …** | 在配置的每个编辑器中打开对应文件(见 `editor` prop) |
| ▹ | **Ask Cursor** | 通过 Deeplink 打开 Cursor,并预填完整 Prompt |
| ◎ | **Ask Claude** | 通过 Deeplink 打开 Claude Code,上下文相同 |
| ⧉ | **Copy prompt** | 将完整 Prompt 复制到剪贴板 |

**Agent Prompt 自动包含:** 组件名 · 源码路径与行号 · props(JSON)· Hook/Class 状态 · 渲染后的 DOM HTML · 关键计算样式。
**核心卖点**
- **零成本上手** — 指着 UI 就能定位,不用在组件树里翻找
- **Agent 就绪** — Cursor / Claude 一次拿到 props、state、DOM、CSS
- **适配你的技术栈** — Next.js 零配置;Vite / TanStack Start / Rsbuild 只需传 `projectRoot`
- **不影响生产构建** — 默认仅在 `NODE_ENV === 'development'` 时包含在 bundle 中
---
## 2. 支持的框架
| | 框架 | 示例 |
|---|------|------|
| | **Next.js**(Turbopack / webpack) | [`examples/nextjs`](./examples/nextjs) |
|
| **Vite** + React | [`examples/vite`](./examples/vite) |
|
| **TanStack Start** | [`examples/tanstack`](./examples/tanstack) |
| | **Rsbuild / Rspack** + React | [`examples/rsbuild`](./examples/rsbuild) |
React ≥ 18 · 需开启 Source Map。
---
## 3. 各框架接入方式
### 安装
```bash
pnpm add -D click-to-agent
npm install -D click-to-agent
yarn add -D click-to-agent
```
尽量把 `
Next.js
```tsx
// app/layout.tsx(或 pages/_app.tsx)
import { Locator } from 'click-to-agent';
export default function RootLayout({ children }: { children: React.ReactNode }) {
return (