agileflow 3.1.0 → 3.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (101) hide show
  1. package/CHANGELOG.md +5 -0
  2. package/README.md +57 -85
  3. package/lib/dashboard-automations.js +130 -0
  4. package/lib/dashboard-git.js +254 -0
  5. package/lib/dashboard-inbox.js +64 -0
  6. package/lib/dashboard-protocol.js +1 -0
  7. package/lib/dashboard-server.js +114 -924
  8. package/lib/dashboard-session.js +136 -0
  9. package/lib/dashboard-status.js +72 -0
  10. package/lib/dashboard-terminal.js +354 -0
  11. package/lib/dashboard-websocket.js +88 -0
  12. package/lib/drivers/codex-driver.ts +4 -4
  13. package/lib/logger.js +106 -0
  14. package/package.json +4 -2
  15. package/scripts/agileflow-configure.js +2 -2
  16. package/scripts/agileflow-welcome.js +409 -434
  17. package/scripts/claude-tmux.sh +80 -2
  18. package/scripts/context-loader.js +4 -9
  19. package/scripts/lib/command-prereqs.js +280 -0
  20. package/scripts/lib/configure-detect.js +92 -2
  21. package/scripts/lib/configure-features.js +295 -1
  22. package/scripts/lib/context-formatter.js +468 -233
  23. package/scripts/lib/context-loader.js +27 -15
  24. package/scripts/lib/damage-control-utils.js +8 -1
  25. package/scripts/lib/feature-catalog.js +321 -0
  26. package/scripts/lib/portable-tasks-cli.js +274 -0
  27. package/scripts/lib/portable-tasks.js +479 -0
  28. package/scripts/lib/signal-detectors.js +1 -1
  29. package/scripts/lib/team-events.js +86 -1
  30. package/scripts/obtain-context.js +28 -4
  31. package/scripts/smart-detect.js +17 -0
  32. package/scripts/strip-ai-attribution.js +63 -0
  33. package/scripts/team-manager.js +7 -2
  34. package/scripts/welcome-deferred.js +437 -0
  35. package/src/core/agents/perf-analyzer-assets.md +174 -0
  36. package/src/core/agents/perf-analyzer-bundle.md +165 -0
  37. package/src/core/agents/perf-analyzer-caching.md +160 -0
  38. package/src/core/agents/perf-analyzer-compute.md +165 -0
  39. package/src/core/agents/perf-analyzer-memory.md +182 -0
  40. package/src/core/agents/perf-analyzer-network.md +157 -0
  41. package/src/core/agents/perf-analyzer-queries.md +155 -0
  42. package/src/core/agents/perf-analyzer-rendering.md +156 -0
  43. package/src/core/agents/perf-consensus.md +280 -0
  44. package/src/core/agents/security-analyzer-api.md +199 -0
  45. package/src/core/agents/security-analyzer-auth.md +160 -0
  46. package/src/core/agents/security-analyzer-authz.md +168 -0
  47. package/src/core/agents/security-analyzer-deps.md +147 -0
  48. package/src/core/agents/security-analyzer-infra.md +176 -0
  49. package/src/core/agents/security-analyzer-injection.md +148 -0
  50. package/src/core/agents/security-analyzer-input.md +191 -0
  51. package/src/core/agents/security-analyzer-secrets.md +175 -0
  52. package/src/core/agents/security-consensus.md +276 -0
  53. package/src/core/agents/test-analyzer-assertions.md +181 -0
  54. package/src/core/agents/test-analyzer-coverage.md +183 -0
  55. package/src/core/agents/test-analyzer-fragility.md +185 -0
  56. package/src/core/agents/test-analyzer-integration.md +155 -0
  57. package/src/core/agents/test-analyzer-maintenance.md +173 -0
  58. package/src/core/agents/test-analyzer-mocking.md +178 -0
  59. package/src/core/agents/test-analyzer-patterns.md +189 -0
  60. package/src/core/agents/test-analyzer-structure.md +177 -0
  61. package/src/core/agents/test-consensus.md +294 -0
  62. package/src/core/commands/{legal/audit.md → audit/legal.md} +13 -13
  63. package/src/core/commands/{logic/audit.md → audit/logic.md} +12 -12
  64. package/src/core/commands/audit/performance.md +443 -0
  65. package/src/core/commands/audit/security.md +443 -0
  66. package/src/core/commands/audit/test.md +442 -0
  67. package/src/core/commands/babysit.md +505 -463
  68. package/src/core/commands/configure.md +8 -8
  69. package/src/core/commands/research/ask.md +42 -9
  70. package/src/core/commands/research/import.md +14 -8
  71. package/src/core/commands/research/list.md +17 -16
  72. package/src/core/commands/research/synthesize.md +8 -8
  73. package/src/core/commands/research/view.md +28 -4
  74. package/src/core/commands/whats-new.md +2 -2
  75. package/src/core/experts/devops/expertise.yaml +13 -2
  76. package/src/core/experts/documentation/expertise.yaml +26 -4
  77. package/src/core/profiles/COMPARISON.md +170 -0
  78. package/src/core/profiles/README.md +178 -0
  79. package/src/core/profiles/claude-code.yaml +111 -0
  80. package/src/core/profiles/codex.yaml +103 -0
  81. package/src/core/profiles/cursor.yaml +134 -0
  82. package/src/core/profiles/examples.js +250 -0
  83. package/src/core/profiles/loader.js +235 -0
  84. package/src/core/profiles/windsurf.yaml +159 -0
  85. package/src/core/teams/logic-audit.json +6 -0
  86. package/src/core/teams/perf-audit.json +71 -0
  87. package/src/core/teams/security-audit.json +71 -0
  88. package/src/core/teams/test-audit.json +71 -0
  89. package/src/core/templates/command-prerequisites.yaml +169 -0
  90. package/src/core/templates/damage-control-patterns.yaml +9 -0
  91. package/tools/cli/installers/ide/_base-ide.js +33 -3
  92. package/tools/cli/installers/ide/claude-code.js +2 -69
  93. package/tools/cli/installers/ide/codex.js +9 -9
  94. package/tools/cli/installers/ide/cursor.js +165 -4
  95. package/tools/cli/installers/ide/windsurf.js +237 -6
  96. package/tools/cli/lib/content-transformer.js +234 -9
  97. package/tools/cli/lib/docs-setup.js +1 -1
  98. package/tools/cli/lib/ide-generator.js +357 -0
  99. package/tools/cli/lib/ide-registry.js +2 -2
  100. package/scripts/tmux-task-name.sh +0 -105
  101. package/scripts/tmux-task-watcher.sh +0 -344
