@agentxm/client-core 0.11.2 → 0.12.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 (491) hide show
  1. package/dist/src/unstable/agent-capabilities/catalog.generated.d.ts +1534 -6
  2. package/dist/src/unstable/agent-capabilities/catalog.generated.d.ts.map +1 -1
  3. package/dist/src/unstable/agent-capabilities/catalog.generated.js +1758 -4
  4. package/dist/src/unstable/agent-capabilities/catalog.generated.js.map +1 -1
  5. package/dist/src/unstable/agent-capabilities/derive.d.ts +37 -2
  6. package/dist/src/unstable/agent-capabilities/derive.d.ts.map +1 -1
  7. package/dist/src/unstable/agent-capabilities/derive.js +1 -0
  8. package/dist/src/unstable/agent-capabilities/derive.js.map +1 -1
  9. package/dist/src/unstable/agent-capabilities/index.d.ts +1 -1
  10. package/dist/src/unstable/agent-capabilities/index.d.ts.map +1 -1
  11. package/dist/src/unstable/agent-capabilities/index.js +1 -1
  12. package/dist/src/unstable/agent-capabilities/index.js.map +1 -1
  13. package/dist/src/unstable/agent-capabilities/schema.d.ts +325 -18
  14. package/dist/src/unstable/agent-capabilities/schema.d.ts.map +1 -1
  15. package/dist/src/unstable/agent-capabilities/schema.js +205 -11
  16. package/dist/src/unstable/agent-capabilities/schema.js.map +1 -1
  17. package/dist/src/unstable/agent-capabilities/validate.d.ts.map +1 -1
  18. package/dist/src/unstable/agent-capabilities/validate.js +32 -0
  19. package/dist/src/unstable/agent-capabilities/validate.js.map +1 -1
  20. package/dist/src/unstable/agents/claude-code/descriptor.d.ts.map +1 -1
  21. package/dist/src/unstable/agents/claude-code/descriptor.js +5 -0
  22. package/dist/src/unstable/agents/claude-code/descriptor.js.map +1 -1
  23. package/dist/src/unstable/agents/claude-code/index.d.ts +1 -1
  24. package/dist/src/unstable/agents/claude-code/index.d.ts.map +1 -1
  25. package/dist/src/unstable/agents/claude-code/index.js +1 -1
  26. package/dist/src/unstable/agents/claude-code/index.js.map +1 -1
  27. package/dist/src/unstable/agents/claude-code/service.d.ts +0 -2
  28. package/dist/src/unstable/agents/claude-code/service.d.ts.map +1 -1
  29. package/dist/src/unstable/agents/claude-code/service.js +3 -8
  30. package/dist/src/unstable/agents/claude-code/service.js.map +1 -1
  31. package/dist/src/unstable/agents/codex/descriptor.d.ts.map +1 -1
  32. package/dist/src/unstable/agents/codex/descriptor.js +3 -0
  33. package/dist/src/unstable/agents/codex/descriptor.js.map +1 -1
  34. package/dist/src/unstable/agents/codex/index.d.ts +1 -1
  35. package/dist/src/unstable/agents/codex/index.d.ts.map +1 -1
  36. package/dist/src/unstable/agents/codex/index.js +1 -1
  37. package/dist/src/unstable/agents/codex/index.js.map +1 -1
  38. package/dist/src/unstable/agents/codex/service.d.ts +0 -2
  39. package/dist/src/unstable/agents/codex/service.d.ts.map +1 -1
  40. package/dist/src/unstable/agents/codex/service.js +3 -8
  41. package/dist/src/unstable/agents/codex/service.js.map +1 -1
  42. package/dist/src/unstable/agents/coding-agent.d.ts +11 -0
  43. package/dist/src/unstable/agents/coding-agent.d.ts.map +1 -1
  44. package/dist/src/unstable/agents/coding-agent.js.map +1 -1
  45. package/dist/src/unstable/agents/cursor/index.d.ts +1 -1
  46. package/dist/src/unstable/agents/cursor/index.d.ts.map +1 -1
  47. package/dist/src/unstable/agents/cursor/index.js +1 -1
  48. package/dist/src/unstable/agents/cursor/index.js.map +1 -1
  49. package/dist/src/unstable/agents/cursor/service.d.ts +0 -2
  50. package/dist/src/unstable/agents/cursor/service.d.ts.map +1 -1
  51. package/dist/src/unstable/agents/cursor/service.js +3 -8
  52. package/dist/src/unstable/agents/cursor/service.js.map +1 -1
  53. package/dist/src/unstable/agents/gemini-cli/descriptor.d.ts.map +1 -1
  54. package/dist/src/unstable/agents/gemini-cli/descriptor.js +4 -0
  55. package/dist/src/unstable/agents/gemini-cli/descriptor.js.map +1 -1
  56. package/dist/src/unstable/agents/gemini-cli/index.d.ts +1 -1
  57. package/dist/src/unstable/agents/gemini-cli/index.d.ts.map +1 -1
  58. package/dist/src/unstable/agents/gemini-cli/index.js +1 -1
  59. package/dist/src/unstable/agents/gemini-cli/index.js.map +1 -1
  60. package/dist/src/unstable/agents/gemini-cli/service.d.ts +0 -2
  61. package/dist/src/unstable/agents/gemini-cli/service.d.ts.map +1 -1
  62. package/dist/src/unstable/agents/gemini-cli/service.js +3 -8
  63. package/dist/src/unstable/agents/gemini-cli/service.js.map +1 -1
  64. package/dist/src/unstable/agents/github-copilot/index.d.ts +1 -1
  65. package/dist/src/unstable/agents/github-copilot/index.d.ts.map +1 -1
  66. package/dist/src/unstable/agents/github-copilot/index.js +1 -1
  67. package/dist/src/unstable/agents/github-copilot/index.js.map +1 -1
  68. package/dist/src/unstable/agents/github-copilot/service.d.ts +0 -2
  69. package/dist/src/unstable/agents/github-copilot/service.d.ts.map +1 -1
  70. package/dist/src/unstable/agents/github-copilot/service.js +3 -8
  71. package/dist/src/unstable/agents/github-copilot/service.js.map +1 -1
  72. package/dist/src/unstable/agents/grok-cli/descriptor.d.ts +14 -0
  73. package/dist/src/unstable/agents/grok-cli/descriptor.d.ts.map +1 -0
  74. package/dist/src/unstable/agents/grok-cli/descriptor.js +20 -0
  75. package/dist/src/unstable/agents/grok-cli/descriptor.js.map +1 -0
  76. package/dist/src/unstable/agents/grok-cli/index.d.ts +8 -0
  77. package/dist/src/unstable/agents/grok-cli/index.d.ts.map +1 -0
  78. package/dist/src/unstable/agents/grok-cli/index.js +8 -0
  79. package/dist/src/unstable/agents/grok-cli/index.js.map +1 -0
  80. package/dist/src/unstable/agents/index.d.ts +9 -8
  81. package/dist/src/unstable/agents/index.d.ts.map +1 -1
  82. package/dist/src/unstable/agents/index.js +8 -7
  83. package/dist/src/unstable/agents/index.js.map +1 -1
  84. package/dist/src/unstable/agents/instructions.d.ts +68 -0
  85. package/dist/src/unstable/agents/instructions.d.ts.map +1 -0
  86. package/dist/src/unstable/agents/instructions.js +338 -0
  87. package/dist/src/unstable/agents/instructions.js.map +1 -0
  88. package/dist/src/unstable/agents/mcp-sync.d.ts +2 -0
  89. package/dist/src/unstable/agents/mcp-sync.d.ts.map +1 -1
  90. package/dist/src/unstable/agents/mcp-sync.js +114 -0
  91. package/dist/src/unstable/agents/mcp-sync.js.map +1 -1
  92. package/dist/src/unstable/agents/opencode/index.d.ts +1 -1
  93. package/dist/src/unstable/agents/opencode/index.d.ts.map +1 -1
  94. package/dist/src/unstable/agents/opencode/index.js +1 -1
  95. package/dist/src/unstable/agents/opencode/index.js.map +1 -1
  96. package/dist/src/unstable/agents/opencode/service.d.ts +0 -2
  97. package/dist/src/unstable/agents/opencode/service.d.ts.map +1 -1
  98. package/dist/src/unstable/agents/opencode/service.js +3 -7
  99. package/dist/src/unstable/agents/opencode/service.js.map +1 -1
  100. package/dist/src/unstable/agents/registry.d.ts.map +1 -1
  101. package/dist/src/unstable/agents/registry.js +2 -0
  102. package/dist/src/unstable/agents/registry.js.map +1 -1
  103. package/dist/src/unstable/agents/repository.d.ts.map +1 -1
  104. package/dist/src/unstable/agents/repository.js +3 -0
  105. package/dist/src/unstable/agents/repository.js.map +1 -1
  106. package/dist/src/unstable/agents/types.d.ts +15 -1
  107. package/dist/src/unstable/agents/types.d.ts.map +1 -1
  108. package/dist/src/unstable/agents/types.js +1 -0
  109. package/dist/src/unstable/agents/types.js.map +1 -1
  110. package/dist/src/unstable/agents/windsurf/index.d.ts +1 -0
  111. package/dist/src/unstable/agents/windsurf/index.d.ts.map +1 -1
  112. package/dist/src/unstable/agents/windsurf/index.js +1 -0
  113. package/dist/src/unstable/agents/windsurf/index.js.map +1 -1
  114. package/dist/src/unstable/agents/windsurf/service.d.ts +11 -0
  115. package/dist/src/unstable/agents/windsurf/service.d.ts.map +1 -0
  116. package/dist/src/unstable/agents/windsurf/service.js +23 -0
  117. package/dist/src/unstable/agents/windsurf/service.js.map +1 -0
  118. package/dist/src/unstable/cli-runtime/command-summary.d.ts +1 -1
  119. package/dist/src/unstable/cli-runtime/command-summary.d.ts.map +1 -1
  120. package/dist/src/unstable/cli-runtime/command-summary.js.map +1 -1
  121. package/dist/src/unstable/commands/operations/new-command.d.ts.map +1 -1
  122. package/dist/src/unstable/commands/operations/new-command.js +2 -1
  123. package/dist/src/unstable/commands/operations/new-command.js.map +1 -1
  124. package/dist/src/unstable/commands/operations/shared-command-helpers.d.ts +3 -3
  125. package/dist/src/unstable/commands/renderers/render-toml.d.ts.map +1 -1
  126. package/dist/src/unstable/commands/renderers/render-toml.js +2 -32
  127. package/dist/src/unstable/commands/renderers/render-toml.js.map +1 -1
  128. package/dist/src/unstable/context-files/discovery.d.ts +19 -0
  129. package/dist/src/unstable/context-files/discovery.d.ts.map +1 -0
  130. package/dist/src/unstable/context-files/discovery.js +94 -0
  131. package/dist/src/unstable/context-files/discovery.js.map +1 -0
  132. package/dist/src/unstable/context-files/generators.d.ts +32 -0
  133. package/dist/src/unstable/context-files/generators.d.ts.map +1 -0
  134. package/dist/src/unstable/context-files/generators.js +229 -0
  135. package/dist/src/unstable/context-files/generators.js.map +1 -0
  136. package/dist/src/unstable/context-files/index.d.ts +15 -0
  137. package/dist/src/unstable/context-files/index.d.ts.map +1 -0
  138. package/dist/src/unstable/context-files/index.js +14 -0
  139. package/dist/src/unstable/context-files/index.js.map +1 -0
  140. package/dist/src/unstable/context-files/manager.d.ts +19 -0
  141. package/dist/src/unstable/context-files/manager.d.ts.map +1 -0
  142. package/dist/src/unstable/context-files/manager.js +419 -0
  143. package/dist/src/unstable/context-files/manager.js.map +1 -0
  144. package/dist/src/unstable/context-files/manifest-schema.d.ts +269 -0
  145. package/dist/src/unstable/context-files/manifest-schema.d.ts.map +1 -0
  146. package/dist/src/unstable/context-files/manifest-schema.js +223 -0
  147. package/dist/src/unstable/context-files/manifest-schema.js.map +1 -0
  148. package/dist/src/unstable/context-files/markers.d.ts +60 -0
  149. package/dist/src/unstable/context-files/markers.d.ts.map +1 -0
  150. package/dist/src/unstable/context-files/markers.js +202 -0
  151. package/dist/src/unstable/context-files/markers.js.map +1 -0
  152. package/dist/src/unstable/context-files/materialization.d.ts +61 -0
  153. package/dist/src/unstable/context-files/materialization.d.ts.map +1 -0
  154. package/dist/src/unstable/context-files/materialization.js +285 -0
  155. package/dist/src/unstable/context-files/materialization.js.map +1 -0
  156. package/dist/src/unstable/context-files/refs.d.ts +17 -0
  157. package/dist/src/unstable/context-files/refs.d.ts.map +1 -0
  158. package/dist/src/unstable/context-files/refs.js +8 -0
  159. package/dist/src/unstable/context-files/refs.js.map +1 -0
  160. package/dist/src/unstable/context-files/workspace-generators.d.ts +27 -0
  161. package/dist/src/unstable/context-files/workspace-generators.d.ts.map +1 -0
  162. package/dist/src/unstable/context-files/workspace-generators.js +189 -0
  163. package/dist/src/unstable/context-files/workspace-generators.js.map +1 -0
  164. package/dist/src/unstable/extensions/common.d.ts +1 -1
  165. package/dist/src/unstable/extensions/common.d.ts.map +1 -1
  166. package/dist/src/unstable/extensions/index.d.ts +1 -1
  167. package/dist/src/unstable/extensions/index.d.ts.map +1 -1
  168. package/dist/src/unstable/extensions/index.js +1 -1
  169. package/dist/src/unstable/extensions/index.js.map +1 -1
  170. package/dist/src/unstable/extensions/installable-types.d.ts +4 -4
  171. package/dist/src/unstable/extensions/installable-types.d.ts.map +1 -1
  172. package/dist/src/unstable/extensions/installable-types.js +4 -0
  173. package/dist/src/unstable/extensions/installable-types.js.map +1 -1
  174. package/dist/src/unstable/extensions/operations.d.ts.map +1 -1
  175. package/dist/src/unstable/extensions/operations.js +2 -0
  176. package/dist/src/unstable/extensions/operations.js.map +1 -1
  177. package/dist/src/unstable/extensions/ref-base.d.ts +6 -0
  178. package/dist/src/unstable/extensions/ref-base.d.ts.map +1 -1
  179. package/dist/src/unstable/extensions/refs.d.ts +2 -1
  180. package/dist/src/unstable/extensions/refs.d.ts.map +1 -1
  181. package/dist/src/unstable/lint/catalog/context-files/generator-valid.d.ts +4 -0
  182. package/dist/src/unstable/lint/catalog/context-files/generator-valid.d.ts.map +1 -0
  183. package/dist/src/unstable/lint/catalog/context-files/generator-valid.js +94 -0
  184. package/dist/src/unstable/lint/catalog/context-files/generator-valid.js.map +1 -0
  185. package/dist/src/unstable/lint/catalog/context-files/helpers.d.ts +19 -0
  186. package/dist/src/unstable/lint/catalog/context-files/helpers.d.ts.map +1 -0
  187. package/dist/src/unstable/lint/catalog/context-files/helpers.js +45 -0
  188. package/dist/src/unstable/lint/catalog/context-files/helpers.js.map +1 -0
  189. package/dist/src/unstable/lint/catalog/context-files/manifest-keys-recognized.d.ts +4 -0
  190. package/dist/src/unstable/lint/catalog/context-files/manifest-keys-recognized.d.ts.map +1 -0
  191. package/dist/src/unstable/lint/catalog/context-files/manifest-keys-recognized.js +14 -0
  192. package/dist/src/unstable/lint/catalog/context-files/manifest-keys-recognized.js.map +1 -0
  193. package/dist/src/unstable/lint/catalog/context-files/manifest-present.d.ts +4 -0
  194. package/dist/src/unstable/lint/catalog/context-files/manifest-present.d.ts.map +1 -0
  195. package/dist/src/unstable/lint/catalog/context-files/manifest-present.js +24 -0
  196. package/dist/src/unstable/lint/catalog/context-files/manifest-present.js.map +1 -0
  197. package/dist/src/unstable/lint/catalog/context-files/manifest-schema-valid.d.ts +4 -0
  198. package/dist/src/unstable/lint/catalog/context-files/manifest-schema-valid.d.ts.map +1 -0
  199. package/dist/src/unstable/lint/catalog/context-files/manifest-schema-valid.js +12 -0
  200. package/dist/src/unstable/lint/catalog/context-files/manifest-schema-valid.js.map +1 -0
  201. package/dist/src/unstable/lint/catalog/context-files/marker-valid.d.ts +4 -0
  202. package/dist/src/unstable/lint/catalog/context-files/marker-valid.d.ts.map +1 -0
  203. package/dist/src/unstable/lint/catalog/context-files/marker-valid.js +34 -0
  204. package/dist/src/unstable/lint/catalog/context-files/marker-valid.js.map +1 -0
  205. package/dist/src/unstable/lint/catalog/context-files/package-valid.d.ts +4 -0
  206. package/dist/src/unstable/lint/catalog/context-files/package-valid.d.ts.map +1 -0
  207. package/dist/src/unstable/lint/catalog/context-files/package-valid.js +42 -0
  208. package/dist/src/unstable/lint/catalog/context-files/package-valid.js.map +1 -0
  209. package/dist/src/unstable/lint/catalog/context-files/target-valid.d.ts +4 -0
  210. package/dist/src/unstable/lint/catalog/context-files/target-valid.d.ts.map +1 -0
  211. package/dist/src/unstable/lint/catalog/context-files/target-valid.js +34 -0
  212. package/dist/src/unstable/lint/catalog/context-files/target-valid.js.map +1 -0
  213. package/dist/src/unstable/lint/catalog/context-files/template-valid.d.ts +4 -0
  214. package/dist/src/unstable/lint/catalog/context-files/template-valid.d.ts.map +1 -0
  215. package/dist/src/unstable/lint/catalog/context-files/template-valid.js +69 -0
  216. package/dist/src/unstable/lint/catalog/context-files/template-valid.js.map +1 -0
  217. package/dist/src/unstable/lint/catalog/context-files-accessor/contexts.d.ts +10 -0
  218. package/dist/src/unstable/lint/catalog/context-files-accessor/contexts.d.ts.map +1 -0
  219. package/dist/src/unstable/lint/catalog/context-files-accessor/contexts.js +8 -0
  220. package/dist/src/unstable/lint/catalog/context-files-accessor/contexts.js.map +1 -0
  221. package/dist/src/unstable/lint/catalog/context-files-accessor/platform.d.ts +9 -0
  222. package/dist/src/unstable/lint/catalog/context-files-accessor/platform.d.ts.map +1 -0
  223. package/dist/src/unstable/lint/catalog/context-files-accessor/platform.js +74 -0
  224. package/dist/src/unstable/lint/catalog/context-files-accessor/platform.js.map +1 -0
  225. package/dist/src/unstable/lint/catalog/context-files-accessor/vft.d.ts +8 -0
  226. package/dist/src/unstable/lint/catalog/context-files-accessor/vft.d.ts.map +1 -0
  227. package/dist/src/unstable/lint/catalog/context-files-accessor/vft.js +54 -0
  228. package/dist/src/unstable/lint/catalog/context-files-accessor/vft.js.map +1 -0
  229. package/dist/src/unstable/lint/catalog/context-files.d.ts +4 -0
  230. package/dist/src/unstable/lint/catalog/context-files.d.ts.map +1 -0
  231. package/dist/src/unstable/lint/catalog/context-files.js +21 -0
  232. package/dist/src/unstable/lint/catalog/context-files.js.map +1 -0
  233. package/dist/src/unstable/lint/catalog/index.d.ts +4 -0
  234. package/dist/src/unstable/lint/catalog/index.d.ts.map +1 -1
  235. package/dist/src/unstable/lint/catalog/index.js +6 -0
  236. package/dist/src/unstable/lint/catalog/index.js.map +1 -1
  237. package/dist/src/unstable/lint/catalog/shared/manifest-json.js +2 -0
  238. package/dist/src/unstable/lint/catalog/shared/manifest-json.js.map +1 -1
  239. package/dist/src/unstable/lint/catalog/shared/schema-rule.js +2 -0
  240. package/dist/src/unstable/lint/catalog/shared/schema-rule.js.map +1 -1
  241. package/dist/src/unstable/lint/catalog/workspace/skills-managed.js +2 -2
  242. package/dist/src/unstable/lint/catalog/workspace/skills-managed.js.map +1 -1
  243. package/dist/src/unstable/lint/catalog/workspace-read-model/lint-workspace.d.ts +2 -1
  244. package/dist/src/unstable/lint/catalog/workspace-read-model/lint-workspace.d.ts.map +1 -1
  245. package/dist/src/unstable/lint/catalog/workspace-read-model/lint-workspace.js +34 -2
  246. package/dist/src/unstable/lint/catalog/workspace-read-model/lint-workspace.js.map +1 -1
  247. package/dist/src/unstable/lint/cli.d.ts +4 -2
  248. package/dist/src/unstable/lint/cli.d.ts.map +1 -1
  249. package/dist/src/unstable/lint/cli.js +10 -7
  250. package/dist/src/unstable/lint/cli.js.map +1 -1
  251. package/dist/src/unstable/lint/context.d.ts +13 -0
  252. package/dist/src/unstable/lint/context.d.ts.map +1 -1
  253. package/dist/src/unstable/lint/index.d.ts +2 -2
  254. package/dist/src/unstable/lint/index.d.ts.map +1 -1
  255. package/dist/src/unstable/lint/index.js +1 -1
  256. package/dist/src/unstable/lint/index.js.map +1 -1
  257. package/dist/src/unstable/lint/publish.d.ts +4 -2
  258. package/dist/src/unstable/lint/publish.d.ts.map +1 -1
  259. package/dist/src/unstable/lint/publish.js +19 -0
  260. package/dist/src/unstable/lint/publish.js.map +1 -1
  261. package/dist/src/unstable/lockfile/index.d.ts +4 -3
  262. package/dist/src/unstable/lockfile/index.d.ts.map +1 -1
  263. package/dist/src/unstable/lockfile/index.js +2 -2
  264. package/dist/src/unstable/lockfile/index.js.map +1 -1
  265. package/dist/src/unstable/lockfile/lockfile.d.ts +616 -0
  266. package/dist/src/unstable/lockfile/lockfile.d.ts.map +1 -1
  267. package/dist/src/unstable/lockfile/lockfile.js +19 -0
  268. package/dist/src/unstable/lockfile/lockfile.js.map +1 -1
  269. package/dist/src/unstable/lockfile/schema.d.ts +415 -0
  270. package/dist/src/unstable/lockfile/schema.d.ts.map +1 -1
  271. package/dist/src/unstable/lockfile/schema.js +50 -0
  272. package/dist/src/unstable/lockfile/schema.js.map +1 -1
  273. package/dist/src/unstable/mcp-servers/config-writer.d.ts +28 -0
  274. package/dist/src/unstable/mcp-servers/config-writer.d.ts.map +1 -0
  275. package/dist/src/unstable/mcp-servers/config-writer.js +188 -0
  276. package/dist/src/unstable/mcp-servers/config-writer.js.map +1 -0
  277. package/dist/src/unstable/mcp-servers/index.d.ts +7 -1
  278. package/dist/src/unstable/mcp-servers/index.d.ts.map +1 -1
  279. package/dist/src/unstable/mcp-servers/index.js +5 -1
  280. package/dist/src/unstable/mcp-servers/index.js.map +1 -1
  281. package/dist/src/unstable/mcp-servers/manifest-schema.d.ts +820 -0
  282. package/dist/src/unstable/mcp-servers/manifest-schema.d.ts.map +1 -1
  283. package/dist/src/unstable/mcp-servers/manifest-schema.js +189 -0
  284. package/dist/src/unstable/mcp-servers/manifest-schema.js.map +1 -1
  285. package/dist/src/unstable/mcp-servers/operations/disable.d.ts +18 -0
  286. package/dist/src/unstable/mcp-servers/operations/disable.d.ts.map +1 -0
  287. package/dist/src/unstable/mcp-servers/operations/disable.js +48 -0
  288. package/dist/src/unstable/mcp-servers/operations/disable.js.map +1 -0
  289. package/dist/src/unstable/mcp-servers/operations/enable.d.ts +18 -0
  290. package/dist/src/unstable/mcp-servers/operations/enable.d.ts.map +1 -0
  291. package/dist/src/unstable/mcp-servers/operations/enable.js +67 -0
  292. package/dist/src/unstable/mcp-servers/operations/enable.js.map +1 -0
  293. package/dist/src/unstable/mcp-servers/operations/install.d.ts +4 -0
  294. package/dist/src/unstable/mcp-servers/operations/install.d.ts.map +1 -1
  295. package/dist/src/unstable/mcp-servers/operations/install.js +144 -10
  296. package/dist/src/unstable/mcp-servers/operations/install.js.map +1 -1
  297. package/dist/src/unstable/mcp-servers/operations/uninstall.d.ts.map +1 -1
  298. package/dist/src/unstable/mcp-servers/operations/uninstall.js +3 -0
  299. package/dist/src/unstable/mcp-servers/operations/uninstall.js.map +1 -1
  300. package/dist/src/unstable/mcp-servers/resolution.d.ts +41 -0
  301. package/dist/src/unstable/mcp-servers/resolution.d.ts.map +1 -0
  302. package/dist/src/unstable/mcp-servers/resolution.js +319 -0
  303. package/dist/src/unstable/mcp-servers/resolution.js.map +1 -0
  304. package/dist/src/unstable/packaging/cargo.d.ts.map +1 -1
  305. package/dist/src/unstable/packaging/cargo.js +33 -61
  306. package/dist/src/unstable/packaging/cargo.js.map +1 -1
  307. package/dist/src/unstable/packaging/hex.d.ts.map +1 -1
  308. package/dist/src/unstable/packaging/hex.js +4 -17
  309. package/dist/src/unstable/packaging/hex.js.map +1 -1
  310. package/dist/src/unstable/packaging/julia.d.ts.map +1 -1
  311. package/dist/src/unstable/packaging/julia.js +2 -53
  312. package/dist/src/unstable/packaging/julia.js.map +1 -1
  313. package/dist/src/unstable/packaging/maven.d.ts.map +1 -1
  314. package/dist/src/unstable/packaging/maven.js +7 -12
  315. package/dist/src/unstable/packaging/maven.js.map +1 -1
  316. package/dist/src/unstable/packaging/mojo.d.ts.map +1 -1
  317. package/dist/src/unstable/packaging/mojo.js +4 -15
  318. package/dist/src/unstable/packaging/mojo.js.map +1 -1
  319. package/dist/src/unstable/packaging/pub.d.ts.map +1 -1
  320. package/dist/src/unstable/packaging/pub.js +31 -4
  321. package/dist/src/unstable/packaging/pub.js.map +1 -1
  322. package/dist/src/unstable/packaging/pypi.d.ts.map +1 -1
  323. package/dist/src/unstable/packaging/pypi.js +3 -13
  324. package/dist/src/unstable/packaging/pypi.js.map +1 -1
  325. package/dist/src/unstable/packs/dependency-resolution.d.ts +1 -0
  326. package/dist/src/unstable/packs/dependency-resolution.d.ts.map +1 -1
  327. package/dist/src/unstable/packs/dependency-resolution.js +7 -1
  328. package/dist/src/unstable/packs/dependency-resolution.js.map +1 -1
  329. package/dist/src/unstable/packs/expansion.d.ts +1 -0
  330. package/dist/src/unstable/packs/expansion.d.ts.map +1 -1
  331. package/dist/src/unstable/packs/expansion.js +15 -0
  332. package/dist/src/unstable/packs/expansion.js.map +1 -1
  333. package/dist/src/unstable/packs/manager.d.ts.map +1 -1
  334. package/dist/src/unstable/packs/manager.js +1 -0
  335. package/dist/src/unstable/packs/manager.js.map +1 -1
  336. package/dist/src/unstable/packs/operations/new-pack.d.ts.map +1 -1
  337. package/dist/src/unstable/packs/operations/new-pack.js +5 -6
  338. package/dist/src/unstable/packs/operations/new-pack.js.map +1 -1
  339. package/dist/src/unstable/publish/manifest-policy.d.ts +295 -0
  340. package/dist/src/unstable/publish/manifest-policy.d.ts.map +1 -1
  341. package/dist/src/unstable/publish/manifest-policy.js +5 -0
  342. package/dist/src/unstable/publish/manifest-policy.js.map +1 -1
  343. package/dist/src/unstable/registry/__generated__/registry-client.d.ts +998 -297
  344. package/dist/src/unstable/registry/__generated__/registry-client.d.ts.map +1 -1
  345. package/dist/src/unstable/registry/__generated__/registry-client.js +192 -83
  346. package/dist/src/unstable/registry/__generated__/registry-client.js.map +1 -1
  347. package/dist/src/unstable/registry/client.d.ts +37 -0
  348. package/dist/src/unstable/registry/client.d.ts.map +1 -1
  349. package/dist/src/unstable/registry/client.js.map +1 -1
  350. package/dist/src/unstable/registry/index.d.ts +1 -1
  351. package/dist/src/unstable/registry/index.d.ts.map +1 -1
  352. package/dist/src/unstable/registry/index.js.map +1 -1
  353. package/dist/src/unstable/registry/local-client.d.ts.map +1 -1
  354. package/dist/src/unstable/registry/local-client.js +16 -0
  355. package/dist/src/unstable/registry/local-client.js.map +1 -1
  356. package/dist/src/unstable/registry/remote-client.d.ts.map +1 -1
  357. package/dist/src/unstable/registry/remote-client.js +44 -0
  358. package/dist/src/unstable/registry/remote-client.js.map +1 -1
  359. package/dist/src/unstable/settings/index.d.ts +2 -2
  360. package/dist/src/unstable/settings/index.d.ts.map +1 -1
  361. package/dist/src/unstable/settings/index.js +1 -1
  362. package/dist/src/unstable/settings/index.js.map +1 -1
  363. package/dist/src/unstable/settings/schema.d.ts +143 -3
  364. package/dist/src/unstable/settings/schema.d.ts.map +1 -1
  365. package/dist/src/unstable/settings/schema.js +205 -10
  366. package/dist/src/unstable/settings/schema.js.map +1 -1
  367. package/dist/src/unstable/skills/operations/new-skill.d.ts.map +1 -1
  368. package/dist/src/unstable/skills/operations/new-skill.js +4 -3
  369. package/dist/src/unstable/skills/operations/new-skill.js.map +1 -1
  370. package/dist/src/unstable/source-resolution/providers/git-hosting.d.ts.map +1 -1
  371. package/dist/src/unstable/source-resolution/providers/git-hosting.js +62 -32
  372. package/dist/src/unstable/source-resolution/providers/git-hosting.js.map +1 -1
  373. package/dist/src/unstable/source-resolution/providers/local-parser/print.d.ts.map +1 -1
  374. package/dist/src/unstable/source-resolution/providers/local-parser/print.js +1 -1
  375. package/dist/src/unstable/source-resolution/providers/local-parser/print.js.map +1 -1
  376. package/dist/src/unstable/source-resolution/providers/local.d.ts.map +1 -1
  377. package/dist/src/unstable/source-resolution/providers/local.js +41 -21
  378. package/dist/src/unstable/source-resolution/providers/local.js.map +1 -1
  379. package/dist/src/unstable/source-resolution/providers/registry/host-provider.d.ts.map +1 -1
  380. package/dist/src/unstable/source-resolution/providers/registry/host-provider.js +11 -1
  381. package/dist/src/unstable/source-resolution/providers/registry/host-provider.js.map +1 -1
  382. package/dist/src/unstable/sources/printer.d.ts +2 -2
  383. package/dist/src/unstable/sources/printer.d.ts.map +1 -1
  384. package/dist/src/unstable/sources/printer.js.map +1 -1
  385. package/dist/src/unstable/subagents/rendering/adapters/toml.d.ts.map +1 -1
  386. package/dist/src/unstable/subagents/rendering/adapters/toml.js +2 -19
  387. package/dist/src/unstable/subagents/rendering/adapters/toml.js.map +1 -1
  388. package/dist/src/unstable/toml/index.d.ts +51 -0
  389. package/dist/src/unstable/toml/index.d.ts.map +1 -0
  390. package/dist/src/unstable/toml/index.js +153 -0
  391. package/dist/src/unstable/toml/index.js.map +1 -0
  392. package/dist/src/unstable/workspace/configured-entry-resolution/index.d.ts +2 -2
  393. package/dist/src/unstable/workspace/configured-entry-resolution/index.d.ts.map +1 -1
  394. package/dist/src/unstable/workspace/configured-entry-resolution/index.js +1 -1
  395. package/dist/src/unstable/workspace/configured-entry-resolution/index.js.map +1 -1
  396. package/dist/src/unstable/workspace/configured-entry-resolution/resolve.d.ts +5 -0
  397. package/dist/src/unstable/workspace/configured-entry-resolution/resolve.d.ts.map +1 -1
  398. package/dist/src/unstable/workspace/configured-entry-resolution/resolve.js +50 -0
  399. package/dist/src/unstable/workspace/configured-entry-resolution/resolve.js.map +1 -1
  400. package/dist/src/unstable/workspace/configured-entry-resolution/types.d.ts +2 -0
  401. package/dist/src/unstable/workspace/configured-entry-resolution/types.d.ts.map +1 -1
  402. package/dist/src/unstable/workspace/configured-entry-resolution/types.js.map +1 -1
  403. package/dist/src/unstable/workspace/index.d.ts +4 -3
  404. package/dist/src/unstable/workspace/index.d.ts.map +1 -1
  405. package/dist/src/unstable/workspace/index.js +4 -2
  406. package/dist/src/unstable/workspace/index.js.map +1 -1
  407. package/dist/src/unstable/workspace/initialization.d.ts +116 -24
  408. package/dist/src/unstable/workspace/initialization.d.ts.map +1 -1
  409. package/dist/src/unstable/workspace/lockfile-update-policy.d.ts +5 -0
  410. package/dist/src/unstable/workspace/lockfile-update-policy.d.ts.map +1 -0
  411. package/dist/src/unstable/workspace/lockfile-update-policy.js +5 -0
  412. package/dist/src/unstable/workspace/lockfile-update-policy.js.map +1 -0
  413. package/dist/src/unstable/workspace/read-model/agents/grok-cli.d.ts +12 -0
  414. package/dist/src/unstable/workspace/read-model/agents/grok-cli.d.ts.map +1 -0
  415. package/dist/src/unstable/workspace/read-model/agents/grok-cli.js +14 -0
  416. package/dist/src/unstable/workspace/read-model/agents/grok-cli.js.map +1 -0
  417. package/dist/src/unstable/workspace/read-model/agents/index.d.ts +3 -1
  418. package/dist/src/unstable/workspace/read-model/agents/index.d.ts.map +1 -1
  419. package/dist/src/unstable/workspace/read-model/agents/index.js +2 -0
  420. package/dist/src/unstable/workspace/read-model/agents/index.js.map +1 -1
  421. package/dist/src/unstable/workspace/read-model/discovery/subagents.d.ts +1 -1
  422. package/dist/src/unstable/workspace/read-model/extensions/command.d.ts +1 -1
  423. package/dist/src/unstable/workspace/read-model/extensions/command.d.ts.map +1 -1
  424. package/dist/src/unstable/workspace/read-model/extensions/command.js +4 -3
  425. package/dist/src/unstable/workspace/read-model/extensions/command.js.map +1 -1
  426. package/dist/src/unstable/workspace/read-model/extensions/context-files.d.ts +93 -0
  427. package/dist/src/unstable/workspace/read-model/extensions/context-files.d.ts.map +1 -0
  428. package/dist/src/unstable/workspace/read-model/extensions/{file.js → context-files.js} +10 -10
  429. package/dist/src/unstable/workspace/read-model/extensions/context-files.js.map +1 -0
  430. package/dist/src/unstable/workspace/read-model/extensions/ignore-patterns.d.ts +2 -0
  431. package/dist/src/unstable/workspace/read-model/extensions/ignore-patterns.d.ts.map +1 -0
  432. package/dist/src/unstable/workspace/read-model/extensions/ignore-patterns.js +3 -0
  433. package/dist/src/unstable/workspace/read-model/extensions/ignore-patterns.js.map +1 -0
  434. package/dist/src/unstable/workspace/read-model/extensions/index.d.ts +1 -1
  435. package/dist/src/unstable/workspace/read-model/extensions/index.d.ts.map +1 -1
  436. package/dist/src/unstable/workspace/read-model/extensions/index.js +2 -2
  437. package/dist/src/unstable/workspace/read-model/extensions/index.js.map +1 -1
  438. package/dist/src/unstable/workspace/read-model/extensions/mcp-server.d.ts +4 -5
  439. package/dist/src/unstable/workspace/read-model/extensions/mcp-server.d.ts.map +1 -1
  440. package/dist/src/unstable/workspace/read-model/extensions/mcp-server.js +8 -9
  441. package/dist/src/unstable/workspace/read-model/extensions/mcp-server.js.map +1 -1
  442. package/dist/src/unstable/workspace/read-model/extensions/pack.d.ts +1 -1
  443. package/dist/src/unstable/workspace/read-model/extensions/pack.d.ts.map +1 -1
  444. package/dist/src/unstable/workspace/read-model/extensions/pack.js +4 -3
  445. package/dist/src/unstable/workspace/read-model/extensions/pack.js.map +1 -1
  446. package/dist/src/unstable/workspace/read-model/extensions/skill.d.ts +2 -2
  447. package/dist/src/unstable/workspace/read-model/extensions/skill.d.ts.map +1 -1
  448. package/dist/src/unstable/workspace/read-model/extensions/skill.js +5 -4
  449. package/dist/src/unstable/workspace/read-model/extensions/skill.js.map +1 -1
  450. package/dist/src/unstable/workspace/read-model/extensions/subagent.d.ts +1 -1
  451. package/dist/src/unstable/workspace/read-model/extensions/subagent.d.ts.map +1 -1
  452. package/dist/src/unstable/workspace/read-model/extensions/subagent.js +4 -3
  453. package/dist/src/unstable/workspace/read-model/extensions/subagent.js.map +1 -1
  454. package/dist/src/unstable/workspace/read-model/scanners/canonical-extensions.d.ts +2 -2
  455. package/dist/src/unstable/workspace/read-model/scanners/canonical-extensions.d.ts.map +1 -1
  456. package/dist/src/unstable/workspace/read-model/scanners/canonical-extensions.js +27 -10
  457. package/dist/src/unstable/workspace/read-model/scanners/canonical-extensions.js.map +1 -1
  458. package/dist/src/unstable/workspace/read-model/service.d.ts +2 -2
  459. package/dist/src/unstable/workspace/read-model/service.d.ts.map +1 -1
  460. package/dist/src/unstable/workspace/read-model/service.js +26 -7
  461. package/dist/src/unstable/workspace/read-model/service.js.map +1 -1
  462. package/dist/src/unstable/workspace/read-model-record-converters.d.ts.map +1 -1
  463. package/dist/src/unstable/workspace/read-model-record-converters.js +1 -0
  464. package/dist/src/unstable/workspace/read-model-record-converters.js.map +1 -1
  465. package/dist/src/unstable/workspace/read-model-record-readers.d.ts.map +1 -1
  466. package/dist/src/unstable/workspace/read-model-record-readers.js +14 -0
  467. package/dist/src/unstable/workspace/read-model-record-readers.js.map +1 -1
  468. package/dist/src/unstable/workspace/read-model-record-types.d.ts +2 -2
  469. package/dist/src/unstable/workspace/read-model-record-types.d.ts.map +1 -1
  470. package/dist/src/unstable/workspace/rendered-file-cleanup.d.ts +12 -0
  471. package/dist/src/unstable/workspace/rendered-file-cleanup.d.ts.map +1 -1
  472. package/dist/src/unstable/workspace/rendered-file-cleanup.js +126 -0
  473. package/dist/src/unstable/workspace/rendered-file-cleanup.js.map +1 -1
  474. package/dist/src/unstable/workspace/service-interface.d.ts +58 -3
  475. package/dist/src/unstable/workspace/service-interface.d.ts.map +1 -1
  476. package/dist/src/unstable/workspace/service-interface.js.map +1 -1
  477. package/dist/src/unstable/workspace/service.d.ts +333 -3
  478. package/dist/src/unstable/workspace/service.d.ts.map +1 -1
  479. package/dist/src/unstable/workspace/service.js +209 -4
  480. package/dist/src/unstable/workspace/service.js.map +1 -1
  481. package/dist/src/unstable/workspace/test-stubs.d.ts.map +1 -1
  482. package/dist/src/unstable/workspace/test-stubs.js +20 -0
  483. package/dist/src/unstable/workspace/test-stubs.js.map +1 -1
  484. package/package.json +10 -2
  485. package/site-content/__generated__/schemas/axm-lock.schema.json +346 -0
  486. package/site-content/__generated__/schemas/context-files.schema.json +500 -0
  487. package/site-content/__generated__/schemas/mcp-server.schema.json +383 -2
  488. package/site-content/__generated__/schemas/settings.schema.json +153 -4
  489. package/dist/src/unstable/workspace/read-model/extensions/file.d.ts +0 -93
  490. package/dist/src/unstable/workspace/read-model/extensions/file.d.ts.map +0 -1
  491. package/dist/src/unstable/workspace/read-model/extensions/file.js.map +0 -1
