import type { IdeAdapter } from '../ide-types.js'; /** * Cursor IDE adapter —— peaks-loop 的第三个内置 IDE 适配器(slice #12, 2.4.0)。 * * 不可消除的 per-IDE 字段(slice #1 锁定,same shape as trae-adapter.ts): * - settings.dirName = '.cursor' : Cursor 项目根下的配置目录 * - settings.settingsFileName = 'settings.json' * - envVar = 'CURSOR_PROJECT_DIR' : Cursor 注入的项目根 env 变量(用于 ${...} 占位) * - hookEvent = 'beforeShellExecution': Cursor 的 shell hook event key(UNVERIFIED — see R-1) * - toolMatcher = 'Bash' : Cursor 的 shell execution tool matcher * * Slice #12 status (2026-06-17, 2.4.0): * - Adapter is the third built-in IDE in peaks-loop after Claude Code (#1) and Trae (#2). * - Confirms the slice #1 + slice #2 architecture scales linearly: registering * a new IDE is genuinely a one-entry fill of the slim `IdeAdapter` shape. * - 2 UNVERIFIED fields: `envVar` (Cursor's `CURSOR_PROJECT_DIR` is the * most likely candidate but not confirmed against a live Cursor install; * see PRD R-2) and `hookEvent` (Cursor docs may use a different event * name; see PRD R-1). Both are annotated; the framework's fallback path * (legacy Claude Code install + stderr warning) handles UNVERIFIED * adapters without codepath changes. * - Sub-agent dispatcher reuses `claudeCodeSubAgentDispatcher` by design * (slice #009 rationale — byte-level identical across adapters; per-IDE * divergence can be filled in a follow-up slice if Cursor's sub-agent * shape is confirmed to differ). * - `standardsProfile` and `skillInstall` are intentionally UNVERIFIED — * real Cursor install dogfood required. Until then, the bundled-skills * postinstall writes to `~/.claude/skills/` (legacy Claude Code fallback * per slice #011 framework), with a stderr warning. Users on Cursor who * want skills visible to Cursor's auto-loader must move the symlinks * to `~/.cursor/skills/` manually (the warning text says so). * - L1 install scope default = `project` (writes to `/.cursor/settings.json`). * `--scope global` is the explicit global path; the L1 default is the * safer opt-in per slice #012 PRD scope clarification. */ export declare const CURSOR_ADAPTER: IdeAdapter;