Skip to content
Content
Article

Cursor

An IDE harness with .cursor-plugin/plugin.json, rules, skills, agents, hooks, MCP, and commands

  • cursor
  • harness
  • setup
(Cursor) profile

Cursor is an IDE harness where a plugin is the primary delivery unit. The .cursor-plugin/plugin.json manifest describes rules, skills, agents, commands, hooks, and MCP, while a project can keep the same surfaces under .cursor/. A Cursor setup is therefore the manifest plus the resources it references.

Native surface

AreaWhat Cursor readsai-stp projection
User~/.cursor/plugins/local/, skills/, skills-cursor/, rules/, commands/, hooks.json, mcp.json, cli-config.jsonGlobal plugin, skill, instruction, command, hook, MCP, and setting
Project.cursor/plugins/, .cursor/skills/, .cursor/rules/, .cursor/agents/, .cursor/commands/, .cursor/hooks.json, .cursor/mcp.jsonProject-scoped resources
Plugin.cursor-plugin/plugin.json and skills, rules, agents, commands, hooks, mcpServers pathsManifest-controlled package

Do not treat any directory named plugins as a ready plugin: discovery checks the native root and manifest. This matters because a plugin can contain many component kinds, while project and user surfaces have different scopes.

How the setup is assembled

  1. Discovery finds the plugin root, reads its manifest, and checks project .cursor resources separately.
  2. The passport records component kind, manifest path, scope, source, and exact version.
  3. The assembler does not scatter a plugin into “similar” folders: the provider receives it as a plugin and preserves manifest-relative paths.
  4. The public cursor-setup-system applies the exact plan to the Cursor home or project; the website does not change the IDE directly.

In Cursor, rules are persistent constraints, skill is workflow, agent is a role, command is explicit invocation, hook is an event, MCP is an external service, and plugin packages these surfaces.

When to choose Cursor

Choose Cursor when the main workflow happens in an IDE and the setup should be visible to the team as a plugin package. Keep project-specific rules under .cursor/ in the repository, use a user plugin for shared resources, and review its manifest.

Trust boundary

A manifest describes structure, not the safety of scripts or MCP. Review the complete package, marketplace sources, exact pin, and rollback before installation.

Manifest → passport → path and scope check → exact plan → provider write.

Cursor — article