@@ -10,6 +10,10 @@ export const AGENT_IDS = [
10
10
  "cursor",
11
11
  "gemini-cli",
12
12
  "github-copilot",
13
+ "grok-cli",
14
+ "ibm-bob",
15
+ "opencode",
16
+ "pi",
13
17
  "windsurf",
14
18
  ];
15
19
  /** @experimental This API is unstable and may change without notice. */
@@ -42,9 +46,10 @@ export const AGENTS = [
42
46
  directory: ".claude/skills",
43
47
  },
44
48
  commands: {
45
- support: "standard",
49
+ support: "bridged",
50
+ notes: "Custom slash commands are Markdown prompt files under .claude/commands. Recorded as bridged because commands have no industry spec standard.\n",
46
51
  sources: ["https://docs.claude.com/en/docs/claude-code/slash-commands"],
47
- lastVerified: "2026-05-16",
52
+ lastVerified: "2026-05-18",
48
53
  scopes: ["user", "project"],
49
54
  directory: ".claude/commands",
50
55
  },
@@ -54,6 +59,39 @@ export const AGENTS = [
54
59
  lastVerified: "2026-05-16",
55
60
  scopes: ["user", "project"],
56
61
  transports: ["stdio", "http", "sse"],
62
+ config: {
63
+ serversKey: "mcpServers",
64
+ nativeEnabled: false,
65
+ targets: [
66
+ {
67
+ scope: "project",
68
+ path: ".mcp.json",
69
+ format: "json",
70
+ },
71
+ ],
72
+ stdio: {
73
+ typeField: {
74
+ name: "type",
75
+ value: "stdio",
76
+ },
77
+ command: "split",
78
+ envKey: "env",
79
+ },
80
+ remote: {
81
+ typeField: {
82
+ name: "type",
83
+ value: {
84
+ "streamable-http": "http",
85
+ sse: "sse",
86
+ },
87
+ },
88
+ urlKey: {
89
+ "streamable-http": "url",
90
+ sse: "url",
91
+ },
92
+ headersKey: "headers",
93
+ },
94
+ },
57
95
  },
