Skip to content

Cursor ​

Jue status: Read, Write, Artifact (project and Plugin), and Confirm are all Implemented (packages/ai-jue-adapter-cursor/). Cursor has no headless Plugin validator; confirm() returns unconfirmed for both project and plugin, with structural evidence for plugin (honest downgrade, not a gap). adapter-creator records the project/plugin dual layout against packages/ai-jue-adapter-cursor/src/capabilities/layout.ts.

Official references: Cursor Rules, Agent Skills, Subagents, Hooks, MCP, Plugins

1. Official surface ​

1.1 Project (workspace tree) ​

Root AGENTS.md, .cursor/rules/*.mdc, .cursor/commands/*.md, .cursor/skills/<name>/SKILL.md, .cursor/agents/<name>.md, .cursor/hooks.json, .cursor/mcp.json, plus .cursor/settings.json, .cursorignore, and .cursorindexingignore.

1.2 Plugin (distributable bundle) ​

.cursor-plugin/plugin.json manifest plus root-level rules/, skills/, agents/, commands/, hooks/hooks.json, and mcp.json. Local test path: ~/.cursor/plugins/local/<name> then Reload Window.

2. Intended Jue mapping ​

Canonical / adapter dutyProjectPlugin
manifest—.cursor-plugin/plugin.json
context.globalroot AGENTS.md (managed block)not mapped
rules.cursor/rules/*.mdcrules/*.mdc
commands.cursor/commands/*.mdcommands/*.md
skills.cursor/skills/*/SKILL.mdskills/*/SKILL.md
agents.cursor/agents/*.mdagents/*.md
hooks.cursor/hooks.jsonhooks/hooks.json
mcp.servers.cursor/mcp.jsonmcp.json
target-specific settingstools.cursornot mapped
variables—plugin.json#variables (passthrough)
Confirmunconfirmedunconfirmed (structural evidence)

3. Conversion boundaries ​

  • Skills, agents, and commands keep YAML frontmatter (name, description).
  • Project hooks write { version: 1, hooks }; plugin hooks write { hooks } (no version).
  • Hook events: Canonical PascalCase → Cursor camelCase.
  • Command-based MCP servers get type: "stdio".
  • Empty hooks or MCP sets must not write files.

4. Current gaps ​

LevelStatusGap
ReadImplementedauto-detect project vs plugin
WriteImplemented--artifact plugin works
ArtifactImplementedproject and Plugin both implemented
ConfirmImplementedno native CLI; returns unconfirmed

fixtures/failures/ records the redacted security contract: literal MCP env rejection, hook path-escape rejection, and unknown hook-event pass-through. OpenClaw compatible-bundle reuses this Adapter's plugin layout when tools.openclaw.bundleFormat is the explicit value cursor.

5. Follow-up work (GitHub Issues) ​

JUE-304 delivered project/plugin round-trip. The items below are out of MVP scope and tracked separately — agents must read the full issue before implementing:

IssueScope
#8.cursor-plugin/marketplace.json (Team marketplace index)

Define once. Adapt everywhere.