@agentxm/client-core 0.5.3 → 0.6.2

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 (89) hide show
  1. package/dist/src/unstable/auth/auth-client.d.ts +17 -3
  2. package/dist/src/unstable/auth/auth-client.d.ts.map +1 -1
  3. package/dist/src/unstable/auth/auth-client.js +127 -58
  4. package/dist/src/unstable/auth/auth-client.js.map +1 -1
  5. package/dist/src/unstable/auth/credential-store.d.ts +5 -4
  6. package/dist/src/unstable/auth/credential-store.d.ts.map +1 -1
  7. package/dist/src/unstable/auth/credential-store.js +115 -9
  8. package/dist/src/unstable/auth/credential-store.js.map +1 -1
  9. package/dist/src/unstable/auth/device-login.d.ts +4 -1
  10. package/dist/src/unstable/auth/device-login.d.ts.map +1 -1
  11. package/dist/src/unstable/auth/device-login.js +13 -15
  12. package/dist/src/unstable/auth/device-login.js.map +1 -1
  13. package/dist/src/unstable/auth/index.d.ts +4 -1
  14. package/dist/src/unstable/auth/index.d.ts.map +1 -1
  15. package/dist/src/unstable/auth/index.js +3 -0
  16. package/dist/src/unstable/auth/index.js.map +1 -1
  17. package/dist/src/unstable/auth/login-strategy.d.ts +21 -0
  18. package/dist/src/unstable/auth/login-strategy.d.ts.map +1 -0
  19. package/dist/src/unstable/auth/login-strategy.js +25 -0
  20. package/dist/src/unstable/auth/login-strategy.js.map +1 -0
  21. package/dist/src/unstable/auth/loopback-login.d.ts +16 -0
  22. package/dist/src/unstable/auth/loopback-login.d.ts.map +1 -0
  23. package/dist/src/unstable/auth/loopback-login.js +86 -0
  24. package/dist/src/unstable/auth/loopback-login.js.map +1 -0
  25. package/dist/src/unstable/auth/loopback-server.d.ts +36 -0
  26. package/dist/src/unstable/auth/loopback-server.d.ts.map +1 -0
  27. package/dist/src/unstable/auth/loopback-server.js +136 -0
  28. package/dist/src/unstable/auth/loopback-server.js.map +1 -0
  29. package/dist/src/unstable/commands/operations/publish.js +1 -1
  30. package/dist/src/unstable/commands/operations/publish.js.map +1 -1
  31. package/dist/src/unstable/extensions/common.d.ts.map +1 -1
  32. package/dist/src/unstable/extensions/common.js +6 -1
  33. package/dist/src/unstable/extensions/common.js.map +1 -1
  34. package/dist/src/unstable/lint/catalog/workspace/settings-schema-valid.d.ts +1 -2
  35. package/dist/src/unstable/lint/catalog/workspace/settings-schema-valid.d.ts.map +1 -1
  36. package/dist/src/unstable/lint/catalog/workspace/settings-schema-valid.js +1 -2
  37. package/dist/src/unstable/lint/catalog/workspace/settings-schema-valid.js.map +1 -1
  38. package/dist/src/unstable/lint/config.d.ts +1 -1
  39. package/dist/src/unstable/lint/config.d.ts.map +1 -1
  40. package/dist/src/unstable/lint/config.js +7 -4
  41. package/dist/src/unstable/lint/config.js.map +1 -1
  42. package/dist/src/unstable/mcp-servers/operations/publish.js +1 -1
  43. package/dist/src/unstable/mcp-servers/operations/publish.js.map +1 -1
  44. package/dist/src/unstable/packs/operations/publish.js +1 -1
  45. package/dist/src/unstable/packs/operations/publish.js.map +1 -1
  46. package/dist/src/unstable/registry/__generated__/registry-client.d.ts +170 -96
  47. package/dist/src/unstable/registry/__generated__/registry-client.d.ts.map +1 -1
  48. package/dist/src/unstable/registry/__generated__/registry-client.js +152 -64
  49. package/dist/src/unstable/registry/__generated__/registry-client.js.map +1 -1
  50. package/dist/src/unstable/settings/index.d.ts +2 -2
  51. package/dist/src/unstable/settings/index.d.ts.map +1 -1
  52. package/dist/src/unstable/settings/index.js +1 -1
  53. package/dist/src/unstable/settings/index.js.map +1 -1
  54. package/dist/src/unstable/settings/schema.d.ts +121 -68
  55. package/dist/src/unstable/settings/schema.d.ts.map +1 -1
  56. package/dist/src/unstable/settings/schema.js +268 -89
  57. package/dist/src/unstable/settings/schema.js.map +1 -1
  58. package/dist/src/unstable/settings/settings.d.ts.map +1 -1
  59. package/dist/src/unstable/settings/settings.js +17 -1
  60. package/dist/src/unstable/settings/settings.js.map +1 -1
  61. package/dist/src/unstable/skills/operations/publish.js +1 -1
  62. package/dist/src/unstable/skills/operations/publish.js.map +1 -1
  63. package/dist/src/unstable/subagents/operations/publish.js +1 -1
  64. package/dist/src/unstable/subagents/operations/publish.js.map +1 -1
  65. package/dist/src/unstable/telemetry/__generated__/telemetry-client.d.ts +3 -0
  66. package/dist/src/unstable/telemetry/__generated__/telemetry-client.d.ts.map +1 -1
  67. package/dist/src/unstable/telemetry/__generated__/telemetry-client.js +1 -0
  68. package/dist/src/unstable/telemetry/__generated__/telemetry-client.js.map +1 -1
  69. package/dist/src/unstable/telemetry/client.d.ts.map +1 -1
  70. package/dist/src/unstable/telemetry/client.js +9 -1
  71. package/dist/src/unstable/telemetry/client.js.map +1 -1
  72. package/dist/src/unstable/utils/build-zip-archive.d.ts +8 -7
  73. package/dist/src/unstable/utils/build-zip-archive.d.ts.map +1 -1
  74. package/dist/src/unstable/utils/build-zip-archive.js +42 -52
  75. package/dist/src/unstable/utils/build-zip-archive.js.map +1 -1
  76. package/dist/src/unstable/workspace/initialization.d.ts +120 -88
  77. package/dist/src/unstable/workspace/initialization.d.ts.map +1 -1
  78. package/dist/src/unstable/workspace/read-model/state.d.ts.map +1 -1
  79. package/dist/src/unstable/workspace/read-model/state.js +11 -0
  80. package/dist/src/unstable/workspace/read-model/state.js.map +1 -1
  81. package/dist/src/unstable/workspace/read-model-record-readers.d.ts.map +1 -1
  82. package/dist/src/unstable/workspace/read-model-record-readers.js +8 -5
  83. package/dist/src/unstable/workspace/read-model-record-readers.js.map +1 -1
  84. package/dist/src/unstable/workspace/service.js +4 -4
  85. package/dist/src/unstable/workspace/service.js.map +1 -1
  86. package/package.json +5 -2
  87. package/site-content/__generated__/schemas/settings.schema.json +391 -217
  88. package/site-content/docs/quickstart.md +4 -1
  89. package/site-content/install.md +4 -3
