Summary
Add Cursor as the third native integration target alongside GitHub Copilot and Claude. When .cursor/ exists in a project, apm install should deploy primitives in Cursor's native formats without requiring compilation.
Motivation
Cursor is a widely-used AI-powered IDE with its own primitive formats (rules, subagents, skills, hooks, MCP). APM currently supports GitHub Copilot (.github/) and Claude (.claude/) natively, but Cursor users must rely on apm compile to generate AGENTS.md. Native integration removes this friction and gives Cursor users first-class support.
Primitive Mapping
| APM Primitive |
Cursor Destination |
Format |
Instructions (.instructions.md) |
.cursor/rules/*.mdc |
applyTo: → globs: frontmatter conversion |
Agents (.agent.md) |
.cursor/agents/*.md |
Markdown with YAML frontmatter |
Skills (SKILL.md) |
.cursor/skills/{name}/SKILL.md |
agentskills.io standard (identical) |
Hooks (.json) |
.cursor/hooks.json |
Merged JSON with _apm_source tracking |
| MCP servers |
.cursor/mcp.json |
Standard mcpServers JSON |
Design Decisions
- Opt-in: Only deploy to
.cursor/ when the directory already exists (consistent with Claude pattern)
- TargetProfile data layer: Scalable multi-target architecture — adding future targets = adding a dict entry
.cursor-plugin/plugin.json: Detect Cursor-native plugin repos as APM dependencies
Implementation
PR: #301
Summary
Add Cursor as the third native integration target alongside GitHub Copilot and Claude. When
.cursor/exists in a project,apm installshould deploy primitives in Cursor's native formats without requiring compilation.Motivation
Cursor is a widely-used AI-powered IDE with its own primitive formats (rules, subagents, skills, hooks, MCP). APM currently supports GitHub Copilot (
.github/) and Claude (.claude/) natively, but Cursor users must rely onapm compileto generateAGENTS.md. Native integration removes this friction and gives Cursor users first-class support.Primitive Mapping
.instructions.md).cursor/rules/*.mdcapplyTo:→globs:frontmatter conversion.agent.md).cursor/agents/*.mdSKILL.md).cursor/skills/{name}/SKILL.md.json).cursor/hooks.json_apm_sourcetracking.cursor/mcp.jsonmcpServersJSONDesign Decisions
.cursor/when the directory already exists (consistent with Claude pattern).cursor-plugin/plugin.json: Detect Cursor-native plugin repos as APM dependenciesImplementation
PR: #301