feat: add the e2e plugin for Cursor

Merged
KR
6d ago
+117-28

The e2e plugin installs in Claude Code and Codex, but not in Cursor, and nothing says whether Grok Build can use it.

  • plugins/e2e/.cursor-plugin/plugin.json is generated by pnpm plugins:sync from the Codex manifest, like the Claude one, plus Cursor's displayName and logo. plugins:check fails when it drifts, and its version follows the runner's.
  • .cursor-plugin/marketplace.json at the root lists ./plugins/e2e. Cursor reads it when a Teams or Enterprise admin imports the repo as a team marketplace, and on a public Marketplace submission.
  • Cursor has no command to add a marketplace from a git repo, so the docs install by copying plugins/e2e into ~/.cursor/plugins/local/. Rerunning the same commands updates it: the old copy is removed first, so files a release drops don't linger.
  • Grok Build needs no files of its own: xAI's docs say it reads Claude Code marketplaces and plugins, which this repo already has.
  • Docs: docs/coding-agents.mdx and the plugin README get a Cursor tab and the Grok note; AGENTS.md and CONTRIBUTING.md list the third marketplace file.

Verified

Ran it locally: yes, except a live Cursor or Grok session.

  • Cursor's validator from cursor/plugin-template (scripts/validate-template.mjs) on this repo: Validation passed (warnings only for the absent hooks.json and mcp.json).
  • xAI's validate-catalog.py from xai-org/plugin-marketplace accepts .claude-plugin/marketplace.json, and its extractor finds the 3 skills at version 0.21.2.
  • The documented Cursor commands in a scratch HOME, cloning this commit: they install ~/.cursor/plugins/local/e2e with the three skills. A second run (the update path) replaces the copy and drops a planted stale file.
  • The docs page on mint dev:

Cursor tab in the plugin accordion

Not run: the plugin loaded in a live Cursor agent (agent --plugin-dir ./plugins/e2e). The CLI on LBox has an expired login, and the Mac's login keychain is locked over SSH. Grok Build isn't installed anywhere I can reach.


Changes made by Claude Opus 5.5 in Claude Code.

cursor-docs