@@ -1,7 +1,13 @@
1
1
  {
2
2
  "$schema": "http://json-schema.org/draft-07/schema#",
3
- "$ref": "#/definitions/Settings",
3
+ "$ref": "#/definitions/AxmSettings",
4
4
  "definitions": {
5
+ "TelemetryMode": {
6
+ "anyOf": [{ "type": "boolean" }, { "type": "string", "enum": ["errors"] }],
7
+ "title": "Telemetry Mode",
8
+ "description": "`true` sends usage and error telemetry, `\"errors\"` sends only errors, and `false` disables telemetry.",
9
+ "examples": [true, "errors", false]
10
+ },
5
11
  "Handle": {
6
12
  "type": "string",
7
13
  "allOf": [
@@ -13,13 +19,60 @@
13
19
  }
14
20
  ]
15
21
  },
22
+ "AgentId": {
23
+ "type": "string",
24
+ "enum": [
25
+ "adal",
26
+ "amp",
27
+ "antigravity",
28
+ "augment",
29
+ "claude-code",
30
+ "cline",
31
+ "codebuddy",
32
+ "codex",
33
+ "command-code",
34
+ "continue",
35
+ "crush",
36
+ "cursor",
37
+ "droid",
38
+ "gemini-cli",
39
+ "github-copilot",
40
+ "goose",
41
+ "iflow-cli",
42
+ "junie",
43
+ "kilo",
44
+ "kimi-cli",
45
+ "kiro-cli",
46
+ "kode",
47
+ "mcpjam",
48
+ "mistral-vibe",
49
+ "mux",
50
+ "neovate",
51
+ "openclaw",
52
+ "opencode",
53
+ "openhands",
54
+ "pi",
55
+ "pochi",
56
+ "qoder",
57
+ "qwen-code",
58
+ "replit",
59
+ "roo",
60
+ "trae",
61
+ "trae-cn",
62
+ "windsurf",
63
+ "zencoder"
64
+ ],
65
+ "title": "Agent ID",
66
+ "description": "Supported coding agent identifier used in `.axm/settings.json` `agents`.",
67
+ "examples": ["claude-code", "codex", "cursor"]
68
+ },
16
69
  "SourceName": {
17
70
  "type": "string",
18
71
  "allOf": [
19
72
  {
20
73
  "pattern": "^[a-z0-9][a-z0-9.-]*$",
21
74
  "title": "Source Name",
22
- "description": "A source name using lowercase letters, numbers, hyphens, and dots (e.g. github, my-registry.dev).",
75
+ "description": "Alias used in entry source strings for this source host.",
23
76
  "examples": ["github", "my-registry.dev"]
24
77
  }
25
78
  ]
@@ -34,7 +87,7 @@
34
87
  "required": ["name", "type", "url"],
35
88
  "additionalProperties": false,
36
89
  "title": "GitHub Source Host",
37
- "description": "Configuration for a GitHub source."
90
+ "description": "A GitHub source host."
38
91
  },
39
92
  "GitLabSourceHostConfig": {
40
93
  "type": "object",
@@ -46,7 +99,7 @@
46
99
  "required": ["name", "type", "url"],
47
100
  "additionalProperties": false,
48
101
  "title": "GitLab Source Host",
49
- "description": "Configuration for a GitLab source."
102
+ "description": "A GitLab source host."
50
103
  },
51
104
  "BitbucketSourceHostConfig": {
52
105
  "type": "object",
@@ -58,7 +111,7 @@
58
111
  "required": ["name", "type", "url"],
59
112
  "additionalProperties": false,
60
113
  "title": "Bitbucket Source Host",
61
- "description": "Configuration for a Bitbucket source."
114
+ "description": "A Bitbucket source host."
62
115
  },
63
116
  "AzureReposSourceHostConfig": {
64
117
  "type": "object",
@@ -70,7 +123,7 @@
70
123
  "required": ["name", "type", "url"],
71
124
  "additionalProperties": false,
72
125
  "title": "Azure Repos Source Host",
73
- "description": "Configuration for an Azure Repos source."
126
+ "description": "An Azure Repos source host."
74
127
  },
75
128
  "RegistrySourceHostConfig": {
76
129
  "type": "object",
@@ -82,7 +135,7 @@
82
135
  "required": ["name", "type", "location"],
83
136
  "additionalProperties": false,
84
137
  "title": "Registry Source Host",
85
- "description": "Configuration for a package registry source."
138
+ "description": "A package registry source host."
86
139
  },
87
140
  "SourceHostConfig": {
88
141
  "anyOf": [
@@ -93,206 +146,322 @@
93
146
  { "$ref": "#/definitions/RegistrySourceHostConfig" }
94
147
  ],
95
148
  "title": "Source Host Config",
96
- "description": "Where extensions are fetched from — GitHub, GitLab, Bitbucket, Azure Repos, or a package registry."
149
+ "description": "A source host configuration: GitHub, GitLab, Bitbucket, Azure Repos, or a package registry."
97
150
  },
98
- "CommandEntryObject": {
99
- "type": "object",
100
- "properties": {
101
- "source": { "type": "string", "allOf": [{ "minLength": 1 }] },
102
- "enabled": {
103
- "anyOf": [
104
- {
151
+ "SkillEntry": {
152
+ "anyOf": [
153
+ { "type": "string" },
154
+ {
155
+ "type": "object",
156
+ "properties": {
157
+ "source": {
158
+ "type": "string",
159
+ "allOf": [
160
+ {
161
+ "minLength": 1,
162
+ "description": "FQN with optional version constraint, source-scheme ref like github:owner/repo, or local path.",
163
+ "examples": [
164
+ "@acme/skills/code-review@^1.0.0",
165
+ "github:acme/agent-extensions",
166
+ "./extensions/code-review"
167
+ ]
168
+ }
169
+ ]
170
+ },
171
+ "enabled": {
105
172
  "type": "boolean",
106
- "description": "Whether this entry is enabled. Defaults to true when omitted.",
173
+ "description": "Set to false to disable this entry. Omit otherwise — true is the default and should not be written explicitly.",
107
174
  "default": true
108
175
  },
109
- { "type": "null" }
110
- ]
111
- },
112
- "authored": {
113
- "anyOf": [
114
- {
176
+ "authored": {
115
177
  "type": "boolean",
116
- "description": "Whether this entry was authored locally. Defaults to false when omitted.",
178
+ "description": "Set to true to mark this entry as authored locally in this workspace. Omit otherwise false is the default and should not be written explicitly.",
117
179
  "default": false
118
- },
119
- { "type": "null" }
120
- ]
180
+ }
181
+ },
182
+ "required": ["source"],
183
+ "additionalProperties": false,
184
+ "title": "Skill Entry Object",
185
+ "description": "A skill entry with source and optional enabled/authored flags."
186
+ }
187
+ ],
188
+ "title": "Skill Entry",
189
+ "description": "A skill entry: a source string, or an object with source plus optional flags.",
190
+ "examples": [
191
+ "@acme/skills/code-review@^1.0.0",
192
+ { "source": "github:acme/agent-extensions", "enabled": false }
193
+ ]
194
+ },
195
+ "SkillsMap": {
196
+ "type": "object",
197
+ "title": "Skills Map",
198
+ "description": "A map of skill names to skill entries.",
199
+ "propertyNames": { "pattern": "^[a-z0-9](?:[a-z0-9-]{0,62}[a-z0-9])?$" },
200
+ "additionalProperties": { "$ref": "#/definitions/SkillEntry" }
201
+ },
202
+ "SkillsConfig": {
203
+ "type": "object",
204
+ "properties": {
205
+ "ignore": {
206
+ "type": "array",
207
+ "description": "Installed skill names AXM should leave unmanaged.",
208
+ "examples": [["local-*", "legacy-helper"]],
209
+ "items": { "type": "string" }
121
210
  }
122
211
  },
123
- "required": ["source"],
124
212
  "additionalProperties": false,
125
- "title": "Command Entry Object",
126
- "description": "A command with its source location and whether it's enabled."
213
+ "title": "Skills Config",
214
+ "description": "Feature-level configuration for skills."
127
215
  },
128
216
  "CommandEntry": {
129
- "anyOf": [{ "type": "string" }, { "$ref": "#/definitions/CommandEntryObject" }]
217
+ "anyOf": [
218
+ { "type": "string" },
219
+ {
220
+ "type": "object",
221
+ "properties": {
222
+ "source": {
223
+ "type": "string",
224
+ "allOf": [
225
+ {
226
+ "minLength": 1,
227
+ "description": "FQN with optional version constraint, source-scheme ref like github:owner/repo, or local path.",
228
+ "examples": [
229
+ "@acme/commands/code-review@^1.0.0",
230
+ "github:acme/agent-extensions",
231
+ "./extensions/code-review"
232
+ ]
233
+ }
234
+ ]
235
+ },
236
+ "enabled": {
237
+ "type": "boolean",
238
+ "description": "Set to false to disable this entry. Omit otherwise — true is the default and should not be written explicitly.",
239
+ "default": true
240
+ },
241
+ "authored": {
242
+ "type": "boolean",
243
+ "description": "Set to true to mark this entry as authored locally in this workspace. Omit otherwise — false is the default and should not be written explicitly.",
244
+ "default": false
245
+ }
246
+ },
247
+ "required": ["source"],
248
+ "additionalProperties": false,
249
+ "title": "Command Entry Object",
250
+ "description": "A command entry with source and optional enabled/authored flags."
251
+ }
252
+ ],
253
+ "title": "Command Entry",
254
+ "description": "A command entry: a source string, or an object with source plus optional flags.",
255
+ "examples": [
256
+ "@acme/commands/code-review@^1.0.0",
257
+ { "source": "github:acme/agent-extensions", "enabled": false }
258
+ ]
130
259
  },
131
260
  "CommandsMap": {
132
261
  "type": "object",
133
262
  "title": "Commands Map",
134
- "description": "Your installed commands, keyed by name.",
263
+ "description": "A map of command names to command entries.",
135
264
  "propertyNames": { "pattern": "^[a-z0-9](?:[a-z0-9-]{0,62}[a-z0-9])?$" },
136
265
  "additionalProperties": { "$ref": "#/definitions/CommandEntry" }
137
266
  },
138
- "SubagentEntryObject": {
267
+ "CommandsConfig": {
139
268
  "type": "object",
140
269
  "properties": {
141
- "source": { "type": "string", "allOf": [{ "minLength": 1 }] },
142
- "enabled": {
143
- "anyOf": [
144
- {
270
+ "ignore": {
271
+ "type": "array",
272
+ "description": "Installed command names AXM should leave unmanaged.",
273
+ "examples": [["local-*", "legacy-helper"]],
274
+ "items": { "type": "string" }
275
+ }
276
+ },
277
+ "additionalProperties": false,
278
+ "title": "Commands Config",
279
+ "description": "Feature-level configuration for commands."
280
+ },
281
+ "SubagentEntry": {
282
+ "anyOf": [
283
+ { "type": "string" },
284
+ {
285
+ "type": "object",
286
+ "properties": {
287
+ "source": {
288
+ "type": "string",
289
+ "allOf": [
290
+ {
291
+ "minLength": 1,
292
+ "description": "FQN with optional version constraint, source-scheme ref like github:owner/repo, or local path.",
293
+ "examples": [
294
+ "@acme/subagents/code-review@^1.0.0",
295
+ "github:acme/agent-extensions",
296
+ "./extensions/code-review"
297
+ ]
298
+ }
299
+ ]
300
+ },
301
+ "enabled": {
145
302
  "type": "boolean",
146
- "description": "Whether this entry is enabled. Defaults to true when omitted.",
303
+ "description": "Set to false to disable this entry. Omit otherwise — true is the default and should not be written explicitly.",
147
304
  "default": true
148
305
  },
149
- { "type": "null" }
150
- ]
151
- },
152
- "authored": {
153
- "anyOf": [
154
- {
306
+ "authored": {
155
307
  "type": "boolean",
156
- "description": "Whether this entry was authored locally. Defaults to false when omitted.",
308
+ "description": "Set to true to mark this entry as authored locally in this workspace. Omit otherwise false is the default and should not be written explicitly.",
157
309
  "default": false
158
- },
159
- { "type": "null" }
160
- ]
310
+ }
311
+ },
312
+ "required": ["source"],
313
+ "additionalProperties": false,
314
+ "title": "Subagent Entry Object",
315
+ "description": "A subagent entry with source and optional enabled/authored flags."
161
316
  }
162
- },
163
- "required": ["source"],
164
- "additionalProperties": false,
165
- "title": "Subagent Entry Object",
166
- "description": "A subagent with its source location and whether it's enabled."
167
- },
168
- "SubagentEntry": {
169
- "anyOf": [{ "type": "string" }, { "$ref": "#/definitions/SubagentEntryObject" }]
317
+ ],
318
+ "title": "Subagent Entry",
319
+ "description": "A subagent entry: a source string, or an object with source plus optional flags.",
320
+ "examples": [
321
+ "@acme/subagents/reviewer@^1.0.0",
322
+ { "source": "github:acme/agent-extensions", "enabled": false }
323
+ ]
170
324
  },
171
325
  "SubagentsMap": {
172
326
  "type": "object",
173
327
  "title": "Subagents Map",
174
- "description": "Your installed subagents, keyed by name.",
328
+ "description": "A map of subagent names to subagent entries.",
175
329
  "propertyNames": { "pattern": "^[a-z0-9](?:[a-z0-9-]{0,62}[a-z0-9])?$" },
176
330
  "additionalProperties": { "$ref": "#/definitions/SubagentEntry" }
177
331
  },
178
- "McpServerEntryObject": {
332
+ "SubagentsConfig": {
179
333
  "type": "object",
180
334
  "properties": {
181
- "source": { "type": "string", "allOf": [{ "minLength": 1 }] },
182
- "authored": {
183
- "anyOf": [
184
- {
185
- "type": "boolean",
186
- "description": "Whether this entry was authored locally. Defaults to false when omitted.",
187
- "default": false
188
- },
189
- { "type": "null" }
190
- ]
335
+ "ignore": {
336
+ "type": "array",
337
+ "description": "Installed subagent names AXM should leave unmanaged.",
338
+ "examples": [["local-*", "legacy-helper"]],
339
+ "items": { "type": "string" }
191
340
  }
192
341
  },
193
- "required": ["source"],
194
342
  "additionalProperties": false,
195
- "title": "MCP Server Entry Object",
196
- "description": "An MCP server with its source location."
197
- },
198
- "McpServerEntry": {
199
- "anyOf": [{ "type": "string" }, { "$ref": "#/definitions/McpServerEntryObject" }]
343
+ "title": "Subagents Config",
344
+ "description": "Feature-level configuration for subagents."
200
345
  },
201
- "McpServersMap": {
202
- "type": "object",
203
- "title": "MCP Servers Map",
204
- "description": "Your installed MCP servers, keyed by name.",
205
- "propertyNames": { "pattern": "^[a-z0-9](?:[a-z0-9-]{0,62}[a-z0-9])?$" },
206
- "additionalProperties": { "$ref": "#/definitions/McpServerEntry" }
207
- },
208
- "PackEntryObject": {
209
- "type": "object",
210
- "properties": {
211
- "source": { "type": "string", "allOf": [{ "minLength": 1 }] },
212
- "authored": {
213
- "anyOf": [
214
- {
346
+ "PackEntry": {
347
+ "anyOf": [
348
+ { "type": "string" },
349
+ {
350
+ "type": "object",
351
+ "properties": {
352
+ "source": {
353
+ "type": "string",
354
+ "allOf": [
355
+ {
356
+ "minLength": 1,
357
+ "description": "FQN with optional version constraint, source-scheme ref like github:owner/repo, or local path.",
358
+ "examples": [
359
+ "@acme/packs/code-review@^1.0.0",
360
+ "github:acme/agent-extensions",
361
+ "./extensions/code-review"
362
+ ]
363
+ }
364
+ ]
365
+ },
366
+ "authored": {
215
367
  "type": "boolean",
216
- "description": "Whether this entry was authored locally. Defaults to false when omitted.",
368
+ "description": "Set to true to mark this entry as authored locally in this workspace. Omit otherwise false is the default and should not be written explicitly.",
217
369
  "default": false
218
- },
219
- { "type": "null" }
220
- ]
370
+ }
371
+ },
372
+ "required": ["source"],
373
+ "additionalProperties": false,
374
+ "title": "Pack Entry Object",
375
+ "description": "A pack entry with source and optional authored flag."
221
376
  }
222
- },
223
- "required": ["source"],
224
- "additionalProperties": false,
225
- "title": "Pack Entry Object",
226
- "description": "A pack with its source location."
377
+ ],
378
+ "title": "Pack Entry",
379
+ "description": "A pack entry: a source string, or an object with source plus optional authored flag.",
380
+ "examples": [
381
+ "@acme/packs/typescript@^1.0.0",
382
+ { "source": "github:acme/agent-extensions", "authored": true }
383
+ ]
227
384
  },
228
- "PackEntry": { "anyOf": [{ "type": "string" }, { "$ref": "#/definitions/PackEntryObject" }] },
229
385
  "PacksMap": {
230
386
  "type": "object",
231
387
  "title": "Packs Map",
232
- "description": "Your installed packs, keyed by name.",
388
+ "description": "A map of pack names to pack entries.",
233
389
  "propertyNames": { "pattern": "^[a-z0-9](?:[a-z0-9-]{0,62}[a-z0-9])?$" },
234
390
  "additionalProperties": { "$ref": "#/definitions/PackEntry" }
235
391
  },
236
- "SkillEntryObject": {
392
+ "PacksConfig": {
237
393
  "type": "object",
238
394
  "properties": {
239
- "source": { "type": "string", "allOf": [{ "minLength": 1 }] },
240
- "enabled": {
241
- "anyOf": [
242
- {
243
- "type": "boolean",
244
- "description": "Whether this entry is enabled. Defaults to true when omitted.",
245
- "default": true
395
+ "ignore": {
396
+ "type": "array",
397
+ "description": "Installed pack names AXM should leave unmanaged.",
398
+ "examples": [["local-*", "legacy-helper"]],
399
+ "items": { "type": "string" }
400
+ }
401
+ },
402
+ "additionalProperties": false,
403
+ "title": "Packs Config",
404
+ "description": "Feature-level configuration for packs."
405
+ },
406
+ "McpServerEntry": {
407
+ "anyOf": [
408
+ { "type": "string" },
409
+ {
410
+ "type": "object",
411
+ "properties": {
412
+ "source": {
413
+ "type": "string",
414
+ "allOf": [
415
+ {
416
+ "minLength": 1,
417
+ "description": "FQN with optional version constraint, source-scheme ref like github:owner/repo, or local path.",
418
+ "examples": [
419
+ "@acme/mcp-servers/code-review@^1.0.0",
420
+ "github:acme/agent-extensions",
421
+ "./extensions/code-review"
422
+ ]
423
+ }
424
+ ]
246
425
  },
247
- { "type": "null" }
248
- ]
249
- },
250
- "authored": {
251
- "anyOf": [
252
- {
426
+ "authored": {
253
427
  "type": "boolean",
254
- "description": "Whether this entry was authored locally. Defaults to false when omitted.",
428
+ "description": "Set to true to mark this entry as authored locally in this workspace. Omit otherwise false is the default and should not be written explicitly.",
255
429
  "default": false
256
- },
257
- { "type": "null" }
258
- ]
430
+ }
431
+ },
432
+ "required": ["source"],
433
+ "additionalProperties": false,
434
+ "title": "MCP Server Entry Object",
435
+ "description": "An MCP server entry with source and optional authored flag."
259
436
  }
260
- },
261
- "required": ["source"],
262
- "additionalProperties": false,
263
- "title": "Skill Entry Object",
264
- "description": "A skill with its source location and whether it's enabled."
437
+ ],
438
+ "title": "MCP Server Entry",
439
+ "description": "An MCP server entry: a source string, or an object with source plus optional authored flag.",
440
+ "examples": [
441
+ "@acme/mcp-servers/context@^1.0.0",
442
+ { "source": "github:acme/agent-extensions", "authored": true }
443
+ ]
265
444
  },
266
- "SkillEntry": { "anyOf": [{ "type": "string" }, { "$ref": "#/definitions/SkillEntryObject" }] },
267
- "SkillsMap": {
445
+ "McpServersMap": {
268
446
  "type": "object",
269
- "title": "Skills Map",
270
- "description": "Your installed skills, keyed by name.",
447
+ "title": "MCP Servers Map",
448
+ "description": "A map of MCP server names to MCP server entries.",
271
449
  "propertyNames": { "pattern": "^[a-z0-9](?:[a-z0-9-]{0,62}[a-z0-9])?$" },
272
- "additionalProperties": { "$ref": "#/definitions/SkillEntry" }
450
+ "additionalProperties": { "$ref": "#/definitions/McpServerEntry" }
273
451
  },
274
- "IgnoredSettings": {
452
+ "McpServersConfig": {
275
453
  "type": "object",
276
454
  "properties": {
277
- "skills": {
278
- "anyOf": [{ "type": "array", "items": { "type": "string" } }, { "type": "null" }]
279
- },
280
- "commands": {
281
- "anyOf": [{ "type": "array", "items": { "type": "string" } }, { "type": "null" }]
282
- },
283
- "subagents": {
284
- "anyOf": [{ "type": "array", "items": { "type": "string" } }, { "type": "null" }]
285
- },
286
- "mcpServers": {
287
- "anyOf": [{ "type": "array", "items": { "type": "string" } }, { "type": "null" }]
288
- },
289
- "packs": {
290
- "anyOf": [{ "type": "array", "items": { "type": "string" } }, { "type": "null" }]
455
+ "ignore": {
456
+ "type": "array",
457
+ "description": "Installed MCP server names AXM should leave unmanaged.",
458
+ "examples": [["local-*", "legacy-helper"]],
459
+ "items": { "type": "string" }
291
460
  }
292
461
  },
293
462
  "additionalProperties": false,
294
- "title": "Ignored Settings",
295
- "description": "Glob patterns for extensions to ignore, grouped by type (e.g. skills, commands)."
463
+ "title": "MCP Servers Config",
464
+ "description": "Feature-level configuration for MCP servers."
296
465
  },
297
466
  "LintRuleSeverity": {
298
467
  "type": "string",
@@ -300,98 +469,103 @@
300
469
  "title": "Lint Rule Severity",
301
470
  "description": "Severity override for a lint rule: 'off' silences it, 'info'/'warn'/'error' raise or lower severity."
302
471
  },
303
- "LintRulesMap": {
304
- "type": "object",
305
- "additionalProperties": { "$ref": "#/definitions/LintRuleSeverity" }
306
- },
307
472
  "LintConfig": {
308
473
  "type": "object",
309
474
  "properties": {
310
- "rules": { "anyOf": [{ "$ref": "#/definitions/LintRulesMap" }, { "type": "null" }] }
475
+ "rules": {
476
+ "type": "object",
477
+ "additionalProperties": { "$ref": "#/definitions/LintRuleSeverity" },
478
+ "title": "Lint Rules Map",
479
+ "description": "Map of exact <namespace>/<name> rule ids to severity overrides for `axm lint`."
480
+ }
311
481
  },
312
482
  "additionalProperties": false,
313
483
  "title": "Lint Config",
314
- "description": "WorkspaceMutations lint configuration under `lint` in `.axm/settings.json`."
484
+ "description": "Lint configuration under `lint` in `.axm/settings.json`."
315
485
  },
316
- "Settings": {
486
+ "AxmSettings": {
317
487
  "type": "object",
318
488
  "properties": {
319
489
  "telemetry": {
320
- "anyOf": [
321
- { "anyOf": [{ "type": "boolean" }, { "type": "string", "enum": ["errors"] }] },
322
- { "type": "null" }
323
- ]
490
+ "anyOf": [{ "$ref": "#/definitions/TelemetryMode" }],
491
+ "description": "Workspace telemetry mode: full, errors-only, or disabled."
492
+ },
493
+ "owner": {
494
+ "anyOf": [{ "$ref": "#/definitions/Handle" }],
495
+ "description": "Default owner handle used when AXM scaffolds or resolves workspace extensions."
324
496
  },
325
- "owner": { "anyOf": [{ "$ref": "#/definitions/Handle" }, { "type": "null" }] },
326
497
  "agents": {
327
- "anyOf": [
328
- {
329
- "type": "array",
330
- "items": {
331
- "type": "string",
332
- "enum": [
333
- "adal",
334
- "amp",
335
- "antigravity",
336
- "augment",
337
- "claude-code",
338
- "cline",
339
- "codebuddy",
340
- "codex",
341
- "command-code",
342
- "continue",
343
- "crush",
344
- "cursor",
345
- "droid",
346
- "gemini-cli",
347
- "github-copilot",
348
- "goose",
349
- "iflow-cli",
350
- "junie",
351
- "kilo",
352
- "kimi-cli",
353
- "kiro-cli",
354
- "kode",
355
- "mcpjam",
356
- "mistral-vibe",
357
- "mux",
358
- "neovate",
359
- "openclaw",
360
- "opencode",
361
- "openhands",
362
- "pi",
363
- "pochi",
364
- "qoder",
365
- "qwen-code",
366
- "replit",
367
- "roo",
368
- "trae",
369
- "trae-cn",
370
- "windsurf",
371
- "zencoder"
372
- ]
373
- }
374
- },
375
- { "type": "null" }
376
- ]
498
+ "type": "array",
499
+ "description": "Coding agents AXM should sync managed extensions into.",
500
+ "examples": [["claude-code", "codex"]],
501
+ "allOf": [{ "uniqueItems": true }],
502
+ "items": { "$ref": "#/definitions/AgentId" }
377
503
  },
378
504
  "sources": {
379
- "anyOf": [
380
- { "type": "array", "items": { "$ref": "#/definitions/SourceHostConfig" } },
381
- { "type": "null" }
382
- ]
505
+ "type": "array",
506
+ "description": "Named source hosts used to resolve source-scheme entry references.",
507
+ "items": { "$ref": "#/definitions/SourceHostConfig" }
383
508
  },
384
- "commands": { "anyOf": [{ "$ref": "#/definitions/CommandsMap" }, { "type": "null" }] },
385
- "subagents": { "anyOf": [{ "$ref": "#/definitions/SubagentsMap" }, { "type": "null" }] },
386
- "mcpServers": { "anyOf": [{ "$ref": "#/definitions/McpServersMap" }, { "type": "null" }] },
387
- "packs": { "anyOf": [{ "$ref": "#/definitions/PacksMap" }, { "type": "null" }] },
388
- "skills": { "anyOf": [{ "$ref": "#/definitions/SkillsMap" }, { "type": "null" }] },
389
- "ignored": { "anyOf": [{ "$ref": "#/definitions/IgnoredSettings" }, { "type": "null" }] },
390
- "lint": { "anyOf": [{ "$ref": "#/definitions/LintConfig" }, { "type": "null" }] }
509
+ "skills": {
510
+ "anyOf": [{ "$ref": "#/definitions/SkillsMap" }],
511
+ "description": "Your installed skills, keyed by workspace skill name. Prefer plain source strings; use the object form only to set `enabled: false` or `authored: true`, and never write `enabled: true` or `authored: false` explicitly."
512
+ },
513
+ "skillsConfig": {
514
+ "anyOf": [{ "$ref": "#/definitions/SkillsConfig" }],
515
+ "description": "Feature-level options for skill management."
516
+ },
517
+ "commands": {
518
+ "anyOf": [{ "$ref": "#/definitions/CommandsMap" }],
519
+ "description": "Your installed commands, keyed by workspace command name. Prefer plain source strings; use the object form only to set `enabled: false` or `authored: true`, and never write `enabled: true` or `authored: false` explicitly."
520
+ },
521
+ "commandsConfig": {
522
+ "anyOf": [{ "$ref": "#/definitions/CommandsConfig" }],
523
+ "description": "Feature-level options for command management."
524
+ },
525
+ "subagents": {
526
+ "anyOf": [{ "$ref": "#/definitions/SubagentsMap" }],
527
+ "description": "Your installed subagents, keyed by workspace subagent name. Prefer plain source strings; use the object form only to set `enabled: false` or `authored: true`, and never write `enabled: true` or `authored: false` explicitly."
528
+ },
529
+ "subagentsConfig": {
530
+ "anyOf": [{ "$ref": "#/definitions/SubagentsConfig" }],
531
+ "description": "Feature-level options for subagent management."
532
+ },
533
+ "packs": {
534
+ "anyOf": [{ "$ref": "#/definitions/PacksMap" }],
535
+ "description": "Your installed packs, keyed by workspace pack name. Prefer plain source strings; use the object form only to set `authored: true`, and never write `authored: false` explicitly. Pack entries do not support `enabled` yet."
536
+ },
537
+ "packsConfig": {
538
+ "anyOf": [{ "$ref": "#/definitions/PacksConfig" }],
539
+ "description": "Feature-level options for pack management."
540
+ },
541
+ "mcpServers": {
542
+ "anyOf": [{ "$ref": "#/definitions/McpServersMap" }],
543
+ "description": "Your installed MCP servers, keyed by workspace MCP server name. Prefer plain source strings; use the object form only to set `authored: true`, and never write `authored: false` explicitly. MCP server entries do not support `enabled` yet."
544
+ },
545
+ "mcpServersConfig": {
546
+ "anyOf": [{ "$ref": "#/definitions/McpServersConfig" }],
547
+ "description": "Feature-level options for MCP server management."
548
+ },
549
+ "lint": {
550
+ "anyOf": [{ "$ref": "#/definitions/LintConfig" }],
551
+ "description": "Lint configuration for `axm lint` in this workspace."
552
+ }
391
553
  },
392
554
  "additionalProperties": false,
393
555
  "title": "AXM Settings",
394
- "description": "Your workspace configuration — owner, sources, installed extensions, and ignore patterns."
556
+ "description": "Your workspace configuration — owner, sources, installed extensions, feature config, and lint config.",
557
+ "examples": [
558
+ {
559
+ "telemetry": "errors",
560
+ "agents": ["claude-code", "codex"],
561
+ "skills": {
562
+ "code-review": "@acme/skills/code-review@^1.0.0",
563
+ "legacy-rules": { "source": "@acme/skills/legacy-rules@^1.0.0", "enabled": false }
564
+ },
565
+ "skillsConfig": { "ignore": ["local-*"] },
566
+ "lint": { "rules": { "workspace/settings-schema-valid": "error" } }
567
+ }
568
+ ]
395
569
  }
396
570
  }
397
571
  }