58
96
  subagents: {
59
97
  support: "bridged",
@@ -69,6 +107,63 @@ export const AGENTS = [
69
107
  files: ["CLAUDE.md"],
70
108
  nestedDiscovery: true,
71
109
  },
110
+ permissions: {
111
+ support: "standard",
112
+ sources: [
113
+ "https://docs.claude.com/en/docs/claude-code/iam",
114
+ "https://docs.claude.com/en/docs/claude-code/settings",
115
+ ],
116
+ lastVerified: "2026-05-18",
117
+ scopes: ["user", "project"],
118
+ mechanism: ["config-file"],
119
+ configFiles: [
120
+ {
121
+ scope: "user",
122
+ path: "~/.claude/settings.json",
123
+ format: "json",
124
+ gitignored: false,
125
+ },
126
+ {
127
+ scope: "project",
128
+ path: ".claude/settings.json",
129
+ format: "json",
130
+ gitignored: false,
131
+ },
132
+ {
133
+ scope: "project",
134
+ path: ".claude/settings.local.json",
135
+ format: "json",
136
+ gitignored: true,
137
+ },
138
+ ],
139
+ grammar: {
140
+ style: "tool-call",
141
+ example: "Bash(axm:*)",
142
+ notes: "Tool(specifier) with * wildcards. Evaluated deny > ask > allow (first match wins). Settings merge across scopes rather than override.\n",
143
+ },
144
+ grants: {
145
+ shell: {
146
+ target: "~/.claude/settings.json",
147
+ patch: {
148
+ permissions: {
149
+ allow: ["Bash(${tool}:*)"],
150
+ },
151
+ },
152
+ },
153
+ filesystem: {
154
+ target: "~/.claude/settings.json",
155
+ patch: {
156
+ permissions: {
157
+ allow: [
158
+ "Read(${workspaceRoot}/**)",
159
+ "Write(${workspaceRoot}/**)",
160
+ "Edit(${workspaceRoot}/**)",
161
+ ],
162
+ },
163
+ },
164
+ },
165
+ },
166
+ },
72
167
  },