@@ -0,0 +1,178 @@
1
+ # IDE Capability Profiles
2
+
3
+ IDE-agnostic capability declarations for AgileFlow's multi-IDE support strategy.
4
+
5
+ ## Overview
6
+
7
+ This directory contains one YAML profile per supported IDE. Each profile declares:
8
+ - Supported capabilities (plan mode, hooks, task tracking, MCP, etc.)
9
+ - Config directory structure and paths
10
+ - Tool name mappings (how each IDE names equivalent functions)
11
+ - Frontmatter formats for commands/agents
12
+ - Limitations and workarounds
13
+
14
+ ## Design Philosophy
15
+
16
+ **Capability profiles separate declarations from implementation.** Instead of baking IDE differences into generators, prompts, or installers, we declaratively describe what each IDE supports. This enables:
17
+
18
+ 1. **Build-time generation** - Generators read profiles and produce IDE-native output
19
+ 2. **Feature detection** - Commands can check IDE capabilities at install time
20
+ 3. **Graceful fallbacks** - Prompts suggest alternatives when features unavailable
21
+ 4. **Extensibility** - Adding new IDEs requires only a new YAML file, not code changes
22
+
23
+ ## Files
24
+
25
+ ### claude-code.yaml
26
+ **Primary target.** Anthropic's CLI-based environment with full support for:
27
+ - Structured interactive input (AskUserQuestion)
28
+ - True sub-agent spawning with nesting (Task tool)
29
+ - Plan mode with programmatic control
30
+ - Persistent task tracking (TaskCreate/Update)
31
+ - Comprehensive hooks (SessionStart, PreToolUse, PostToolUse)
32
+ - Unlimited MCP tools
33
+
34
+ **Key paths:**
35
+ - Commands: `.claude/commands/agileflow/`
36
+ - Agents: `.claude/agents/agileflow/`
37
+ - Instructions: `CLAUDE.md`
38
+
39
+ ### cursor.yaml
40
+ **Closest competitor to Claude Code.** v2.5 (Feb 2026) now supports:
41
+ - Async subagents with nesting (no Task tool needed)
42
+ - Plan mode with native interface
43
+ - 6 lifecycle hooks (beta)
44
+ - 40-tool MCP limit (binding constraint)
45
+ - Native browser tool
46
+
47
+ **Gaps:**
48
+ - No structured menus (conversational only)
49
+ - No persistent task tracking
50
+ - No background sub-agent execution
51
+
52
+ **Key paths:**
53
+ - Commands: `.cursor/commands/`
54
+ - Agents: `.cursor/agents/`
55
+ - Rules: `.cursor/rules/` (MDC format)
56
+ - MCP config: `.cursor/mcp.json`
57
+
58
+ ### windsurf.yaml
59
+ **Most comprehensive hooks (11 events).** Wave 13+ with:
60
+ - Native worktrees (up to 20 per workspace)
61
+ - 11 lifecycle hook events
62
+ - 100-tool MCP limit
63
+ - Native browser preview (in-IDE)
64
+
65
+ **Gaps:**
66
+ - No true sub-agent spawning (use workflow chaining or cascades)
67
+ - 12,000 character limit per workflow file
68
+ - Global-only MCP config (`~/.codeium/windsurf/mcp_config.json`)
69
+ - No persistent task tracking
70
+ - Conversational input only
71
+
72
+ **Key paths:**
73
+ - Workflows: `.windsurf/workflows/`
74
+ - Skills: `.windsurf/skills/*/SKILL.md` (agentskills.io spec)
75
+ - Rules: `.windsurf/rules/`
76
+ - MCP config: `~/.codeium/windsurf/mcp_config.json` (global-only)
77
+
78
+ ### codex.yaml
79
+ **Most restrictive.** OpenAI's CLI with:
80
+ - Skills (no direct file tools)
81
+ - Sandbox modes (read-only, auto, full-access)
82
+ - Text-only user input (no structured menus)
83
+
84
+ **Gaps:**
85
+ - No plan mode
86
+ - No hooks
87
+ - No sub-agent delegation
88
+ - No task tracking
89
+ - No MCP
90
+
91
+ ## Usage
92
+
93
+ ### For Installers
94
+ ```javascript
95
+ const profile = require('./profiles/claude-code.yaml');
96
+ if (profile.capabilities.core.planMode) {
97
+ installPlanModePrompts();
98
+ }
99
+ ```
100
+
101
+ ### For Generators
102
+ ```javascript
103
+ // Read profile to generate IDE-native commands
104
+ const generator = new CommandGenerator(profile);
105
+ const ideSpecificMarkdown = generator.transform(canonicalCommand);
106
+ ```
107
+
108
+ ### For Feature Detection
109
+ ```javascript
110
+ // Check if IDE supports a feature
111
+ if (!profile.capabilities.collaboration.taskTracking) {
112
+ console.warn('Task tracking not available in this IDE');
113
+ suggestFileBasedAlternative();
114
+ }
115
+ ```
116
+
117
+ ## Capability Categories
118
+
119
+ ### Core Capabilities
120
+ - **fileOperations** - Read, write, edit files
121
+ - **shell** - Execute shell commands
122
+ - **fileSearch** - Glob and grep
123
+ - **interactiveInput** - Structured user menus (structured vs conversational)
124
+ - **subAgents** - Spawn sub-agents/skills
125
+ - **nestedSubAgents** - Sub-agents can spawn other sub-agents
126
+
127
+ ### Planning
128
+ - **planMode** - Explicit planning phase
129
+ - **planModeEditable** - Plans can be edited during execution
130
+
131
+ ### Lifecycle
132
+ - **hooks** - Pre/post execution hooks
133
+ - **hookEvents** - List of specific hook events supported
134
+
135
+ ### External Integration
136
+ - **webSearch** - Internet search capability
137
+ - **webFetch** - Fetch URLs
138
+ - **mcp** - Model Context Protocol support
139
+ - **mcpToolLimit** - Max tools per MCP (0 = unlimited)
140
+ - **browser** - Screenshot/browser automation
141
+
142
+ ### Collaboration
143
+ - **taskTracking** - Persistent task tracking
144
+ - **persistentTasks** - Tasks survive across sessions
145
+ - **worktrees** - Git worktree support
146
+
147
+ ## MCP Tool Limits
148
+
149
+ | IDE | Tool Cap | Notes |
150
+ |---|---|---|
151
+ | Claude Code | Unlimited (0) | Can install entire ecosystem |
152
+ | Cursor | 40 | Hard limit; binding constraint for multi-IDE |
153
+ | Windsurf | 100 | Good balance |
154
+ | Codex | Unlimited (0) | Via MCP extension |
155
+
156
+ **Design decision**: Cap multi-IDE MCP installations at 40 tools (Cursor's limit) to ensure compatibility across all platforms.
157
+
158
+ ## Implementation Priority
159
+
160
+ | Tier | Capabilities | IDEs | Status |
161
+ |---|---|---|---|
162
+ | 1 | File ops, shell, search, web | All | Ready |
163
+ | 2 | Hooks, plan mode | Claude Code, Cursor, Windsurf | Profiles complete |
164
+ | 3 | Sub-agents, task tracking | Claude Code, Cursor | Profiles complete |
165
+ | 4 | Worktrees, MCP | All | Profiles complete |
166
+
167
+ ## Next Steps
168
+
169
+ 1. **Validators** - Build validators to check profile format/completeness
170
+ 2. **Loaders** - Create load functions (YAML → JS objects) with caching
171
+ 3. **Generators** - Build content transformers that read profiles and output IDE-native prompts
172
+ 4. **Tests** - Snapshot tests per IDE profile
173
+ 5. **Documentation** - ADR-0011 documenting the capability profile strategy
174
+
175
+ ## References
176
+
177
+ - Cross-IDE Compatibility Findings: `docs/10-research/20260220-ide-cross-compatibility-findings.md`
178
+ - ADR-0011 (TBD): Capability Profile Strategy
@@ -0,0 +1,111 @@
1
+ # Claude Code IDE Capability Profile
2
+ # Anthropic CLI - Primary target, fully supported
3
+ # Reference: Cross-IDE Compatibility Findings (20260220)
4
+
5
+ ide:
6
+ id: claude-code
7
+ name: Claude Code
8
+ displayName: Claude Code
9
+ description: Anthropic's native CLI-based development environment
10
+ configDir: .claude
11
+ instructionsFile: CLAUDE.md
12
+ fileFormat: markdown
13
+ commandPrefix: "/agileflow:"
14
+ agentPrefix: "agileflow-"
15
+
16
+ paths:
17
+ commands: .claude/commands/agileflow/
18
+ agents: .claude/agents/agileflow/
19
+ skills: .claude/skills/
20
+ hooks: .claude/settings.json
21
+ mcp: .claude/settings.json
22
+
23
+ capabilities:
24
+ core:
25
+ fileOperations: true # Read, Write, Edit tools
26
+ shell: true # Bash tool with full execution
27
+ fileSearch: true # Glob and Grep tools
28
+ interactiveInput: true # AskUserQuestion with structured options
29
+ subAgents: true # Task tool for spawning subagents
30
+ nestedSubAgents: true # Sub-agents can spawn sub-sub-agents
31
+ planning:
32
+ planMode: true # EnterPlanMode/ExitPlanMode
33
+ planModeEditable: true # User can edit plans mid-execution
34
+ lifecycle:
35
+ hooks: true # PreToolUse, PostToolUse, SessionStart
36
+ hookEvents:
37
+ - SessionStart
38
+ - PreToolUse
39
+ - PostToolUse
40
+ - Notification
41
+ - Stop
42
+ external:
43
+ webSearch: true # WebSearch tool
44
+ webFetch: true # WebFetch tool
45
+ mcp: true # Model Context Protocol
46
+ mcpToolLimit: 0 # 0 = unlimited
47
+ browser: true # Playwright MCP for screenshots
48
+ collaboration:
49
+ taskTracking: true # TaskCreate, TaskUpdate, TaskList
50
+ persistentTasks: true # Tasks survive across sessions
51
+ worktrees: true # EnterWorktree for parallel branches
52
+
53
+ toolNames:
54
+ # Interactive
55
+ askUser: AskUserQuestion
56
+ # Delegation
57
+ spawnAgent: Task
58
+ createTask: TaskCreate
59
+ updateTask: TaskUpdate
60
+ listTasks: TaskList
61
+ # Planning
62
+ planModeEnter: EnterPlanMode
63
+ planModeExit: ExitPlanMode
64
+ # Execution
65
+ bash: Bash
66
+ # Files
67
+ read: Read
68
+ write: Write
69
+ edit: Edit
70
+ # Search
71
+ glob: Glob
72
+ grep: Grep
73
+ # Web
74
+ webSearch: WebSearch
75
+ webFetch: WebFetch
76
+ # Branching
77
+ worktree: EnterWorktree
78
+
79
+ frontmatter:
80
+ agents:
81
+ format: yaml
82
+ fields:
83
+ - name
84
+ - description
85
+ - tools
86
+ - model
87
+ commands:
88
+ format: yaml
89
+ fields:
90
+ - description
91
+ - argument-hint
92
+
93
+ limits:
94
+ maxFileSize: 0 # 0 = unlimited
95
+ maxCommandLength: 0 # 0 = unlimited
96
+ maxToolsPerMCP: 0 # 0 = unlimited
97
+
98
+ installation:
99
+ supportsFileOps: true
100
+ supportsHooks: true
101
+ supportsMCP: true
102
+ commandsRequireApproval: false
103
+ agentFilesCanBeNestedDirs: true
104
+
105
+ notes:
106
+ - "Primary target for AgileFlow development"
107
+ - "All new capabilities are validated against Claude Code first"
108
+ - "AskUserQuestion provides structured menu presentation with JSON options"
109
+ - "Task tool supports full async delegation with result callbacks"
110
+ - "Plan mode integrated via native EnterPlanMode/ExitPlanMode"
111
+ - "No tool count limits - can install entire MCP ecosystem"
@@ -0,0 +1,103 @@
1
+ # OpenAI Codex CLI Capability Profile
2
+ # Reference: Cross-IDE Compatibility Findings (20260220)
3
+
4
+ ide:
5
+ id: codex
6
+ name: OpenAI Codex CLI
7
+ displayName: Codex
8
+ description: OpenAI's CLI-based development assistant
9
+ configDir: .codex
10
+ configDirUser: ~/.codex
11
+ instructionsFile: AGENTS.md
12
+ fileFormat: markdown
13
+ commandPrefix: "$agileflow-"
14
+ agentPrefix: "agileflow-"
15
+
16
+ paths:
17
+ commands: null # Not directly supported
18
+ agents: null # Not directly supported
19
+ skills: .codex/skills/agileflow-*/SKILL.md
20
+ skillsUser: ~/.codex/prompts/agileflow-*.md
21
+ hooks: null # Not supported
22
+ mcp: null # Not supported
23
+
24
+ capabilities:
25
+ core:
26
+ fileOperations: true # Via skills (no direct tools)
27
+ shell: true # Via sandbox
28
+ fileSearch: true # Via sandbox search
29
+ interactiveInput: true # ask_user_question (text-only, no structured menus)
30
+ subAgents: false # Experimental multi-agent support (disabled by default)
31
+ nestedSubAgents: false # No nested delegation; experimental agents are flat
32
+ planning:
33
+ planMode: true # On by default since v0.96
34
+ planModeEditable: true # Plans are editable
35
+ lifecycle:
36
+ hooks: false # No lifecycle hooks
37
+ approvalPolicies: true # Approval gates only
38
+ external:
39
+ webSearch: false # Not built-in
40
+ webFetch: false # Not built-in
41
+ mcp: true # Via MCP extension
42
+ mcpToolLimit: 0 # 0 = unlimited
43
+ browser: false # Not available
44
+ collaboration:
45
+ taskTracking: false # No task tracking
46
+ persistentTasks: false
47
+ worktrees: false # Manual git operations
48
+
49
+ sandboxModes:
50
+ - id: read-only
51
+ description: "No file modifications, workspace read access"
52
+ - id: auto
53
+ description: "Auto-approved operations within workspace"
54
+ - id: full-access
55
+ description: "Full system access with approval"
56
+
57
+ toolNames:
58
+ # Interactive
59
+ askUser: ask_user_question # Text-only, not structured
60
+ # File operations (via skill)
61
+ read: null # Use skill instead
62
+ write: null # Use skill instead
63
+ edit: null # Use skill instead
64
+ # Execution (via skill)
65
+ bash: null # Use sandbox instead
66
+ # Search (via skill)
67
+ glob: null # Use sandbox instead
68
+ grep: null # Use sandbox instead
69
+ # Web (not available)
70
+ webSearch: null
71
+ webFetch: null
72
+
73
+ frontmatter:
74
+ skills:
75
+ format: yaml
76
+ fields:
77
+ - name
78
+ - description
79
+ - model
80
+ - requiredPermissions
81
+
82
+ limitations:
83
+ noSubAgents: "Cannot spawn other skills; use numbered prompts for sequential work"
84
+ noInteractiveMenus: "ask_user_question is text-only; convert to numbered options"
85
+ noPlanning: "No plan mode; use sequential skill instructions instead"
86
+ noHooks: "No lifecycle hooks; use approval policies"
87
+ noTaskTracking: "No persistent task tracking; use external tools"
88
+ skillScope: "Skills are repository-scoped, user prompts are global"
89
+
90
+ installation:
91
+ supportsFileOps: false # Via skills, not native tools
92
+ supportsHooks: false
93
+ supportsMCP: true # Via MCP extension
94
+ commandsRequireApproval: true
95
+ skillsCanBeNestedDirs: false
96
+
97
+ notes:
98
+ - "Skills are the primary extension mechanism"
99
+ - "Per-repo skills in .codex/skills/, global prompts in ~/.codex/prompts/"
100
+ - "Plan mode available (on by default since v0.96); no hooks or true sub-agent delegation"
101
+ - "AgileFlow /babysit features must fallback to conversational prompts"
102
+ - "Best used for simple linear workflows"
103
+ - "ask_user_question produces text output, not structured menus"
@@ -0,0 +1,134 @@
1
+ # Cursor IDE Capability Profile
2
+ # v2.5 (Feb 2026) - Closest competitor to Claude Code
3
+ # Reference: Cross-IDE Compatibility Findings (20260220)
4
+
5
+ ide:
6
+ id: cursor
7
+ name: Cursor
8
+ displayName: Cursor
9
+ description: AI-native code editor with async subagents and hooks
10
+ configDir: .cursor
11
+ instructionsFile: CURSOR.md
12
+ fileFormat: markdown
13
+ commandPrefix: "/"
14
+ agentPrefix: "agileflow-"
15
+ marketplaceId: cursor.com/marketplace
16
+
17
+ paths:
18
+ commands: .cursor/commands/
19
+ agents: .cursor/agents/
20
+ skills: null # Uses agents instead
21
+ rules: .cursor/rules/
22
+ hooks: .cursor/hooks.json
23
+ mcp: .cursor/mcp.json
24
+
25
+ capabilities:
26
+ core:
27
+ fileOperations: true # read_file, edit_file, ApplyPatch
28
+ shell: true # run_terminal_cmd, YOLO mode for auto-execution
29
+ fileSearch: true # codebase_search, grep_search, file_search, list_dir
30
+ interactiveInput: true # Conversational only (no structured AskUserQuestion)
31
+ subAgents: true # Async subagents with nesting
32
+ nestedSubAgents: true # Sub-agents can spawn sub-sub-agents
33
+ planning:
34
+ planMode: true # Native plan mode with Markdown plans
35
+ planModeEditable: true # User can edit plans during execution
36
+ lifecycle:
37
+ hooks: true # Beta - 6 hook events
38
+ hookEvents:
39
+ - beforeSubmitPrompt
40
+ - beforeShellExecution
41
+ - beforeMCPExecution
42
+ - beforeReadFile
43
+ - afterFileEdit
44
+ - stop
45
+ external:
46
+ webSearch: true # Native web_search + @web syntax + MCP
47
+ webFetch: true # Can fetch URLs
48
+ mcp: true # Full MCP support
49
+ mcpToolLimit: 40 # 40-tool cap (binding constraint)
50
+ browser: true # Native browser tool (v2.0+)
51
+ collaboration:
52
+ taskTracking: false # Plan mode checklists only (not persistent)
53
+ persistentTasks: false
54
+ worktrees: false # Background agents use branches instead
55
+
56
+ toolNames:
57
+ # Interactive
58
+ askUser: null # Conversational only, no AskUserQuestion
59
+ # Delegation
60
+ spawnAgent: null # Use native async subagents in .cursor/agents/
61
+ # Planning
62
+ planModeEnter: null # Native, activated via interface
63
+ planModeExit: null # Native
64
+ # Execution
65
+ bash: run_terminal_cmd
66
+ # Files
67
+ read: read_file
68
+ write: null # Use ApplyPatch or edit_file
69
+ edit: edit_file
70
+ # Search
71
+ glob: file_search
72
+ grep: grep_search
73
+ # Web
74
+ webSearch: web_search
75
+ webFetch: null # Use web_search with @web
76
+ # Browser
77
+ browser: native_browser
78
+
79
+ frontmatter:
80
+ agents:
81
+ format: yaml
82
+ fields:
83
+ - name
84
+ - description
85
+ - model
86
+ - readonly
87
+ - is_background
88
+ commands:
89
+ format: markdown # Slash commands
90
+ rules:
91
+ format: mdc # MDC format (YAML: description, globs, alwaysApply)
92
+
93
+ subAgentConfig:
94
+ format: yaml
95
+ fields:
96
+ name: "Agent display name"
97
+ description: "What this agent does"
98
+ model: "claude-3-5-sonnet or gpt-4-turbo"
99
+ readonly: "boolean - read-only workspace"
100
+ is_background: "boolean - runs without user interaction"
101
+ async: true
102
+ supportsNesting: true
103
+ resultsAreAccessible: true
104
+
105
+ limits:
106
+ maxFileSize: 0 # 0 = unlimited
107
+ maxCommandLength: 0 # 0 = unlimited
108
+ maxToolsPerMCP: 40 # Hard limit
109
+ maxBackgroundAgents: 5 # Practical limit
110
+
111
+ installation:
112
+ supportsFileOps: true
113
+ supportsHooks: true # Beta support
114
+ supportsMCP: true
115
+ commandsRequireApproval: false
116
+ agentFilesCanBeNestedDirs: false
117
+ rulesFormat: MDC # Modern YAML-based rule format
118
+
119
+ features:
120
+ marketplace: "Plugin marketplace at cursor.com/marketplace"
121
+ backendAgents: "Can run agents in background without UI blocking"
122
+ asyncModel: "Agents don't wait for each other - true parallelism"
123
+ hookBeta: "6 hooks in beta; more events coming in Wave 2.6"
124
+
125
+ notes:
126
+ - "Cursor v2.5 now rivals Claude Code with async subagents"
127
+ - "Agents are native; no separate Task tool needed"
128
+ - "Conversational input instead of structured menus (AskUserQuestion replacement)"
129
+ - "40-tool MCP limit is binding constraint for multi-IDE installations"
130
+ - "MDC rule format is modern YAML-based (legacy .cursorrules still supported)"
131
+ - "Plan mode fully built-in; no explicit enter/exit needed"
132
+ - "Hook events have different names but similar functionality to Claude Code"
133
+ - "CAVEAT: Task tools (TaskCreate/TaskUpdate) bypass PreToolUse/PostToolUse hooks"
134
+ - "Background agents enable true parallel task execution"