73
168
  {
74
169
  id: "codex",
@@ -83,12 +178,73 @@ export const AGENTS = [
83
178
  url: "https://developers.openai.com/codex",
84
179
  },
85
180
  ],
181
+ skills: {
182
+ support: "standard",
183
+ notes: "Reads SKILL.md skills from repository (.agents/skills) and user (~/.agents/skills) locations with progressive disclosure, using the cross-tool Agent Skills convention rather than a .codex/ path.\n",
184
+ sources: ["https://developers.openai.com/codex/skills"],
185
+ lastVerified: "2026-05-18",
186
+ scopes: ["user", "project"],
187
+ directory: ".agents/skills",
188
+ },
189
+ commands: {
190
+ support: "bridged",
191
+ notes: "Custom prompts are user-scope Markdown slash commands in ~/.codex/prompts. Deprecated by OpenAI in favor of skills for reusable instructions, and there is no project-scoped command directory.\n",
192
+ sources: [
193
+ "https://developers.openai.com/codex/custom-prompts",
194
+ "https://developers.openai.com/codex/cli/slash-commands",
195
+ ],
196
+ lastVerified: "2026-05-18",
197
+ scopes: ["user"],
198
+ directory: "~/.codex/prompts",
199
+ },
86
200
  mcp: {
87
201
  support: "standard",
88
202
  sources: ["https://github.com/openai/codex/blob/main/docs/config.md#mcp-servers"],
89
203
  lastVerified: "2026-05-16",
90
204
  scopes: ["user", "project"],
91
205
  transports: ["stdio", "http"],
206
+ config: {
207
+ serversKey: "mcp_servers",
208
+ nativeEnabled: true,
209
+ targets: [
210
+ {
211
+ scope: "project",
212
+ path: ".codex/config.toml",
213
+ format: "toml",
214
+ },
215
+ {
216
+ scope: "user",
217
+ path: "~/.codex/config.toml",
218
+ format: "toml",
219
+ },
220
+ ],
221
+ stdio: {
222
+ command: "split",
223
+ envKey: "env",
224
+ },
225
+ remote: {
226
+ typeField: {
227
+ name: "type",
228
+ value: {
229
+ "streamable-http": "streamable-http",
230
+ sse: "sse",
231
+ },
232
+ },
233
+ urlKey: {
234
+ "streamable-http": "url",
235
+ sse: "url",
236
+ },
237
+ headersKey: "http_headers",
238
+ },
239
+ transform: "codex-toml",
240
+ },
241
+ },
242
+ subagents: {
243
+ support: "bridged",
244
+ notes: "Custom agents are standalone TOML files under .codex/agents (project) or ~/.codex/agents (user); a custom agent overrides a built-in of the same name.\n",
245
+ sources: ["https://developers.openai.com/codex/subagents"],
246
+ lastVerified: "2026-05-18",
247
+ scopes: ["user", "project"],
92
248
  },
93
249
  instructions: {
94
250
  support: "standard",
@@ -98,6 +254,79 @@ export const AGENTS = [
98
254
  files: ["AGENTS.md"],
99
255
  nestedDiscovery: true,
100
256
  },
257
+ permissions: {
258
+ support: "standard",
259
+ sources: [
260
+ "https://developers.openai.com/codex/config-reference",
261
+ "https://developers.openai.com/codex/config-advanced",
262
+ "https://developers.openai.com/codex/security",
263
+ "https://developers.openai.com/codex/rules",
264
+ ],
265
+ lastVerified: "2026-05-18",
266
+ scopes: ["user", "project"],
267
+ mechanism: ["config-file", "cli-flag"],
268
+ configFiles: [
269
+ {
270
+ scope: "user",
271
+ path: "~/.codex/config.toml",
272
+ format: "toml",
273
+ gitignored: false,
274
+ },
275
+ {
276
+ scope: "user",
277
+ path: "~/.codex/rules/${tool}.rules",
278
+ format: "starlark",
279
+ gitignored: false,
280
+ },
281
+ ],
282
+ grammar: {
283
+ style: "starlark-rule",
284
+ example: 'prefix_rule(pattern=["axm"], decision="allow")',
285
+ notes: "Per-command allowlisting is Starlark prefix_rule() in ~/.codex/rules/*.rules. Sandbox and approval mode live separately in config.toml. Most restrictive match wins (forbidden > prompt > allow).\n",
286
+ },
287
+ prerequisites: [
288
+ {
289
+ key: "sandbox_mode",
290
+ value: "workspace-write",
291
+ scope: "user",
292
+ note: "Required to grant project write access.",
293
+ },
294
+ {
295
+ key: "approval_policy",
296
+ value: "never",
297
+ scope: "user",
298
+ note: "Suppresses approval prompts.",
299
+ },
300
+ ],
301
+ cliFlags: [
302
+ {
303
+ flag: "--full-auto",
304
+ note: "Equivalent one-shot bypass of prompts and sandbox restrictions.",
305
+ },
306
+ {
307
+ flag: "--sandbox workspace-write",
308
+ },
309
+ {
310
+ flag: "--ask-for-approval never",
311
+ },
312
+ ],
313
+ grants: {
314
+ shell: {
315
+ target: "~/.codex/rules/${tool}.rules",
316
+ template: 'prefix_rule(\n pattern = ["${tool}"],\n decision = "allow",\n justification = "${tool} CLI trusted in this workspace.",\n)\n',
317
+ },
318
+ filesystem: {
319
+ target: "~/.codex/config.toml",
320
+ patch: {
321
+ sandbox_mode: "workspace-write",
322
+ sandbox_workspace_write: {
323
+ writable_roots: ["${workspaceRoot}"],
324
+ network_access: true,
325
+ },
326
+ },
327
+ },
328
+ },
329
+ },
101
330
  },
102
331
  {
103
332
  id: "cursor",
@@ -112,12 +341,60 @@ export const AGENTS = [
112
341
  url: "https://docs.cursor.com",
113
342
  },
114
343
  ],
344
+ skills: {
345
+ support: "standard",
346
+ notes: "Cursor 2.4 added Agent Skills (SKILL.md) across the editor and the cursor-agent CLI; it also loads .claude/skills and .codex/skills for cross-tool compatibility.\n",
347
+ sources: ["https://cursor.com/docs/context/skills", "https://cursor.com/changelog/2-4"],
348
+ lastVerified: "2026-05-18",
349
+ scopes: ["user", "project"],
350
+ directory: ".cursor/skills",
351
+ },
352
+ commands: {
353
+ support: "bridged",
354
+ notes: "Custom commands are Markdown prompt files under .cursor/commands (project) or ~/.cursor/commands (user); documented as a beta feature.\n",
355
+ sources: [
356
+ "https://docs.cursor.com/en/agent/chat/commands",
357
+ "https://cursor.com/changelog/1-6",
358
+ ],
359
+ lastVerified: "2026-05-18",
360
+ scopes: ["user", "project"],
361
+ directory: ".cursor/commands",
362
+ },
115
363
  mcp: {
116
364
  support: "standard",
117
365
  sources: ["https://docs.cursor.com/advanced/model-context-protocol"],
118
366
  lastVerified: "2026-05-16",
119
367
  scopes: ["user", "project"],
120
368
  transports: ["stdio", "http", "sse"],
369
+ config: {
370
+ serversKey: "mcpServers",
371
+ nativeEnabled: false,
372
+ targets: [
373
+ {
374
+ scope: "project",
375
+ path: ".cursor/mcp.json",
376
+ format: "json",
377
+ },
378
+ ],
379
+ stdio: {
380
+ command: "split",
381
+ envKey: "env",
382
+ },
383
+ remote: {
384
+ urlKey: {
385
+ "streamable-http": "url",
386
+ sse: "url",
387
+ },
388
+ headersKey: "headers",
389
+ },
390
+ },
391
+ },
392
+ subagents: {
393
+ support: "bridged",
394
+ notes: "Custom subagents are Markdown files with YAML frontmatter under .cursor/agents (project) or ~/.cursor/agents (user); added in Cursor 2.4.\n",
395
+ sources: ["https://cursor.com/docs/subagents", "https://cursor.com/changelog/2-4"],
396
+ lastVerified: "2026-05-18",
397
+ scopes: ["user", "project"],
121
398
  },
122
399
  instructions: {
123
400
  support: "standard",
@@ -134,6 +411,96 @@ export const AGENTS = [
134
411
  scopes: ["project"],
135
412
  directory: ".cursor/rules",
136
413
  },
414
+ permissions: {
415
+ support: "standard",
416
+ sources: [
417
+ "https://cursor.com/docs/reference/permissions",
418
+ "https://cursor.com/docs/reference/sandbox",
419
+ "https://cursor.com/docs/agent/tools/terminal",
420
+ "https://cursor.com/docs/cli/reference/permissions",
421
+ ],
422
+ lastVerified: "2026-05-18",
423
+ scopes: ["user", "project"],
424
+ mechanism: ["config-file", "ui-only", "cli-flag"],
425
+ configFiles: [
426
+ {
427
+ scope: "user",
428
+ path: "~/.cursor/permissions.json",
429
+ format: "json",
430
+ gitignored: false,
431
+ },
432
+ {
433
+ scope: "user",
434
+ path: "~/.cursor/sandbox.json",
435
+ format: "json",
436
+ gitignored: false,
437
+ },
438
+ {
439
+ scope: "project",
440
+ path: ".cursor/sandbox.json",
441
+ format: "json",
442
+ gitignored: false,
443
+ },
444
+ {
445
+ scope: "user",
446
+ path: "~/.cursor/cli-config.json",
447
+ format: "json",
448
+ gitignored: false,
449
+ },
450
+ {
451
+ scope: "project",
452
+ path: ".cursor/cli.json",
453
+ format: "json",
454
+ gitignored: false,
455
+ },
456
+ ],
457
+ grammar: {
458
+ style: "prefix",
459
+ example: "axm",
460
+ notes: "IDE: case-sensitive command prefix in terminalAllowlist. CLI: Tool-call syntax Shell()/Read()/Write() with glob patterns. Deny always beats allow.\n",
461
+ },
462
+ prerequisites: [
463
+ {
464
+ key: "Settings > Cursor Settings > Agents > Auto-Run",
465
+ value: "Run in Sandbox | Run Everything",
466
+ scope: "user",
467
+ note: "IDE Auto-Run must be enabled before terminalAllowlist takes effect.",
468
+ },
469
+ ],
470
+ cliFlags: [
471
+ {
472
+ flag: "--force",
473
+ note: "Bypasses cursor-agent prompts (community-documented; verify against --help).",
474
+ },
475
+ {
476
+ flag: "--yolo",
477
+ note: "Bypasses cursor-agent prompts (community-documented; verify against --help).",
478
+ },
479
+ ],
480
+ grants: {
481
+ shell: {
482
+ target: "~/.cursor/permissions.json",
483
+ patch: {
484
+ terminalAllowlist: ["${tool}"],
485
+ },
486
+ },
487
+ cliShell: {
488
+ target: ".cursor/cli.json",
489
+ patch: {
490
+ permissions: {
491
+ allow: ["Shell(${tool})", "Shell(${tool}:*)"],
492
+ },
493
+ },
494
+ },
495
+ filesystem: {
496
+ target: ".cursor/sandbox.json",
497
+ patch: {
498
+ type: "workspace_readwrite",
499
+ additionalReadwritePaths: [],
500
+ },
501
+ },
502
+ },
503
+ },
137
504
  },
138
505
  {
139
506
  id: "gemini-cli",
@@ -155,12 +522,49 @@ export const AGENTS = [
155
522
  scopes: ["user", "project"],
156
523
  directory: ".gemini/skills",
157
524
  },
525
+ commands: {
526
+ support: "bridged",
527
+ notes: "Custom slash commands are TOML files under .gemini/commands (project) or ~/.gemini/commands (user); AXM bridges its command extension format to TOML.\n",
528
+ sources: [
529
+ "https://github.com/google-gemini/gemini-cli/blob/main/docs/cli/custom-commands.md",
530
+ ],
531
+ lastVerified: "2026-05-18",
532
+ scopes: ["user", "project"],
533
+ directory: ".gemini/commands",
534
+ },
158
535
  mcp: {
159
536
  support: "standard",
160
537
  sources: ["https://github.com/google-gemini/gemini-cli/blob/main/docs/cli/cli-reference.md"],
161
538
  lastVerified: "2026-05-16",
162
539
  scopes: ["user", "project"],
163
540
  transports: ["stdio"],
541
+ config: {
542
+ serversKey: "mcpServers",
543
+ nativeEnabled: false,
544
+ targets: [
545
+ {
546
+ scope: "project",
547
+ path: ".gemini/settings.json",
548
+ format: "json",
549
+ },
550
+ {
551
+ scope: "user",
552
+ path: "~/.gemini/settings.json",
553
+ format: "json",
554
+ },
555
+ ],
556
+ stdio: {
557
+ command: "split",
558
+ envKey: "env",
559
+ },
560
+ },
561
+ },
562
+ subagents: {
563
+ support: "bridged",
564
+ notes: "Subagents are Markdown files with YAML frontmatter under .gemini/agents (project) or ~/.gemini/agents (user); shipped in Gemini CLI v0.38.1.\n",
565
+ sources: ["https://github.com/google-gemini/gemini-cli/blob/main/docs/core/subagents.md"],
566
+ lastVerified: "2026-05-18",
567
+ scopes: ["user", "project"],
164
568
  },
165
569
  instructions: {
166
570
  support: "bridged",
@@ -170,6 +574,71 @@ export const AGENTS = [
170
574
  files: ["GEMINI.md"],
171
575
  nestedDiscovery: true,
172
576
  },
577
+ permissions: {
578
+ support: "standard",
579
+ sources: [
580
+ "https://github.com/google-gemini/gemini-cli/blob/main/docs/cli/settings.md",
581
+ "https://github.com/google-gemini/gemini-cli/blob/main/docs/cli/cli-reference.md",
582
+ "https://github.com/google-gemini/gemini-cli/blob/main/docs/tools/shell.md",
583
+ "https://github.com/google-gemini/gemini-cli/blob/main/docs/cli/trusted-folders.md",
584
+ ],
585
+ lastVerified: "2026-05-18",
586
+ scopes: ["user", "project"],
587
+ mechanism: ["config-file", "cli-flag"],
588
+ configFiles: [
589
+ {
590
+ scope: "user",
591
+ path: "~/.gemini/settings.json",
592
+ format: "json",
593
+ gitignored: false,
594
+ },
595
+ {
596
+ scope: "project",
597
+ path: ".gemini/settings.json",
598
+ format: "json",
599
+ gitignored: false,
600
+ },
601
+ ],
602
+ grammar: {
603
+ style: "prefix",
604
+ example: "run_shell_command(axm)",
605
+ notes: "tools.core is prefix-matched and currently documented in docs/tools/shell.md. The newer Policy Engine is replacing --allowed-tools; tools.core is still functional but transitional.\n",
606
+ },
607
+ prerequisites: [
608
+ {
609
+ key: "security.folderTrust.enabled",
610
+ value: "true",
611
+ scope: "user",
612
+ note: "Untrusted folders disable all auto-acceptance regardless of other settings.",
613
+ },
614
+ ],
615
+ cliFlags: [
616
+ {
617
+ flag: "--approval-mode=yolo",
618
+ note: "Broad bypass; not tool-scoped. Blocked when security.disableYoloMode=true.",
619
+ },
620
+ {
621
+ flag: "--yolo",
622
+ note: "Alias for --approval-mode=yolo.",
623
+ },
624
+ ],
625
+ grants: {
626
+ shell: {
627
+ target: "~/.gemini/settings.json",
628
+ patch: {
629
+ security: {
630
+ folderTrust: {
631
+ enabled: true,
632
+ },
633
+ enablePermanentToolApproval: true,
634
+ },
635
+ tools: {
636
+ core: ["run_shell_command(${tool})"],
637
+ },
638
+ },
639
+ },
640
+ },
641
+ },
173
642
  },
174
643
  {
175
644
  id: "github-copilot",
@@ -184,6 +653,25 @@ export const AGENTS = [
184
653
  url: "https://docs.github.com/en/copilot",
185
654
  },
186
655
  ],
656
+ skills: {
657
+ support: "standard",
658
+ notes: "VS Code agent mode, the Copilot CLI, and the cloud agent read SKILL.md skills from .github/skills (project) and ~/.copilot/skills (user); .claude/skills is also recognized.\n",
659
+ sources: [
660
+ "https://code.visualstudio.com/docs/copilot/customization/agent-skills",
661
+ "https://docs.github.com/en/copilot/concepts/agents/about-agent-skills",
662
+ ],
663
+ lastVerified: "2026-05-18",
664
+ scopes: ["user", "project"],
665
+ directory: ".github/skills",
666
+ },
667
+ commands: {
668
+ support: "bridged",
669
+ notes: "VS Code Copilot prompt files (.prompt.md) act as slash commands under .github/prompts; the Copilot CLI does not yet support custom commands.\n",
670
+ sources: ["https://code.visualstudio.com/docs/copilot/customization/prompt-files"],
671
+ lastVerified: "2026-05-18",
672
+ scopes: ["user", "project"],
673
+ directory: ".github/prompts",
674
+ },
187
675
  mcp: {
188
676
  support: "standard",
189
677
  sources: [
@@ -192,6 +680,39 @@ export const AGENTS = [
192
680
  lastVerified: "2026-05-16",
193
681
  scopes: ["user", "project"],
194
682
  transports: ["stdio", "http", "sse"],
683
+ config: {
684
+ serversKey: "servers",
685
+ nativeEnabled: false,
686
+ targets: [
687
+ {
688
+ scope: "project",
689
+ path: ".vscode/mcp.json",
690
+ format: "json",
691
+ },
692
+ ],
693
+ stdio: {
694
+ typeField: {
695
+ name: "type",
696
+ value: "stdio",
697
+ },
698
+ command: "split",
699
+ envKey: "env",
700
+ },
701
+ remote: {
702
+ typeField: {
703
+ name: "type",
704
+ value: {
705
+ "streamable-http": "http",
706
+ sse: "sse",
707
+ },
708
+ },
709
+ urlKey: {
710
+ "streamable-http": "url",
711
+ sse: "url",
712
+ },
713
+ headersKey: "headers",
714
+ },
715
+ },
195
716
  },
196
717
  subagents: {
197
718
  support: "bridged",
@@ -207,6 +728,287 @@ export const AGENTS = [
207
728
  files: ["AGENTS.md", ".github/copilot-instructions.md"],
208
729
  nestedDiscovery: false,
209
730
  },
731
+ permissions: {
732
+ support: "standard",
733
+ sources: [
734
+ "https://code.visualstudio.com/docs/copilot/reference/copilot-settings",
735
+ "https://code.visualstudio.com/docs/copilot/chat/chat-agent-mode",
736
+ "https://code.visualstudio.com/docs/copilot/agents/agent-tools",
737
+ "https://docs.github.com/en/copilot/concepts/agents/coding-agent",
738
+ ],
739
+ lastVerified: "2026-05-18",
740
+ scopes: ["user", "project"],
741
+ mechanism: ["config-file"],
742
+ configFiles: [
743
+ {
744
+ scope: "user",
745
+ path: "~/Library/Application Support/Code/User/settings.json",
746
+ format: "vscode-settings",
747
+ gitignored: false,
748
+ },
749
+ {
750
+ scope: "project",
751
+ path: ".vscode/settings.json",
752
+ format: "vscode-settings",
753
+ gitignored: false,
754
+ },
755
+ ],
756
+ grammar: {
757
+ style: "regex",
758
+ example: '"/^axm(\\\\s|$)/": true',
759
+ notes: "chat.tools.terminal.autoApprove keys are literal command names or /regex/ patterns mapping to bool. Default deny rules for rm, chmod, etc. remain active unless chat.tools.terminal.ignoreDefaultAutoApproveRules is set.\n",
760
+ },
761
+ cliFlags: [],
762
+ grants: {
763
+ shell: {
764
+ target: ".vscode/settings.json",
765
+ patch: {
766
+ "chat.tools.terminal.autoApprove": {
767
+ "${tool}": true,
768
+ "/^${tool}(\\s|$)/": true,
769
+ },
770
+ },
771
+ },
772
+ filesystem: {
773
+ target: ".vscode/settings.json",
774
+ patch: {
775
+ "chat.tools.edits.autoApprove": {
776
+ "**/*": true,
777
+ },
778
+ },
779
+ },
780
+ },
781
+ },
782
+ },
783
+ {
784
+ id: "grok-cli",
785
+ name: "Grok CLI",
786
+ vendor: "xAI",
787
+ homepage: "https://x.ai/cli",
788
+ interfaces: ["cli"],
789
+ family: "xai",
790
+ docs: [
791
+ {
792
+ label: "Grok CLI documentation",
793
+ url: "https://docs.x.ai/build/overview",
794
+ },
795
+ ],
796
+ skills: {
797
+ support: "standard",
798
+ notes: "Reads SKILL.md Agent Skills from project (.grok/skills) and user (~/.grok/skills, ~/.agents/skills) locations, plus additional paths configured via [skills] in ~/.grok/config.toml.\n",
799
+ sources: ["https://docs.x.ai/build/features/skills-plugins-marketplaces"],
800
+ lastVerified: "2026-05-19",
801
+ scopes: ["user", "project"],
802
+ directory: ".grok/skills",
803
+ },
804
+ mcp: {
805
+ support: "bridged",
806
+ notes: "MCP servers are managed with `grok mcp add/remove/list` or under the mcpServers key in .grok/settings.json. Recorded as bridged because the prescriptive config dialect has not been verified against xAI docs.\n",
807
+ sources: ["https://docs.x.ai/build/modes-and-commands"],
808
+ lastVerified: "2026-05-19",
809
+ scopes: ["user", "project"],
810
+ transports: ["stdio", "http", "sse"],
811
+ },
812
+ instructions: {
813
+ support: "standard",
814
+ notes: "AGENTS.md files are merged from the git root down to the working directory, with AGENTS.override.md taking precedence per directory.\n",
815
+ sources: ["https://docs.x.ai/build/overview"],
816
+ lastVerified: "2026-05-19",
817
+ scopes: ["user", "project"],
818
+ files: ["AGENTS.md"],
819
+ nestedDiscovery: true,
820
+ },
821
+ },
822
+ {
823
+ id: "ibm-bob",
824
+ name: "IBM Bob",
825
+ vendor: "IBM",
826
+ homepage: "https://bob.ibm.com",
827
+ interfaces: ["ide-extension", "cli"],
828
+ docs: [
829
+ {
830
+ label: "IBM Bob documentation",
831
+ url: "https://bob.ibm.com/docs/ide",
832
+ },
833
+ ],
834
+ mcp: {
835
+ support: "standard",
836
+ notes: "Project servers live in .bob/mcp.json; user servers in ~/.bob/mcp_settings.json. Both files key entries under mcpServers. Remote entries carry a url field with no type discriminator; SSE is documented as legacy alongside streamable HTTP.\n",
837
+ sources: ["https://bob.ibm.com/docs/ide/configuration/mcp/mcp-in-bob"],
838
+ lastVerified: "2026-05-19",
839
+ scopes: ["user", "project"],
840
+ transports: ["stdio", "http", "sse"],
841
+ config: {
842
+ serversKey: "mcpServers",
843
+ nativeEnabled: false,
844
+ targets: [
845
+ {
846
+ scope: "user",
847
+ path: "~/.bob/mcp_settings.json",
848
+ format: "json",
849
+ },
850
+ {
851
+ scope: "project",
852
+ path: ".bob/mcp.json",
853
+ format: "json",
854
+ },
855
+ ],
856
+ stdio: {
857
+ command: "split",
858
+ envKey: "env",
859
+ },
860
+ remote: {
861
+ urlKey: {
862
+ "streamable-http": "url",
863
+ sse: "url",
864
+ },
865
+ headersKey: "headers",
866
+ },
867
+ },
868
+ },
869
+ subagents: {
870
+ support: "bridged",
871
+ notes: "Bob custom modes are YAML entries (slug, name, roleDefinition, groups, customInstructions) in .bob/custom_modes.yaml (project) or the global custom_modes.yaml (user). Recorded as bridged because subagent-style extensions have no industry spec standard.\n",
872
+ sources: ["https://bob.ibm.com/docs/ide/configuration/custom-modes"],
873
+ lastVerified: "2026-05-19",
874
+ scopes: ["user", "project"],
875
+ },
876
+ instructions: {
877
+ support: "standard",
878
+ notes: "Bob automatically loads AGENTS.md from the workspace root.\n",
879
+ sources: ["https://bob.ibm.com/docs/ide/configuration/rules"],
880
+ lastVerified: "2026-05-19",
881
+ scopes: ["project"],
882
+ files: ["AGENTS.md"],
883
+ nestedDiscovery: false,
884
+ },
885
+ rules: {
886
+ support: "bridged",
887
+ notes: "Custom rules load from .bob/rules (project) and ~/.bob/rules (user). The legacy single-file .bobrules and mode-scoped .bob/rules-{mode} directories are also supported.\n",
888
+ sources: ["https://bob.ibm.com/docs/ide/configuration/rules"],
889
+ lastVerified: "2026-05-19",
890
+ scopes: ["user", "project"],
891
+ directory: ".bob/rules",
892
+ },
893
+ },
894
+ {
895
+ id: "opencode",
896
+ name: "OpenCode",
897
+ vendor: "SST",
898
+ homepage: "https://opencode.ai",
899
+ interfaces: ["cli"],
900
+ docs: [
901
+ {
902
+ label: "OpenCode documentation",
903
+ url: "https://opencode.ai/docs",
904
+ },
905
+ ],
906
+ mcp: {
907
+ support: "standard",
908
+ sources: ["https://opencode.ai/docs/mcp-servers/", "https://opencode.ai/docs/config/"],
909
+ lastVerified: "2026-05-18",
910
+ scopes: ["user", "project"],
911
+ transports: ["stdio", "http"],
912
+ config: {
913
+ serversKey: "mcp",
914
+ nativeEnabled: true,
915
+ targets: [
916
+ {
917
+ scope: "project",
918
+ path: "opencode.jsonc",
919
+ format: "jsonc",
920
+ },
921
+ {
922
+ scope: "user",
923
+ path: "~/.config/opencode/opencode.json",
924
+ format: "json",
925
+ },
926
+ ],
927
+ stdio: {
928
+ typeField: {
929
+ name: "type",
930
+ value: "local",
931
+ },
932
+ command: "array",
933
+ envKey: "environment",
934
+ },
935
+ remote: {
936
+ typeField: {
937
+ name: "type",
938
+ value: {
939
+ "streamable-http": "remote",
940
+ sse: "remote",
941
+ },
942
+ },
943
+ urlKey: {
944
+ "streamable-http": "url",
945
+ sse: "url",
946
+ },
947
+ headersKey: "headers",
948
+ },
949
+ },
950
+ },
951
+ },
952
+ {
953
+ id: "pi",
954
+ name: "Pi",
955
+ vendor: "Mario Zechner",
956
+ homepage: "https://github.com/badlogic/pi-mono",
957
+ interfaces: ["cli"],
958
+ docs: [
959
+ {
960
+ label: "Pi coding agent documentation",
961
+ url: "https://github.com/badlogic/pi-mono/blob/main/packages/coding-agent/README.md",
962
+ },
963
+ ],
964
+ skills: {
965
+ support: "standard",
966
+ notes: "Skills follow the Agent Skills SKILL.md standard and are invoked via /skill:name. Pi discovers them from .pi/skills and .agents/skills (project, searched up through parent directories) and ~/.pi/agent/skills and ~/.agents/skills (user).\n",
967
+ sources: ["https://github.com/badlogic/pi-mono/blob/main/packages/coding-agent/README.md"],
968
+ lastVerified: "2026-05-18",
969
+ scopes: ["user", "project"],
970
+ directory: ".pi/skills",
971
+ },
972
+ commands: {
973
+ support: "bridged",
974
+ notes: "Custom slash commands are Markdown prompt templates with {{variable}} interpolation, expanded via /templatename. Stored in .pi/prompts (project) or ~/.pi/agent/prompts (user). Recorded as bridged because prompt templates have no industry spec standard.\n",
975
+ sources: ["https://github.com/badlogic/pi-mono/blob/main/packages/coding-agent/README.md"],
976
+ lastVerified: "2026-05-18",
977
+ scopes: ["user", "project"],
978
+ directory: ".pi/prompts",
979
+ },
980
+ mcp: {
981
+ support: "unsupported",
982
+ notes: 'Pi ships a deliberate "no MCP" core with only four built-in tools (read, write, edit, bash). MCP can only be added by installing or building a TypeScript extension; there is no native MCP server configuration.\n',
983
+ sources: ["https://github.com/badlogic/pi-mono/blob/main/packages/coding-agent/README.md"],
984
+ lastVerified: "2026-05-18",
985
+ scopes: [],
986
+ transports: [],
987
+ },
988
+ subagents: {
989
+ support: "unsupported",
990
+ notes: "Pi has no built-in subagent system by design. Multi-agent workflows are expected to be composed externally (e.g. spawning pi instances under tmux) or via a TypeScript extension.\n",
991
+ sources: ["https://github.com/badlogic/pi-mono/blob/main/packages/coding-agent/README.md"],
992
+ lastVerified: "2026-05-18",
993
+ scopes: [],
994
+ },
995
+ instructions: {
996
+ support: "standard",
997
+ notes: "AGENTS.md and CLAUDE.md context files load at startup from the global directory (~/.pi/agent), parent directories, and the current directory; all matching files are concatenated.\n",
998
+ sources: ["https://github.com/badlogic/pi-mono/blob/main/packages/coding-agent/README.md"],
999
+ lastVerified: "2026-05-18",
1000
+ scopes: ["user", "project"],
1001
+ files: ["AGENTS.md", "CLAUDE.md"],
1002
+ nestedDiscovery: true,
1003
+ },
1004
+ permissions: {
1005
+ support: "unsupported",
1006
+ notes: "Pi has no per-call approval prompts and no permission config file. Tools run without confirmation; the philosophy is to run pi in a container or supply a confirmation flow via extension. Tool availability is selected at invocation with --tools and --no-builtin-tools, but this is tool enablement rather than a permission-grant surface.\n",
1007
+ sources: ["https://github.com/badlogic/pi-mono/blob/main/packages/coding-agent/README.md"],
1008
+ lastVerified: "2026-05-18",
1009
+ scopes: [],
1010
+ mechanism: [],
1011
+ },
210
1012
  },
211
1013
  {
212
1014
  id: "windsurf",
@@ -221,12 +1023,50 @@ export const AGENTS = [
221
1023
  url: "https://docs.windsurf.com",
222
1024
  },
223
1025
  ],
1026
+ skills: {
1027
+ support: "standard",
1028
+ notes: "Cascade reads SKILL.md skills from .windsurf/skills (project) and ~/.codeium/windsurf/skills (user) with progressive disclosure.\n",
1029
+ sources: ["https://docs.windsurf.com/windsurf/cascade/skills"],
1030
+ lastVerified: "2026-05-18",
1031
+ scopes: ["user", "project"],
1032
+ directory: ".windsurf/skills",
1033
+ },
1034
+ commands: {
1035
+ support: "bridged",
1036
+ notes: "Windsurf Workflows are slash-command-invoked Markdown prompts under .windsurf/workflows (project) and ~/.codeium/windsurf/global_workflows (user).\n",
1037
+ sources: ["https://docs.windsurf.com/windsurf/cascade/workflows"],
1038
+ lastVerified: "2026-05-18",
1039
+ scopes: ["user", "project"],
1040
+ directory: ".windsurf/workflows",
1041
+ },
224
1042
  mcp: {
225
1043
  support: "standard",
226
1044
  sources: ["https://docs.windsurf.com/windsurf/cascade/mcp"],
227
1045
  lastVerified: "2026-05-16",
228
1046
  scopes: ["user", "project"],
229
1047
  transports: ["stdio"],
1048
+ config: {
1049
+ serversKey: "mcpServers",
1050
+ nativeEnabled: false,
1051
+ targets: [
1052
+ {
1053
+ scope: "user",
1054
+ path: "~/.codeium/windsurf/mcp_config.json",
1055
+ format: "json",
1056
+ },
1057
+ ],
1058
+ stdio: {
1059
+ command: "split",
1060
+ envKey: "env",
1061
+ },
1062
+ },
1063
+ },
1064
+ subagents: {
1065
+ support: "unsupported",
1066
+ notes: "Cascade exposes only built-in and internal subagents plus multi-agent sessions; no user-authorable custom subagent extension type is documented.\n",
1067
+ sources: ["https://docs.windsurf.com/windsurf/cascade/agents-md"],
1068
+ lastVerified: "2026-05-18",
1069
+ scopes: [],
230
1070
  },
231
1071
  instructions: {
232
1072
  support: "standard",
@@ -243,6 +1083,45 @@ export const AGENTS = [
243
1083
  scopes: ["user", "project"],
244
1084
  directory: ".windsurf/rules",
245
1085
  },
1086
+ permissions: {
1087
+ support: "standard",
1088
+ sources: [
1089
+ "https://docs.windsurf.com/windsurf/terminal",
1090
+ "https://docs.windsurf.com/windsurf/cascade",
1091
+ ],
1092
+ lastVerified: "2026-05-18",
1093
+ scopes: ["user"],
1094
+ mechanism: ["config-file", "ui-only"],
1095
+ configFiles: [
1096
+ {
1097
+ scope: "user",
1098
+ path: "VS Code settings (Settings UI)",
1099
+ format: "vscode-settings",
1100
+ gitignored: false,
1101
+ },
1102
+ ],
1103
+ grammar: {
1104
+ style: "prefix",
1105
+ example: "axm",
1106
+ notes: "windsurf.cascadeCommandsAllowList is prefix-matched. Workspace-scoped override for these keys is not documented; configure at user scope. Teams/Enterprise can merge in lists via the Admin Portal.\n",
1107
+ },
1108
+ prerequisites: [
1109
+ {
1110
+ key: "Cascade auto-execution level",
1111
+ value: "allowlist_only | turbo",
1112
+ scope: "user",
1113
+ note: "Disabled and Auto modes ignore allowlist entries; set via the Windsurf Settings panel.",
1114
+ },
1115
+ ],
1116
+ grants: {
1117
+ shell: {
1118
+ target: "VS Code settings",
1119
+ patch: {
1120
+ "windsurf.cascadeCommandsAllowList": ["${tool}"],
1121
+ },
1122
+ },
1123
+ },
1124
+ },
246
1125
  },
247
1126
  ];
248
1127
  /** @experimental This API is unstable and may change without notice. */
@@ -268,9 +1147,10 @@ export const AGENTS_BY_ID = {
268
1147
  directory: ".claude/skills",
269
1148
  },
270
1149
  commands: {
271
- support: "standard",
1150
+ support: "bridged",
1151
+ notes: "Custom slash commands are Markdown prompt files under .claude/commands. Recorded as bridged because commands have no industry spec standard.\n",
272
1152
  sources: ["https://docs.claude.com/en/docs/claude-code/slash-commands"],
273
- lastVerified: "2026-05-16",
1153
+ lastVerified: "2026-05-18",
274
1154
  scopes: ["user", "project"],
275
1155
  directory: ".claude/commands",
276
1156
  },
@@ -280,6 +1160,39 @@ export const AGENTS_BY_ID = {
280
1160
  lastVerified: "2026-05-16",
281
1161
  scopes: ["user", "project"],
282
1162
  transports: ["stdio", "http", "sse"],
1163
+ config: {
1164
+ serversKey: "mcpServers",
1165
+ nativeEnabled: false,
1166
+ targets: [
1167
+ {
1168
+ scope: "project",
1169
+ path: ".mcp.json",
1170
+ format: "json",
1171
+ },
1172
+ ],
1173
+ stdio: {
1174
+ typeField: {
1175
+ name: "type",
1176
+ value: "stdio",
1177
+ },
1178
+ command: "split",
1179
+ envKey: "env",
1180
+ },
1181
+ remote: {
1182
+ typeField: {
1183
+ name: "type",
1184
+ value: {
1185
+ "streamable-http": "http",
1186
+ sse: "sse",
1187
+ },
1188
+ },
1189
+ urlKey: {
1190
+ "streamable-http": "url",
1191
+ sse: "url",
1192
+ },
1193
+ headersKey: "headers",
1194
+ },
1195
+ },
283
1196
  },
284
1197
  subagents: {
285
1198
  support: "bridged",
@@ -295,6 +1208,63 @@ export const AGENTS_BY_ID = {
295
1208
  files: ["CLAUDE.md"],
296
1209
  nestedDiscovery: true,
297
1210
  },
1211
+ permissions: {
1212
+ support: "standard",
1213
+ sources: [
1214
+ "https://docs.claude.com/en/docs/claude-code/iam",
1215
+ "https://docs.claude.com/en/docs/claude-code/settings",
1216
+ ],
1217
+ lastVerified: "2026-05-18",
1218
+ scopes: ["user", "project"],
1219
+ mechanism: ["config-file"],
1220
+ configFiles: [
1221
+ {
1222
+ scope: "user",
1223
+ path: "~/.claude/settings.json",
1224
+ format: "json",
1225
+ gitignored: false,
1226
+ },
1227
+ {
1228
+ scope: "project",
1229
+ path: ".claude/settings.json",
1230
+ format: "json",
1231
+ gitignored: false,
1232
+ },
1233
+ {
1234
+ scope: "project",
1235
+ path: ".claude/settings.local.json",
1236
+ format: "json",
1237
+ gitignored: true,
1238
+ },
1239
+ ],
1240
+ grammar: {
1241
+ style: "tool-call",
1242
+ example: "Bash(axm:*)",
1243
+ notes: "Tool(specifier) with * wildcards. Evaluated deny > ask > allow (first match wins). Settings merge across scopes rather than override.\n",
1244
+ },
1245
+ grants: {
1246
+ shell: {
1247
+ target: "~/.claude/settings.json",
1248
+ patch: {
1249
+ permissions: {
1250
+ allow: ["Bash(${tool}:*)"],
1251
+ },
1252
+ },
1253
+ },
1254
+ filesystem: {
1255
+ target: "~/.claude/settings.json",
1256
+ patch: {
1257
+ permissions: {
1258
+ allow: [
1259
+ "Read(${workspaceRoot}/**)",
1260
+ "Write(${workspaceRoot}/**)",
1261
+ "Edit(${workspaceRoot}/**)",
1262
+ ],
1263
+ },
1264
+ },
1265
+ },
1266
+ },
1267
+ },
298
1268
  },
299
1269
  codex: {
300
1270
  id: "codex",
@@ -309,12 +1279,73 @@ export const AGENTS_BY_ID = {
309
1279
  url: "https://developers.openai.com/codex",
310
1280
  },
311
1281
  ],
1282
+ skills: {
1283
+ support: "standard",
1284
+ notes: "Reads SKILL.md skills from repository (.agents/skills) and user (~/.agents/skills) locations with progressive disclosure, using the cross-tool Agent Skills convention rather than a .codex/ path.\n",
1285
+ sources: ["https://developers.openai.com/codex/skills"],
1286
+ lastVerified: "2026-05-18",
1287
+ scopes: ["user", "project"],
1288
+ directory: ".agents/skills",
1289
+ },
1290
+ commands: {
1291
+ support: "bridged",
1292
+ notes: "Custom prompts are user-scope Markdown slash commands in ~/.codex/prompts. Deprecated by OpenAI in favor of skills for reusable instructions, and there is no project-scoped command directory.\n",
1293
+ sources: [
1294
+ "https://developers.openai.com/codex/custom-prompts",
1295
+ "https://developers.openai.com/codex/cli/slash-commands",
1296
+ ],
1297
+ lastVerified: "2026-05-18",
1298
+ scopes: ["user"],
1299
+ directory: "~/.codex/prompts",
1300
+ },
312
1301
  mcp: {
313
1302
  support: "standard",
314
1303
  sources: ["https://github.com/openai/codex/blob/main/docs/config.md#mcp-servers"],
315
1304
  lastVerified: "2026-05-16",
316
1305
  scopes: ["user", "project"],
317
1306
  transports: ["stdio", "http"],
1307
+ config: {
1308
+ serversKey: "mcp_servers",
1309
+ nativeEnabled: true,
1310
+ targets: [
1311
+ {
1312
+ scope: "project",
1313
+ path: ".codex/config.toml",
1314
+ format: "toml",
1315
+ },
1316
+ {
1317
+ scope: "user",
1318
+ path: "~/.codex/config.toml",
1319
+ format: "toml",
1320
+ },
1321
+ ],
1322
+ stdio: {
1323
+ command: "split",
1324
+ envKey: "env",
1325
+ },
1326
+ remote: {
1327
+ typeField: {
1328
+ name: "type",
1329
+ value: {
1330
+ "streamable-http": "streamable-http",
1331
+ sse: "sse",
1332
+ },
1333
+ },
1334
+ urlKey: {
1335
+ "streamable-http": "url",
1336
+ sse: "url",
1337
+ },
1338
+ headersKey: "http_headers",
1339
+ },
1340
+ transform: "codex-toml",
1341
+ },
1342
+ },
1343
+ subagents: {
1344
+ support: "bridged",
1345
+ notes: "Custom agents are standalone TOML files under .codex/agents (project) or ~/.codex/agents (user); a custom agent overrides a built-in of the same name.\n",
1346
+ sources: ["https://developers.openai.com/codex/subagents"],
1347
+ lastVerified: "2026-05-18",
1348
+ scopes: ["user", "project"],
318
1349
  },
319
1350
  instructions: {
320
1351
  support: "standard",
@@ -324,6 +1355,79 @@ export const AGENTS_BY_ID = {
324
1355
  files: ["AGENTS.md"],
325
1356
  nestedDiscovery: true,
326
1357
  },
1358
+ permissions: {
1359
+ support: "standard",
1360
+ sources: [
1361
+ "https://developers.openai.com/codex/config-reference",
1362
+ "https://developers.openai.com/codex/config-advanced",
1363
+ "https://developers.openai.com/codex/security",
1364
+ "https://developers.openai.com/codex/rules",
1365
+ ],
1366
+ lastVerified: "2026-05-18",
1367
+ scopes: ["user", "project"],
1368
+ mechanism: ["config-file", "cli-flag"],
1369
+ configFiles: [
1370
+ {
1371
+ scope: "user",
1372
+ path: "~/.codex/config.toml",
1373
+ format: "toml",
1374
+ gitignored: false,
1375
+ },
1376
+ {
1377
+ scope: "user",
1378
+ path: "~/.codex/rules/${tool}.rules",
1379
+ format: "starlark",
1380
+ gitignored: false,
1381
+ },
1382
+ ],
1383
+ grammar: {
1384
+ style: "starlark-rule",
1385
+ example: 'prefix_rule(pattern=["axm"], decision="allow")',
1386
+ notes: "Per-command allowlisting is Starlark prefix_rule() in ~/.codex/rules/*.rules. Sandbox and approval mode live separately in config.toml. Most restrictive match wins (forbidden > prompt > allow).\n",
1387
+ },
1388
+ prerequisites: [
1389
+ {
1390
+ key: "sandbox_mode",
1391
+ value: "workspace-write",
1392
+ scope: "user",
1393
+ note: "Required to grant project write access.",
1394
+ },
1395
+ {
1396
+ key: "approval_policy",
1397
+ value: "never",
1398
+ scope: "user",
1399
+ note: "Suppresses approval prompts.",
1400
+ },
1401
+ ],
1402
+ cliFlags: [
1403
+ {
1404
+ flag: "--full-auto",
1405
+ note: "Equivalent one-shot bypass of prompts and sandbox restrictions.",
1406
+ },
1407
+ {
1408
+ flag: "--sandbox workspace-write",
1409
+ },
1410
+ {
1411
+ flag: "--ask-for-approval never",
1412
+ },
1413
+ ],
1414
+ grants: {
1415
+ shell: {
1416
+ target: "~/.codex/rules/${tool}.rules",
1417
+ template: 'prefix_rule(\n pattern = ["${tool}"],\n decision = "allow",\n justification = "${tool} CLI trusted in this workspace.",\n)\n',
1418
+ },
1419
+ filesystem: {
1420
+ target: "~/.codex/config.toml",
1421
+ patch: {
1422
+ sandbox_mode: "workspace-write",
1423
+ sandbox_workspace_write: {
1424
+ writable_roots: ["${workspaceRoot}"],
1425
+ network_access: true,
1426
+ },
1427
+ },
1428
+ },
1429
+ },
1430
+ },
327
1431
  },
328
1432
  cursor: {
329
1433
  id: "cursor",
@@ -338,12 +1442,60 @@ export const AGENTS_BY_ID = {
338
1442
  url: "https://docs.cursor.com",
339
1443
  },
340
1444
  ],
1445
+ skills: {
1446
+ support: "standard",
1447
+ notes: "Cursor 2.4 added Agent Skills (SKILL.md) across the editor and the cursor-agent CLI; it also loads .claude/skills and .codex/skills for cross-tool compatibility.\n",
1448
+ sources: ["https://cursor.com/docs/context/skills", "https://cursor.com/changelog/2-4"],
1449
+ lastVerified: "2026-05-18",
1450
+ scopes: ["user", "project"],
1451
+ directory: ".cursor/skills",
1452
+ },
1453
+ commands: {
1454
+ support: "bridged",
1455
+ notes: "Custom commands are Markdown prompt files under .cursor/commands (project) or ~/.cursor/commands (user); documented as a beta feature.\n",
1456
+ sources: [
1457
+ "https://docs.cursor.com/en/agent/chat/commands",
1458
+ "https://cursor.com/changelog/1-6",
1459
+ ],
1460
+ lastVerified: "2026-05-18",
1461
+ scopes: ["user", "project"],
1462
+ directory: ".cursor/commands",
1463
+ },
341
1464
  mcp: {
342
1465
  support: "standard",
343
1466
  sources: ["https://docs.cursor.com/advanced/model-context-protocol"],
344
1467
  lastVerified: "2026-05-16",
345
1468
  scopes: ["user", "project"],
346
1469
  transports: ["stdio", "http", "sse"],
1470
+ config: {
1471
+ serversKey: "mcpServers",
1472
+ nativeEnabled: false,
1473
+ targets: [
1474
+ {
1475
+ scope: "project",
1476
+ path: ".cursor/mcp.json",
1477
+ format: "json",
1478
+ },
1479
+ ],
1480
+ stdio: {
1481
+ command: "split",
1482
+ envKey: "env",
1483
+ },
1484
+ remote: {
1485
+ urlKey: {
1486
+ "streamable-http": "url",
1487
+ sse: "url",
1488
+ },
1489
+ headersKey: "headers",
1490
+ },
1491
+ },
1492
+ },
1493
+ subagents: {
1494
+ support: "bridged",
1495
+ notes: "Custom subagents are Markdown files with YAML frontmatter under .cursor/agents (project) or ~/.cursor/agents (user); added in Cursor 2.4.\n",
1496
+ sources: ["https://cursor.com/docs/subagents", "https://cursor.com/changelog/2-4"],
1497
+ lastVerified: "2026-05-18",
1498
+ scopes: ["user", "project"],
347
1499
  },
348
1500
  instructions: {
349
1501
  support: "standard",
@@ -360,6 +1512,96 @@ export const AGENTS_BY_ID = {
360
1512
  scopes: ["project"],
361
1513
  directory: ".cursor/rules",
362
1514
  },
1515
+ permissions: {
1516
+ support: "standard",
1517
+ sources: [
1518
+ "https://cursor.com/docs/reference/permissions",
1519
+ "https://cursor.com/docs/reference/sandbox",
1520
+ "https://cursor.com/docs/agent/tools/terminal",
1521
+ "https://cursor.com/docs/cli/reference/permissions",
1522
+ ],
1523
+ lastVerified: "2026-05-18",
1524
+ scopes: ["user", "project"],
1525
+ mechanism: ["config-file", "ui-only", "cli-flag"],
1526
+ configFiles: [
1527
+ {
1528
+ scope: "user",
1529
+ path: "~/.cursor/permissions.json",
1530
+ format: "json",
1531
+ gitignored: false,
1532
+ },
1533
+ {
1534
+ scope: "user",
1535
+ path: "~/.cursor/sandbox.json",
1536
+ format: "json",
1537
+ gitignored: false,
1538
+ },
1539
+ {
1540
+ scope: "project",
1541
+ path: ".cursor/sandbox.json",
1542
+ format: "json",
1543
+ gitignored: false,
1544
+ },
1545
+ {
1546
+ scope: "user",
1547
+ path: "~/.cursor/cli-config.json",
1548
+ format: "json",
1549
+ gitignored: false,
1550
+ },
1551
+ {
1552
+ scope: "project",
1553
+ path: ".cursor/cli.json",
1554
+ format: "json",
1555
+ gitignored: false,
1556
+ },
1557
+ ],
1558
+ grammar: {
1559
+ style: "prefix",
1560
+ example: "axm",
1561
+ notes: "IDE: case-sensitive command prefix in terminalAllowlist. CLI: Tool-call syntax Shell()/Read()/Write() with glob patterns. Deny always beats allow.\n",
1562
+ },
1563
+ prerequisites: [
1564
+ {
1565
+ key: "Settings > Cursor Settings > Agents > Auto-Run",
1566
+ value: "Run in Sandbox | Run Everything",
1567
+ scope: "user",
1568
+ note: "IDE Auto-Run must be enabled before terminalAllowlist takes effect.",
1569
+ },
1570
+ ],
1571
+ cliFlags: [
1572
+ {
1573
+ flag: "--force",
1574
+ note: "Bypasses cursor-agent prompts (community-documented; verify against --help).",
1575
+ },
1576
+ {
1577
+ flag: "--yolo",
1578
+ note: "Bypasses cursor-agent prompts (community-documented; verify against --help).",
1579
+ },
1580
+ ],
1581
+ grants: {
1582
+ shell: {
1583
+ target: "~/.cursor/permissions.json",
1584
+ patch: {
1585
+ terminalAllowlist: ["${tool}"],
1586
+ },
1587
+ },
1588
+ cliShell: {
1589
+ target: ".cursor/cli.json",
1590
+ patch: {
1591
+ permissions: {
1592
+ allow: ["Shell(${tool})", "Shell(${tool}:*)"],
1593
+ },
1594
+ },
1595
+ },
1596
+ filesystem: {
1597
+ target: ".cursor/sandbox.json",
1598
+ patch: {
1599
+ type: "workspace_readwrite",
1600
+ additionalReadwritePaths: [],
1601
+ },
1602
+ },
1603
+ },
1604
+ },
363
1605
  },
364
1606
  "gemini-cli": {
365
1607
  id: "gemini-cli",
@@ -381,12 +1623,49 @@ export const AGENTS_BY_ID = {
381
1623
  scopes: ["user", "project"],
382
1624
  directory: ".gemini/skills",
383
1625
  },
1626
+ commands: {
1627
+ support: "bridged",
1628
+ notes: "Custom slash commands are TOML files under .gemini/commands (project) or ~/.gemini/commands (user); AXM bridges its command extension format to TOML.\n",
1629
+ sources: [
1630
+ "https://github.com/google-gemini/gemini-cli/blob/main/docs/cli/custom-commands.md",
1631
+ ],
1632
+ lastVerified: "2026-05-18",
1633
+ scopes: ["user", "project"],
1634
+ directory: ".gemini/commands",
1635
+ },
384
1636
  mcp: {
385
1637
  support: "standard",
386
1638
  sources: ["https://github.com/google-gemini/gemini-cli/blob/main/docs/cli/cli-reference.md"],
387
1639
  lastVerified: "2026-05-16",
388
1640
  scopes: ["user", "project"],
389
1641
  transports: ["stdio"],
1642
+ config: {
1643
+ serversKey: "mcpServers",
1644
+ nativeEnabled: false,
1645
+ targets: [
1646
+ {
1647
+ scope: "project",
1648
+ path: ".gemini/settings.json",
1649
+ format: "json",
1650
+ },
1651
+ {
1652
+ scope: "user",
1653
+ path: "~/.gemini/settings.json",
1654
+ format: "json",
1655
+ },
1656
+ ],
1657
+ stdio: {
1658
+ command: "split",
1659
+ envKey: "env",
1660
+ },
1661
+ },
1662
+ },
1663
+ subagents: {
1664
+ support: "bridged",
1665
+ notes: "Subagents are Markdown files with YAML frontmatter under .gemini/agents (project) or ~/.gemini/agents (user); shipped in Gemini CLI v0.38.1.\n",
1666
+ sources: ["https://github.com/google-gemini/gemini-cli/blob/main/docs/core/subagents.md"],
1667
+ lastVerified: "2026-05-18",
1668
+ scopes: ["user", "project"],
390
1669
  },
391
1670
  instructions: {
392
1671
  support: "bridged",
@@ -396,6 +1675,71 @@ export const AGENTS_BY_ID = {
396
1675
  files: ["GEMINI.md"],
397
1676
  nestedDiscovery: true,
398
1677
  },
1678
+ permissions: {
1679
+ support: "standard",
1680
+ sources: [
1681
+ "https://github.com/google-gemini/gemini-cli/blob/main/docs/cli/settings.md",
1682
+ "https://github.com/google-gemini/gemini-cli/blob/main/docs/cli/cli-reference.md",
1683
+ "https://github.com/google-gemini/gemini-cli/blob/main/docs/tools/shell.md",
1684
+ "https://github.com/google-gemini/gemini-cli/blob/main/docs/cli/trusted-folders.md",
1685
+ ],
1686
+ lastVerified: "2026-05-18",
1687
+ scopes: ["user", "project"],
1688
+ mechanism: ["config-file", "cli-flag"],
1689
+ configFiles: [
1690
+ {
1691
+ scope: "user",
1692
+ path: "~/.gemini/settings.json",
1693
+ format: "json",
1694
+ gitignored: false,
1695
+ },
1696
+ {
1697
+ scope: "project",
1698
+ path: ".gemini/settings.json",
1699
+ format: "json",
1700
+ gitignored: false,
1701
+ },
1702
+ ],
1703
+ grammar: {
1704
+ style: "prefix",
1705
+ example: "run_shell_command(axm)",
1706
+ notes: "tools.core is prefix-matched and currently documented in docs/tools/shell.md. The newer Policy Engine is replacing --allowed-tools; tools.core is still functional but transitional.\n",
1707
+ },
1708
+ prerequisites: [
1709
+ {
1710
+ key: "security.folderTrust.enabled",
1711
+ value: "true",
1712
+ scope: "user",
1713
+ note: "Untrusted folders disable all auto-acceptance regardless of other settings.",
1714
+ },
1715
+ ],
1716
+ cliFlags: [
1717
+ {
1718
+ flag: "--approval-mode=yolo",
1719
+ note: "Broad bypass; not tool-scoped. Blocked when security.disableYoloMode=true.",
1720
+ },
1721
+ {
1722
+ flag: "--yolo",
1723
+ note: "Alias for --approval-mode=yolo.",
1724
+ },
1725
+ ],
1726
+ grants: {
1727
+ shell: {
1728
+ target: "~/.gemini/settings.json",
1729
+ patch: {
1730
+ security: {
1731
+ folderTrust: {
1732
+ enabled: true,
1733
+ },
1734
+ enablePermanentToolApproval: true,
1735
+ },
1736
+ tools: {
1737
+ core: ["run_shell_command(${tool})"],
1738
+ },
1739
+ },
1740
+ },
1741
+ },
1742
+ },
399
1743
  },
400
1744
  "github-copilot": {
401
1745
  id: "github-copilot",
@@ -410,6 +1754,25 @@ export const AGENTS_BY_ID = {
410
1754
  url: "https://docs.github.com/en/copilot",
411
1755
  },
412
1756
  ],
1757
+ skills: {
1758
+ support: "standard",
1759
+ notes: "VS Code agent mode, the Copilot CLI, and the cloud agent read SKILL.md skills from .github/skills (project) and ~/.copilot/skills (user); .claude/skills is also recognized.\n",
1760
+ sources: [
1761
+ "https://code.visualstudio.com/docs/copilot/customization/agent-skills",
1762
+ "https://docs.github.com/en/copilot/concepts/agents/about-agent-skills",
1763
+ ],
1764
+ lastVerified: "2026-05-18",
1765
+ scopes: ["user", "project"],
1766
+ directory: ".github/skills",
1767
+ },
1768
+ commands: {
1769
+ support: "bridged",
1770
+ notes: "VS Code Copilot prompt files (.prompt.md) act as slash commands under .github/prompts; the Copilot CLI does not yet support custom commands.\n",
1771
+ sources: ["https://code.visualstudio.com/docs/copilot/customization/prompt-files"],
1772
+ lastVerified: "2026-05-18",
1773
+ scopes: ["user", "project"],
1774
+ directory: ".github/prompts",
1775
+ },
413
1776
  mcp: {
414
1777
  support: "standard",
415
1778
  sources: [
@@ -418,6 +1781,39 @@ export const AGENTS_BY_ID = {
418
1781
  lastVerified: "2026-05-16",
419
1782
  scopes: ["user", "project"],
420
1783
  transports: ["stdio", "http", "sse"],
1784
+ config: {
1785
+ serversKey: "servers",
1786
+ nativeEnabled: false,
1787
+ targets: [
1788
+ {
1789
+ scope: "project",
1790
+ path: ".vscode/mcp.json",
1791
+ format: "json",
1792
+ },
1793
+ ],
1794
+ stdio: {
1795
+ typeField: {
1796
+ name: "type",
1797
+ value: "stdio",
1798
+ },
1799
+ command: "split",
1800
+ envKey: "env",
1801
+ },
1802
+ remote: {
1803
+ typeField: {
1804
+ name: "type",
1805
+ value: {
1806
+ "streamable-http": "http",
1807
+ sse: "sse",
1808
+ },
1809
+ },
1810
+ urlKey: {
1811
+ "streamable-http": "url",
1812
+ sse: "url",
1813
+ },
1814
+ headersKey: "headers",
1815
+ },
1816
+ },
421
1817
  },
422
1818
  subagents: {
423
1819
  support: "bridged",
@@ -433,6 +1829,287 @@ export const AGENTS_BY_ID = {
433
1829
  files: ["AGENTS.md", ".github/copilot-instructions.md"],
434
1830
  nestedDiscovery: false,
435
1831
  },
1832
+ permissions: {
1833
+ support: "standard",
1834
+ sources: [
1835
+ "https://code.visualstudio.com/docs/copilot/reference/copilot-settings",
1836
+ "https://code.visualstudio.com/docs/copilot/chat/chat-agent-mode",
1837
+ "https://code.visualstudio.com/docs/copilot/agents/agent-tools",
1838
+ "https://docs.github.com/en/copilot/concepts/agents/coding-agent",
1839
+ ],
1840
+ lastVerified: "2026-05-18",
1841
+ scopes: ["user", "project"],
1842
+ mechanism: ["config-file"],
1843
+ configFiles: [
1844
+ {
1845
+ scope: "user",
1846
+ path: "~/Library/Application Support/Code/User/settings.json",
1847
+ format: "vscode-settings",
1848
+ gitignored: false,
1849
+ },
1850
+ {
1851
+ scope: "project",
1852
+ path: ".vscode/settings.json",
1853
+ format: "vscode-settings",
1854
+ gitignored: false,
1855
+ },
1856
+ ],
1857
+ grammar: {
1858
+ style: "regex",
1859
+ example: '"/^axm(\\\\s|$)/": true',
1860
+ notes: "chat.tools.terminal.autoApprove keys are literal command names or /regex/ patterns mapping to bool. Default deny rules for rm, chmod, etc. remain active unless chat.tools.terminal.ignoreDefaultAutoApproveRules is set.\n",
1861
+ },
1862
+ cliFlags: [],
1863
+ grants: {
1864
+ shell: {
1865
+ target: ".vscode/settings.json",
1866
+ patch: {
1867
+ "chat.tools.terminal.autoApprove": {
1868
+ "${tool}": true,
1869
+ "/^${tool}(\\s|$)/": true,
1870
+ },
1871
+ },
1872
+ },
1873
+ filesystem: {
1874
+ target: ".vscode/settings.json",
1875
+ patch: {
1876
+ "chat.tools.edits.autoApprove": {
1877
+ "**/*": true,
1878
+ },
1879
+ },
1880
+ },
1881
+ },
1882
+ },
1883
+ },
1884
+ "grok-cli": {
1885
+ id: "grok-cli",
1886
+ name: "Grok CLI",
1887
+ vendor: "xAI",
1888
+ homepage: "https://x.ai/cli",
1889
+ interfaces: ["cli"],
1890
+ family: "xai",
1891
+ docs: [
1892
+ {
1893
+ label: "Grok CLI documentation",
1894
+ url: "https://docs.x.ai/build/overview",
1895
+ },
1896
+ ],
1897
+ skills: {
1898
+ support: "standard",
1899
+ notes: "Reads SKILL.md Agent Skills from project (.grok/skills) and user (~/.grok/skills, ~/.agents/skills) locations, plus additional paths configured via [skills] in ~/.grok/config.toml.\n",
1900
+ sources: ["https://docs.x.ai/build/features/skills-plugins-marketplaces"],
1901
+ lastVerified: "2026-05-19",
1902
+ scopes: ["user", "project"],
1903
+ directory: ".grok/skills",
1904
+ },
1905
+ mcp: {
1906
+ support: "bridged",
1907
+ notes: "MCP servers are managed with `grok mcp add/remove/list` or under the mcpServers key in .grok/settings.json. Recorded as bridged because the prescriptive config dialect has not been verified against xAI docs.\n",
1908
+ sources: ["https://docs.x.ai/build/modes-and-commands"],
1909
+ lastVerified: "2026-05-19",
1910
+ scopes: ["user", "project"],
1911
+ transports: ["stdio", "http", "sse"],
1912
+ },
1913
+ instructions: {
1914
+ support: "standard",
1915
+ notes: "AGENTS.md files are merged from the git root down to the working directory, with AGENTS.override.md taking precedence per directory.\n",
1916
+ sources: ["https://docs.x.ai/build/overview"],
1917
+ lastVerified: "2026-05-19",
1918
+ scopes: ["user", "project"],
1919
+ files: ["AGENTS.md"],
1920
+ nestedDiscovery: true,
1921
+ },
1922
+ },
1923
+ "ibm-bob": {
1924
+ id: "ibm-bob",
1925
+ name: "IBM Bob",
1926
+ vendor: "IBM",
1927
+ homepage: "https://bob.ibm.com",
1928
+ interfaces: ["ide-extension", "cli"],
1929
+ docs: [
1930
+ {
1931
+ label: "IBM Bob documentation",
1932
+ url: "https://bob.ibm.com/docs/ide",
1933
+ },
1934
+ ],
1935
+ mcp: {
1936
+ support: "standard",
1937
+ notes: "Project servers live in .bob/mcp.json; user servers in ~/.bob/mcp_settings.json. Both files key entries under mcpServers. Remote entries carry a url field with no type discriminator; SSE is documented as legacy alongside streamable HTTP.\n",
1938
+ sources: ["https://bob.ibm.com/docs/ide/configuration/mcp/mcp-in-bob"],
1939
+ lastVerified: "2026-05-19",
1940
+ scopes: ["user", "project"],
1941
+ transports: ["stdio", "http", "sse"],
1942
+ config: {
1943
+ serversKey: "mcpServers",
1944
+ nativeEnabled: false,
1945
+ targets: [
1946
+ {
1947
+ scope: "user",
1948
+ path: "~/.bob/mcp_settings.json",
1949
+ format: "json",
1950
+ },
1951
+ {
1952
+ scope: "project",
1953
+ path: ".bob/mcp.json",
1954
+ format: "json",
1955
+ },
1956
+ ],
1957
+ stdio: {
1958
+ command: "split",
1959
+ envKey: "env",
1960
+ },
1961
+ remote: {
1962
+ urlKey: {
1963
+ "streamable-http": "url",
1964
+ sse: "url",
1965
+ },
1966
+ headersKey: "headers",
1967
+ },
1968
+ },
1969
+ },
1970
+ subagents: {
1971
+ support: "bridged",
1972
+ notes: "Bob custom modes are YAML entries (slug, name, roleDefinition, groups, customInstructions) in .bob/custom_modes.yaml (project) or the global custom_modes.yaml (user). Recorded as bridged because subagent-style extensions have no industry spec standard.\n",
1973
+ sources: ["https://bob.ibm.com/docs/ide/configuration/custom-modes"],
1974
+ lastVerified: "2026-05-19",
1975
+ scopes: ["user", "project"],
1976
+ },
1977
+ instructions: {
1978
+ support: "standard",
1979
+ notes: "Bob automatically loads AGENTS.md from the workspace root.\n",
1980
+ sources: ["https://bob.ibm.com/docs/ide/configuration/rules"],
1981
+ lastVerified: "2026-05-19",
1982
+ scopes: ["project"],
1983
+ files: ["AGENTS.md"],
1984
+ nestedDiscovery: false,
1985
+ },
1986
+ rules: {
1987
+ support: "bridged",
1988
+ notes: "Custom rules load from .bob/rules (project) and ~/.bob/rules (user). The legacy single-file .bobrules and mode-scoped .bob/rules-{mode} directories are also supported.\n",
1989
+ sources: ["https://bob.ibm.com/docs/ide/configuration/rules"],
1990
+ lastVerified: "2026-05-19",
1991
+ scopes: ["user", "project"],
1992
+ directory: ".bob/rules",
1993
+ },
1994
+ },
1995
+ opencode: {
1996
+ id: "opencode",
1997
+ name: "OpenCode",
1998
+ vendor: "SST",
1999
+ homepage: "https://opencode.ai",
2000
+ interfaces: ["cli"],
2001
+ docs: [
2002
+ {
2003
+ label: "OpenCode documentation",
2004
+ url: "https://opencode.ai/docs",
2005
+ },
2006
+ ],
2007
+ mcp: {
2008
+ support: "standard",
2009
+ sources: ["https://opencode.ai/docs/mcp-servers/", "https://opencode.ai/docs/config/"],
2010
+ lastVerified: "2026-05-18",
2011
+ scopes: ["user", "project"],
2012
+ transports: ["stdio", "http"],
2013
+ config: {
2014
+ serversKey: "mcp",
2015
+ nativeEnabled: true,
2016
+ targets: [
2017
+ {
2018
+ scope: "project",
2019
+ path: "opencode.jsonc",
2020
+ format: "jsonc",
2021
+ },
2022
+ {
2023
+ scope: "user",
2024
+ path: "~/.config/opencode/opencode.json",
2025
+ format: "json",
2026
+ },
2027
+ ],
2028
+ stdio: {
2029
+ typeField: {
2030
+ name: "type",
2031
+ value: "local",
2032
+ },
2033
+ command: "array",
2034
+ envKey: "environment",
2035
+ },
2036
+ remote: {
2037
+ typeField: {
2038
+ name: "type",
2039
+ value: {
2040
+ "streamable-http": "remote",
2041
+ sse: "remote",
2042
+ },
2043
+ },
2044
+ urlKey: {
2045
+ "streamable-http": "url",
2046
+ sse: "url",
2047
+ },
2048
+ headersKey: "headers",
2049
+ },
2050
+ },
2051
+ },
2052
+ },
2053
+ pi: {
2054
+ id: "pi",
2055
+ name: "Pi",
2056
+ vendor: "Mario Zechner",
2057
+ homepage: "https://github.com/badlogic/pi-mono",
2058
+ interfaces: ["cli"],
2059
+ docs: [
2060
+ {
2061
+ label: "Pi coding agent documentation",
2062
+ url: "https://github.com/badlogic/pi-mono/blob/main/packages/coding-agent/README.md",
2063
+ },
2064
+ ],
2065
+ skills: {
2066
+ support: "standard",
2067
+ notes: "Skills follow the Agent Skills SKILL.md standard and are invoked via /skill:name. Pi discovers them from .pi/skills and .agents/skills (project, searched up through parent directories) and ~/.pi/agent/skills and ~/.agents/skills (user).\n",
2068
+ sources: ["https://github.com/badlogic/pi-mono/blob/main/packages/coding-agent/README.md"],
2069
+ lastVerified: "2026-05-18",
2070
+ scopes: ["user", "project"],
2071
+ directory: ".pi/skills",
2072
+ },
2073
+ commands: {
2074
+ support: "bridged",
2075
+ notes: "Custom slash commands are Markdown prompt templates with {{variable}} interpolation, expanded via /templatename. Stored in .pi/prompts (project) or ~/.pi/agent/prompts (user). Recorded as bridged because prompt templates have no industry spec standard.\n",
2076
+ sources: ["https://github.com/badlogic/pi-mono/blob/main/packages/coding-agent/README.md"],
2077
+ lastVerified: "2026-05-18",
2078
+ scopes: ["user", "project"],
2079
+ directory: ".pi/prompts",
2080
+ },
2081
+ mcp: {
2082
+ support: "unsupported",
2083
+ notes: 'Pi ships a deliberate "no MCP" core with only four built-in tools (read, write, edit, bash). MCP can only be added by installing or building a TypeScript extension; there is no native MCP server configuration.\n',
2084
+ sources: ["https://github.com/badlogic/pi-mono/blob/main/packages/coding-agent/README.md"],
2085
+ lastVerified: "2026-05-18",
2086
+ scopes: [],
2087
+ transports: [],
2088
+ },
2089
+ subagents: {
2090
+ support: "unsupported",
2091
+ notes: "Pi has no built-in subagent system by design. Multi-agent workflows are expected to be composed externally (e.g. spawning pi instances under tmux) or via a TypeScript extension.\n",
2092
+ sources: ["https://github.com/badlogic/pi-mono/blob/main/packages/coding-agent/README.md"],
2093
+ lastVerified: "2026-05-18",
2094
+ scopes: [],
2095
+ },
2096
+ instructions: {
2097
+ support: "standard",
2098
+ notes: "AGENTS.md and CLAUDE.md context files load at startup from the global directory (~/.pi/agent), parent directories, and the current directory; all matching files are concatenated.\n",
2099
+ sources: ["https://github.com/badlogic/pi-mono/blob/main/packages/coding-agent/README.md"],
2100
+ lastVerified: "2026-05-18",
2101
+ scopes: ["user", "project"],
2102
+ files: ["AGENTS.md", "CLAUDE.md"],
2103
+ nestedDiscovery: true,
2104
+ },
2105
+ permissions: {
2106
+ support: "unsupported",
2107
+ notes: "Pi has no per-call approval prompts and no permission config file. Tools run without confirmation; the philosophy is to run pi in a container or supply a confirmation flow via extension. Tool availability is selected at invocation with --tools and --no-builtin-tools, but this is tool enablement rather than a permission-grant surface.\n",
2108
+ sources: ["https://github.com/badlogic/pi-mono/blob/main/packages/coding-agent/README.md"],
2109
+ lastVerified: "2026-05-18",
2110
+ scopes: [],
2111
+ mechanism: [],
2112
+ },
436
2113
  },
437
2114
  windsurf: {
438
2115
  id: "windsurf",
@@ -447,12 +2124,50 @@ export const AGENTS_BY_ID = {
447
2124
  url: "https://docs.windsurf.com",
448
2125
  },
449
2126
  ],
2127
+ skills: {
2128
+ support: "standard",
2129
+ notes: "Cascade reads SKILL.md skills from .windsurf/skills (project) and ~/.codeium/windsurf/skills (user) with progressive disclosure.\n",
2130
+ sources: ["https://docs.windsurf.com/windsurf/cascade/skills"],
2131
+ lastVerified: "2026-05-18",
2132
+ scopes: ["user", "project"],
2133
+ directory: ".windsurf/skills",
2134
+ },
2135
+ commands: {
2136
+ support: "bridged",
2137
+ notes: "Windsurf Workflows are slash-command-invoked Markdown prompts under .windsurf/workflows (project) and ~/.codeium/windsurf/global_workflows (user).\n",
2138
+ sources: ["https://docs.windsurf.com/windsurf/cascade/workflows"],
2139
+ lastVerified: "2026-05-18",
2140
+ scopes: ["user", "project"],
2141
+ directory: ".windsurf/workflows",
2142
+ },
450
2143
  mcp: {
451
2144
  support: "standard",
452
2145
  sources: ["https://docs.windsurf.com/windsurf/cascade/mcp"],
453
2146
  lastVerified: "2026-05-16",
454
2147
  scopes: ["user", "project"],
455
2148
  transports: ["stdio"],
2149
+ config: {
2150
+ serversKey: "mcpServers",
2151
+ nativeEnabled: false,
2152
+ targets: [
2153
+ {
2154
+ scope: "user",
2155
+ path: "~/.codeium/windsurf/mcp_config.json",
2156
+ format: "json",
2157
+ },
2158
+ ],
2159
+ stdio: {
2160
+ command: "split",
2161
+ envKey: "env",
2162
+ },
2163
+ },
2164
+ },
2165
+ subagents: {
2166
+ support: "unsupported",
2167
+ notes: "Cascade exposes only built-in and internal subagents plus multi-agent sessions; no user-authorable custom subagent extension type is documented.\n",
2168
+ sources: ["https://docs.windsurf.com/windsurf/cascade/agents-md"],
2169
+ lastVerified: "2026-05-18",
2170
+ scopes: [],
456
2171
  },
457
2172
  instructions: {
458
2173
  support: "standard",
@@ -469,6 +2184,45 @@ export const AGENTS_BY_ID = {
469
2184
  scopes: ["user", "project"],
470
2185
  directory: ".windsurf/rules",
471
2186
  },
2187
+ permissions: {
2188
+ support: "standard",
2189
+ sources: [
2190
+ "https://docs.windsurf.com/windsurf/terminal",
2191
+ "https://docs.windsurf.com/windsurf/cascade",
2192
+ ],
2193
+ lastVerified: "2026-05-18",
2194
+ scopes: ["user"],
2195
+ mechanism: ["config-file", "ui-only"],
2196
+ configFiles: [
2197
+ {
2198
+ scope: "user",
2199
+ path: "VS Code settings (Settings UI)",
2200
+ format: "vscode-settings",
2201
+ gitignored: false,
2202
+ },
2203
+ ],
2204
+ grammar: {
2205
+ style: "prefix",
2206
+ example: "axm",
2207
+ notes: "windsurf.cascadeCommandsAllowList is prefix-matched. Workspace-scoped override for these keys is not documented; configure at user scope. Teams/Enterprise can merge in lists via the Admin Portal.\n",
2208
+ },
2209
+ prerequisites: [
2210
+ {
2211
+ key: "Cascade auto-execution level",
2212
+ value: "allowlist_only | turbo",
2213
+ scope: "user",
2214
+ note: "Disabled and Auto modes ignore allowlist entries; set via the Windsurf Settings panel.",
2215
+ },
2216
+ ],
2217
+ grants: {
2218
+ shell: {
2219
+ target: "VS Code settings",
2220
+ patch: {
2221
+ "windsurf.cascadeCommandsAllowList": ["${tool}"],
2222
+ },
2223
+ },
2224
+ },
2225
+ },
472
2226
  },
473
2227
  };
474
2228
  //# sourceMappingURL=catalog.generated.js.map