@a1st/aix-schema 0.0.6 → 0.0.12
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.
- package/README.md +6 -6
- package/dist/config.d.ts +8 -8
- package/dist/editors.d.ts +2 -2
- package/dist/editors.d.ts.map +1 -1
- package/dist/editors.js +1 -1
- package/dist/editors.js.map +1 -1
- package/dist/factory.d.ts.map +1 -1
- package/dist/factory.js +0 -2
- package/dist/factory.js.map +1 -1
- package/package.json +7 -7
- package/schema.json +1246 -1328
package/schema.json
CHANGED
|
@@ -1,1408 +1,1326 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
},
|
|
16
|
-
"extends": {
|
|
17
|
-
"anyOf": [
|
|
18
|
-
{
|
|
19
|
-
"type": "string",
|
|
20
|
-
"description": "Single config to extend (npm package or local path)"
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"$id": "https://x.a1st.dev/schemas/v1/ai.json",
|
|
4
|
+
"title": "ai.json Configuration",
|
|
5
|
+
"description": "Configuration file for aix - unified AI agent and editor configuration",
|
|
6
|
+
"$ref": "#/definitions/AiJsonConfig",
|
|
7
|
+
"definitions": {
|
|
8
|
+
"AiJsonConfig": {
|
|
9
|
+
"type": "object",
|
|
10
|
+
"properties": {
|
|
11
|
+
"$schema": {
|
|
12
|
+
"type": "string",
|
|
13
|
+
"format": "uri",
|
|
14
|
+
"description": "URL to JSON Schema for validation"
|
|
21
15
|
},
|
|
22
|
-
{
|
|
23
|
-
|
|
24
|
-
"items": {
|
|
25
|
-
"type": "string"
|
|
26
|
-
},
|
|
27
|
-
"description": "Array of configs to extend (resolved in order)"
|
|
28
|
-
}
|
|
29
|
-
],
|
|
30
|
-
"description": "Extend from other ai.json configs"
|
|
31
|
-
},
|
|
32
|
-
"skills": {
|
|
33
|
-
"type": "object",
|
|
34
|
-
"additionalProperties": {
|
|
35
|
-
"anyOf": [
|
|
36
|
-
{
|
|
37
|
-
"anyOf": [
|
|
16
|
+
"extends": {
|
|
17
|
+
"anyOf": [
|
|
38
18
|
{
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
"type": "string",
|
|
42
|
-
"description": "Shorthand: version range or local path"
|
|
43
|
-
},
|
|
44
|
-
{
|
|
45
|
-
"type": "object",
|
|
46
|
-
"properties": {
|
|
47
|
-
"git": {
|
|
48
|
-
"type": "string",
|
|
49
|
-
"description": "Git URL (e.g., \"github:user/repo\", \"https://...\")"
|
|
50
|
-
},
|
|
51
|
-
"ref": {
|
|
52
|
-
"type": "string",
|
|
53
|
-
"description": "Git ref (branch, tag, commit)"
|
|
54
|
-
},
|
|
55
|
-
"path": {
|
|
56
|
-
"type": "string",
|
|
57
|
-
"description": "Subdirectory within repo"
|
|
58
|
-
}
|
|
59
|
-
},
|
|
60
|
-
"required": [
|
|
61
|
-
"git"
|
|
62
|
-
],
|
|
63
|
-
"additionalProperties": false
|
|
64
|
-
},
|
|
65
|
-
{
|
|
66
|
-
"type": "object",
|
|
67
|
-
"properties": {
|
|
68
|
-
"path": {
|
|
69
|
-
"type": "string",
|
|
70
|
-
"description": "Local file or directory path"
|
|
71
|
-
}
|
|
72
|
-
},
|
|
73
|
-
"required": [
|
|
74
|
-
"path"
|
|
75
|
-
],
|
|
76
|
-
"additionalProperties": false
|
|
77
|
-
},
|
|
78
|
-
{
|
|
79
|
-
"type": "object",
|
|
80
|
-
"properties": {
|
|
81
|
-
"version": {
|
|
82
|
-
"type": "string",
|
|
83
|
-
"description": "Version range from registry"
|
|
84
|
-
},
|
|
85
|
-
"registry": {
|
|
86
|
-
"type": "string",
|
|
87
|
-
"format": "uri",
|
|
88
|
-
"description": "Custom registry URL"
|
|
89
|
-
}
|
|
90
|
-
},
|
|
91
|
-
"required": [
|
|
92
|
-
"version"
|
|
93
|
-
],
|
|
94
|
-
"additionalProperties": false
|
|
95
|
-
}
|
|
96
|
-
],
|
|
97
|
-
"description": "Reference to a skill, config, or resource"
|
|
19
|
+
"type": "string",
|
|
20
|
+
"description": "Single config to extend (npm package or local path)"
|
|
98
21
|
},
|
|
99
22
|
{
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
"type": "string",
|
|
106
|
-
"description": "Shorthand: version range or local path"
|
|
107
|
-
},
|
|
108
|
-
{
|
|
109
|
-
"type": "object",
|
|
110
|
-
"properties": {
|
|
111
|
-
"git": {
|
|
112
|
-
"type": "string",
|
|
113
|
-
"description": "Git URL (e.g., \"github:user/repo\", \"https://...\")"
|
|
114
|
-
},
|
|
115
|
-
"ref": {
|
|
116
|
-
"type": "string",
|
|
117
|
-
"description": "Git ref (branch, tag, commit)"
|
|
118
|
-
},
|
|
119
|
-
"path": {
|
|
120
|
-
"type": "string",
|
|
121
|
-
"description": "Subdirectory within repo"
|
|
122
|
-
}
|
|
123
|
-
},
|
|
124
|
-
"required": [
|
|
125
|
-
"git"
|
|
126
|
-
],
|
|
127
|
-
"additionalProperties": false
|
|
128
|
-
},
|
|
129
|
-
{
|
|
130
|
-
"type": "object",
|
|
131
|
-
"properties": {
|
|
132
|
-
"path": {
|
|
133
|
-
"type": "string",
|
|
134
|
-
"description": "Local file or directory path"
|
|
135
|
-
}
|
|
136
|
-
},
|
|
137
|
-
"required": [
|
|
138
|
-
"path"
|
|
139
|
-
],
|
|
140
|
-
"additionalProperties": false
|
|
141
|
-
},
|
|
142
|
-
{
|
|
143
|
-
"type": "object",
|
|
144
|
-
"properties": {
|
|
145
|
-
"version": {
|
|
146
|
-
"type": "string",
|
|
147
|
-
"description": "Version range from registry"
|
|
148
|
-
},
|
|
149
|
-
"registry": {
|
|
150
|
-
"type": "string",
|
|
151
|
-
"format": "uri",
|
|
152
|
-
"description": "Custom registry URL"
|
|
153
|
-
}
|
|
154
|
-
},
|
|
155
|
-
"required": [
|
|
156
|
-
"version"
|
|
157
|
-
],
|
|
158
|
-
"additionalProperties": false
|
|
159
|
-
}
|
|
160
|
-
],
|
|
161
|
-
"description": "Where to load the skill from"
|
|
162
|
-
},
|
|
163
|
-
"enabled": {
|
|
164
|
-
"type": "boolean",
|
|
165
|
-
"default": true,
|
|
166
|
-
"description": "Whether skill is active"
|
|
167
|
-
},
|
|
168
|
-
"config": {
|
|
169
|
-
"type": "object",
|
|
170
|
-
"additionalProperties": {},
|
|
171
|
-
"description": "Skill-specific configuration"
|
|
172
|
-
}
|
|
173
|
-
},
|
|
174
|
-
"required": [
|
|
175
|
-
"source"
|
|
176
|
-
],
|
|
177
|
-
"additionalProperties": false
|
|
23
|
+
"type": "array",
|
|
24
|
+
"items": {
|
|
25
|
+
"type": "string"
|
|
26
|
+
},
|
|
27
|
+
"description": "Array of configs to extend (resolved in order)"
|
|
178
28
|
}
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
},
|
|
188
|
-
"propertyNames": {
|
|
189
|
-
"minLength": 1,
|
|
190
|
-
"maxLength": 64,
|
|
191
|
-
"pattern": "^[a-z0-9]+(-[a-z0-9]+)*$"
|
|
192
|
-
},
|
|
193
|
-
"description": "Map of skill names to their configurations (or false to disable)",
|
|
194
|
-
"default": {}
|
|
195
|
-
},
|
|
196
|
-
"mcp": {
|
|
197
|
-
"type": "object",
|
|
198
|
-
"additionalProperties": {
|
|
199
|
-
"anyOf": [
|
|
200
|
-
{
|
|
201
|
-
"anyOf": [
|
|
202
|
-
{
|
|
203
|
-
"type": "object",
|
|
204
|
-
"properties": {
|
|
205
|
-
"enabled": {
|
|
206
|
-
"type": "boolean",
|
|
207
|
-
"description": "Whether server is active (default: true)"
|
|
208
|
-
},
|
|
209
|
-
"tools": {
|
|
210
|
-
"anyOf": [
|
|
211
|
-
{
|
|
212
|
-
"type": "array",
|
|
213
|
-
"items": {
|
|
214
|
-
"type": "string"
|
|
215
|
-
},
|
|
216
|
-
"description": "Allowed tool names"
|
|
217
|
-
},
|
|
218
|
-
{
|
|
219
|
-
"type": "object",
|
|
220
|
-
"properties": {
|
|
221
|
-
"include": {
|
|
222
|
-
"type": "array",
|
|
223
|
-
"items": {
|
|
224
|
-
"type": "string"
|
|
225
|
-
},
|
|
226
|
-
"description": "Tools to include"
|
|
227
|
-
},
|
|
228
|
-
"exclude": {
|
|
229
|
-
"type": "array",
|
|
230
|
-
"items": {
|
|
231
|
-
"type": "string"
|
|
232
|
-
},
|
|
233
|
-
"description": "Tools to exclude"
|
|
234
|
-
}
|
|
235
|
-
},
|
|
236
|
-
"additionalProperties": false
|
|
237
|
-
}
|
|
238
|
-
],
|
|
239
|
-
"description": "Tool access control"
|
|
240
|
-
},
|
|
241
|
-
"disabledTools": {
|
|
242
|
-
"type": "array",
|
|
243
|
-
"items": {
|
|
244
|
-
"type": "string"
|
|
245
|
-
},
|
|
246
|
-
"description": "Tools to disable (Windsurf format)"
|
|
247
|
-
},
|
|
248
|
-
"resources": {
|
|
249
|
-
"anyOf": [
|
|
250
|
-
{
|
|
251
|
-
"type": "array",
|
|
252
|
-
"items": {
|
|
253
|
-
"type": "string"
|
|
254
|
-
},
|
|
255
|
-
"description": "Allowed resource patterns (glob)"
|
|
256
|
-
},
|
|
257
|
-
{
|
|
258
|
-
"type": "object",
|
|
259
|
-
"properties": {
|
|
260
|
-
"include": {
|
|
261
|
-
"type": "array",
|
|
262
|
-
"items": {
|
|
263
|
-
"type": "string"
|
|
264
|
-
},
|
|
265
|
-
"description": "Resource patterns to include"
|
|
266
|
-
},
|
|
267
|
-
"exclude": {
|
|
268
|
-
"type": "array",
|
|
269
|
-
"items": {
|
|
270
|
-
"type": "string"
|
|
271
|
-
},
|
|
272
|
-
"description": "Resource patterns to exclude"
|
|
273
|
-
}
|
|
274
|
-
},
|
|
275
|
-
"additionalProperties": false
|
|
276
|
-
}
|
|
277
|
-
],
|
|
278
|
-
"description": "Resource access control"
|
|
279
|
-
},
|
|
280
|
-
"autoStart": {
|
|
281
|
-
"type": "boolean",
|
|
282
|
-
"description": "Start with editor (default: true)"
|
|
283
|
-
},
|
|
284
|
-
"restartOnFailure": {
|
|
285
|
-
"type": "boolean",
|
|
286
|
-
"description": "Auto-restart on crash (default: true)"
|
|
287
|
-
},
|
|
288
|
-
"maxRestarts": {
|
|
289
|
-
"type": "integer",
|
|
290
|
-
"exclusiveMinimum": 0,
|
|
291
|
-
"description": "Max restart attempts (default: 3)"
|
|
292
|
-
},
|
|
293
|
-
"command": {
|
|
294
|
-
"type": "string",
|
|
295
|
-
"description": "Command to execute"
|
|
296
|
-
},
|
|
297
|
-
"args": {
|
|
298
|
-
"type": "array",
|
|
299
|
-
"items": {
|
|
300
|
-
"type": "string"
|
|
301
|
-
},
|
|
302
|
-
"description": "Command arguments"
|
|
303
|
-
},
|
|
304
|
-
"env": {
|
|
305
|
-
"type": "object",
|
|
306
|
-
"additionalProperties": {
|
|
307
|
-
"type": "string",
|
|
308
|
-
"description": "Environment variable value. Use ${VAR_NAME} for dynamic resolution."
|
|
309
|
-
},
|
|
310
|
-
"description": "Environment variables"
|
|
311
|
-
},
|
|
312
|
-
"cwd": {
|
|
313
|
-
"type": "string",
|
|
314
|
-
"description": "Working directory"
|
|
315
|
-
},
|
|
316
|
-
"shell": {
|
|
317
|
-
"type": "boolean",
|
|
318
|
-
"description": "Run in shell"
|
|
319
|
-
}
|
|
320
|
-
},
|
|
321
|
-
"required": [
|
|
322
|
-
"command"
|
|
323
|
-
],
|
|
324
|
-
"additionalProperties": false
|
|
325
|
-
},
|
|
326
|
-
{
|
|
327
|
-
"type": "object",
|
|
328
|
-
"properties": {
|
|
329
|
-
"enabled": {
|
|
330
|
-
"type": "boolean",
|
|
331
|
-
"description": "Whether server is active (default: true)"
|
|
332
|
-
},
|
|
333
|
-
"tools": {
|
|
334
|
-
"anyOf": [
|
|
335
|
-
{
|
|
336
|
-
"type": "array",
|
|
337
|
-
"items": {
|
|
338
|
-
"type": "string"
|
|
339
|
-
},
|
|
340
|
-
"description": "Allowed tool names"
|
|
341
|
-
},
|
|
342
|
-
{
|
|
343
|
-
"type": "object",
|
|
344
|
-
"properties": {
|
|
345
|
-
"include": {
|
|
346
|
-
"type": "array",
|
|
347
|
-
"items": {
|
|
348
|
-
"type": "string"
|
|
349
|
-
},
|
|
350
|
-
"description": "Tools to include"
|
|
351
|
-
},
|
|
352
|
-
"exclude": {
|
|
353
|
-
"type": "array",
|
|
354
|
-
"items": {
|
|
355
|
-
"type": "string"
|
|
356
|
-
},
|
|
357
|
-
"description": "Tools to exclude"
|
|
358
|
-
}
|
|
359
|
-
},
|
|
360
|
-
"additionalProperties": false
|
|
361
|
-
}
|
|
362
|
-
],
|
|
363
|
-
"description": "Tool access control"
|
|
364
|
-
},
|
|
365
|
-
"disabledTools": {
|
|
366
|
-
"type": "array",
|
|
367
|
-
"items": {
|
|
368
|
-
"type": "string"
|
|
369
|
-
},
|
|
370
|
-
"description": "Tools to disable (Windsurf format)"
|
|
371
|
-
},
|
|
372
|
-
"resources": {
|
|
29
|
+
],
|
|
30
|
+
"description": "Extend from other ai.json configs"
|
|
31
|
+
},
|
|
32
|
+
"skills": {
|
|
33
|
+
"type": "object",
|
|
34
|
+
"additionalProperties": {
|
|
35
|
+
"anyOf": [
|
|
36
|
+
{
|
|
373
37
|
"anyOf": [
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
"type": "string"
|
|
378
|
-
},
|
|
379
|
-
"description": "Allowed resource patterns (glob)"
|
|
380
|
-
},
|
|
381
|
-
{
|
|
382
|
-
"type": "object",
|
|
383
|
-
"properties": {
|
|
384
|
-
"include": {
|
|
385
|
-
"type": "array",
|
|
386
|
-
"items": {
|
|
387
|
-
"type": "string"
|
|
388
|
-
},
|
|
389
|
-
"description": "Resource patterns to include"
|
|
390
|
-
},
|
|
391
|
-
"exclude": {
|
|
392
|
-
"type": "array",
|
|
393
|
-
"items": {
|
|
394
|
-
"type": "string"
|
|
395
|
-
},
|
|
396
|
-
"description": "Resource patterns to exclude"
|
|
397
|
-
}
|
|
398
|
-
},
|
|
399
|
-
"additionalProperties": false
|
|
400
|
-
}
|
|
401
|
-
],
|
|
402
|
-
"description": "Resource access control"
|
|
403
|
-
},
|
|
404
|
-
"autoStart": {
|
|
405
|
-
"type": "boolean",
|
|
406
|
-
"description": "Start with editor (default: true)"
|
|
407
|
-
},
|
|
408
|
-
"restartOnFailure": {
|
|
409
|
-
"type": "boolean",
|
|
410
|
-
"description": "Auto-restart on crash (default: true)"
|
|
411
|
-
},
|
|
412
|
-
"maxRestarts": {
|
|
413
|
-
"type": "integer",
|
|
414
|
-
"exclusiveMinimum": 0,
|
|
415
|
-
"description": "Max restart attempts (default: 3)"
|
|
416
|
-
},
|
|
417
|
-
"url": {
|
|
418
|
-
"type": "string",
|
|
419
|
-
"format": "uri",
|
|
420
|
-
"description": "MCP endpoint URL (Streamable HTTP)"
|
|
421
|
-
},
|
|
422
|
-
"headers": {
|
|
423
|
-
"type": "object",
|
|
424
|
-
"additionalProperties": {
|
|
425
|
-
"type": "string",
|
|
426
|
-
"description": "Environment variable value. Use ${VAR_NAME} for dynamic resolution."
|
|
427
|
-
},
|
|
428
|
-
"description": "HTTP headers"
|
|
429
|
-
},
|
|
430
|
-
"timeout": {
|
|
431
|
-
"type": "number",
|
|
432
|
-
"exclusiveMinimum": 0,
|
|
433
|
-
"description": "Connection timeout (ms)"
|
|
434
|
-
},
|
|
435
|
-
"validateOrigin": {
|
|
436
|
-
"type": "boolean",
|
|
437
|
-
"description": "Validate Origin header (security)"
|
|
438
|
-
}
|
|
439
|
-
},
|
|
440
|
-
"required": [
|
|
441
|
-
"url"
|
|
442
|
-
],
|
|
443
|
-
"additionalProperties": false
|
|
444
|
-
}
|
|
445
|
-
]
|
|
446
|
-
},
|
|
447
|
-
{
|
|
448
|
-
"type": "boolean",
|
|
449
|
-
"const": false
|
|
450
|
-
}
|
|
451
|
-
]
|
|
452
|
-
},
|
|
453
|
-
"propertyNames": {
|
|
454
|
-
"minLength": 1
|
|
455
|
-
},
|
|
456
|
-
"description": "Map of MCP server names to configurations (or false to disable)",
|
|
457
|
-
"default": {}
|
|
458
|
-
},
|
|
459
|
-
"rules": {
|
|
460
|
-
"type": "object",
|
|
461
|
-
"additionalProperties": {
|
|
462
|
-
"anyOf": [
|
|
463
|
-
{
|
|
464
|
-
"anyOf": [
|
|
465
|
-
{
|
|
466
|
-
"type": "string",
|
|
467
|
-
"description": "Source reference: local path (./, ../, /, file:), git URL (https://), or git shorthand (github:)"
|
|
468
|
-
},
|
|
469
|
-
{
|
|
470
|
-
"type": "object",
|
|
471
|
-
"properties": {
|
|
472
|
-
"description": {
|
|
473
|
-
"type": "string",
|
|
474
|
-
"description": "When the rule should apply (required for auto mode)"
|
|
475
|
-
},
|
|
476
|
-
"activation": {
|
|
477
|
-
"type": "string",
|
|
478
|
-
"enum": [
|
|
479
|
-
"always",
|
|
480
|
-
"auto",
|
|
481
|
-
"glob",
|
|
482
|
-
"manual"
|
|
483
|
-
],
|
|
484
|
-
"default": "always",
|
|
485
|
-
"description": "When the rule should be activated"
|
|
486
|
-
},
|
|
487
|
-
"globs": {
|
|
488
|
-
"type": "array",
|
|
489
|
-
"items": {
|
|
490
|
-
"type": "string"
|
|
491
|
-
},
|
|
492
|
-
"description": "File patterns (required for glob mode)"
|
|
493
|
-
},
|
|
494
|
-
"content": {
|
|
495
|
-
"type": "string",
|
|
496
|
-
"description": "Inline rule content"
|
|
497
|
-
},
|
|
498
|
-
"path": {
|
|
499
|
-
"type": "string",
|
|
500
|
-
"description": "Local file path to rule content"
|
|
501
|
-
},
|
|
502
|
-
"git": {
|
|
503
|
-
"type": "object",
|
|
504
|
-
"properties": {
|
|
505
|
-
"url": {
|
|
506
|
-
"type": "string",
|
|
507
|
-
"description": "Git repository URL or shorthand (e.g., github:user/repo)"
|
|
508
|
-
},
|
|
509
|
-
"path": {
|
|
510
|
-
"type": "string",
|
|
511
|
-
"description": "Path to rule file within repo (default: root)"
|
|
512
|
-
},
|
|
513
|
-
"ref": {
|
|
514
|
-
"type": "string",
|
|
515
|
-
"description": "Branch, tag, or commit (default: main/master)"
|
|
516
|
-
}
|
|
517
|
-
},
|
|
518
|
-
"required": [
|
|
519
|
-
"url"
|
|
520
|
-
],
|
|
521
|
-
"additionalProperties": false,
|
|
522
|
-
"description": "Git repository source"
|
|
523
|
-
},
|
|
524
|
-
"npm": {
|
|
525
|
-
"type": "object",
|
|
526
|
-
"properties": {
|
|
527
|
-
"npm": {
|
|
528
|
-
"type": "string",
|
|
529
|
-
"description": "NPM package name (e.g., \"@company/rules\")"
|
|
530
|
-
},
|
|
531
|
-
"path": {
|
|
532
|
-
"type": "string",
|
|
533
|
-
"description": "Path to file within package (e.g., \"rules/style.md\")"
|
|
534
|
-
},
|
|
535
|
-
"version": {
|
|
536
|
-
"type": "string",
|
|
537
|
-
"description": "Version to auto-install (omit to use project node_modules)"
|
|
538
|
-
}
|
|
539
|
-
},
|
|
540
|
-
"required": [
|
|
541
|
-
"npm",
|
|
542
|
-
"path"
|
|
543
|
-
],
|
|
544
|
-
"additionalProperties": false,
|
|
545
|
-
"description": "NPM package source"
|
|
546
|
-
}
|
|
547
|
-
},
|
|
548
|
-
"additionalProperties": false,
|
|
549
|
-
"description": "Rule with metadata and content source"
|
|
550
|
-
}
|
|
551
|
-
]
|
|
552
|
-
},
|
|
553
|
-
{
|
|
554
|
-
"type": "boolean",
|
|
555
|
-
"const": false
|
|
556
|
-
}
|
|
557
|
-
]
|
|
558
|
-
},
|
|
559
|
-
"propertyNames": {
|
|
560
|
-
"minLength": 1,
|
|
561
|
-
"maxLength": 64,
|
|
562
|
-
"pattern": "^[a-z0-9]+(-[a-z0-9]+)*$"
|
|
563
|
-
},
|
|
564
|
-
"description": "Map of rule names to their definitions (or false to disable)",
|
|
565
|
-
"default": {}
|
|
566
|
-
},
|
|
567
|
-
"prompts": {
|
|
568
|
-
"type": "object",
|
|
569
|
-
"additionalProperties": {
|
|
570
|
-
"anyOf": [
|
|
571
|
-
{
|
|
572
|
-
"anyOf": [
|
|
573
|
-
{
|
|
574
|
-
"type": "string",
|
|
575
|
-
"description": "Source reference: local path (./, ../, /, file:), git URL (https://), or git shorthand (github:)"
|
|
576
|
-
},
|
|
577
|
-
{
|
|
578
|
-
"type": "object",
|
|
579
|
-
"properties": {
|
|
580
|
-
"description": {
|
|
581
|
-
"type": "string",
|
|
582
|
-
"description": "Shown in command picker"
|
|
583
|
-
},
|
|
584
|
-
"argumentHint": {
|
|
585
|
-
"type": "string",
|
|
586
|
-
"description": "Hint for arguments (e.g., \"[file] [message]\")"
|
|
587
|
-
},
|
|
588
|
-
"content": {
|
|
589
|
-
"type": "string",
|
|
590
|
-
"description": "Inline prompt content"
|
|
591
|
-
},
|
|
592
|
-
"path": {
|
|
593
|
-
"type": "string",
|
|
594
|
-
"description": "Local file path to prompt content"
|
|
595
|
-
},
|
|
596
|
-
"git": {
|
|
597
|
-
"type": "object",
|
|
598
|
-
"properties": {
|
|
599
|
-
"url": {
|
|
600
|
-
"type": "string",
|
|
601
|
-
"description": "Git repository URL or shorthand (e.g., github:user/repo)"
|
|
602
|
-
},
|
|
603
|
-
"path": {
|
|
604
|
-
"type": "string",
|
|
605
|
-
"description": "Path to rule file within repo (default: root)"
|
|
606
|
-
},
|
|
607
|
-
"ref": {
|
|
608
|
-
"type": "string",
|
|
609
|
-
"description": "Branch, tag, or commit (default: main/master)"
|
|
610
|
-
}
|
|
611
|
-
},
|
|
612
|
-
"required": [
|
|
613
|
-
"url"
|
|
614
|
-
],
|
|
615
|
-
"additionalProperties": false,
|
|
616
|
-
"description": "Git repository source"
|
|
617
|
-
},
|
|
618
|
-
"npm": {
|
|
619
|
-
"type": "object",
|
|
620
|
-
"properties": {
|
|
621
|
-
"npm": {
|
|
622
|
-
"type": "string",
|
|
623
|
-
"description": "NPM package name (e.g., \"@company/rules\")"
|
|
624
|
-
},
|
|
625
|
-
"path": {
|
|
626
|
-
"type": "string",
|
|
627
|
-
"description": "Path to file within package (e.g., \"rules/style.md\")"
|
|
628
|
-
},
|
|
629
|
-
"version": {
|
|
630
|
-
"type": "string",
|
|
631
|
-
"description": "Version to auto-install (omit to use project node_modules)"
|
|
632
|
-
}
|
|
633
|
-
},
|
|
634
|
-
"required": [
|
|
635
|
-
"npm",
|
|
636
|
-
"path"
|
|
637
|
-
],
|
|
638
|
-
"additionalProperties": false,
|
|
639
|
-
"description": "NPM package source"
|
|
640
|
-
}
|
|
641
|
-
},
|
|
642
|
-
"additionalProperties": false,
|
|
643
|
-
"description": "Prompt/command definition"
|
|
644
|
-
}
|
|
645
|
-
]
|
|
646
|
-
},
|
|
647
|
-
{
|
|
648
|
-
"type": "boolean",
|
|
649
|
-
"const": false
|
|
650
|
-
}
|
|
651
|
-
]
|
|
652
|
-
},
|
|
653
|
-
"propertyNames": {
|
|
654
|
-
"minLength": 1,
|
|
655
|
-
"maxLength": 64,
|
|
656
|
-
"pattern": "^[a-z0-9]+(-[a-z0-9]+)*$"
|
|
657
|
-
},
|
|
658
|
-
"description": "Map of prompt names to their definitions (or false to disable)",
|
|
659
|
-
"default": {}
|
|
660
|
-
},
|
|
661
|
-
"editors": {
|
|
662
|
-
"anyOf": [
|
|
663
|
-
{
|
|
664
|
-
"type": "array",
|
|
665
|
-
"items": {
|
|
666
|
-
"anyOf": [
|
|
667
|
-
{
|
|
668
|
-
"type": "string",
|
|
669
|
-
"enum": [
|
|
670
|
-
"windsurf",
|
|
671
|
-
"cursor",
|
|
672
|
-
"claude-code",
|
|
673
|
-
"vscode",
|
|
674
|
-
"zed",
|
|
675
|
-
"neovim"
|
|
676
|
-
],
|
|
677
|
-
"description": "Supported editor/agent"
|
|
678
|
-
},
|
|
679
|
-
{
|
|
680
|
-
"type": "object",
|
|
681
|
-
"additionalProperties": {
|
|
682
|
-
"type": "object",
|
|
683
|
-
"properties": {
|
|
684
|
-
"enabled": {
|
|
685
|
-
"type": "boolean",
|
|
686
|
-
"default": true,
|
|
687
|
-
"description": "Whether to configure this editor"
|
|
688
|
-
},
|
|
689
|
-
"rules": {
|
|
690
|
-
"type": "object",
|
|
691
|
-
"additionalProperties": {
|
|
692
|
-
"anyOf": [
|
|
693
|
-
{
|
|
694
|
-
"anyOf": [
|
|
695
|
-
{
|
|
38
|
+
{
|
|
39
|
+
"anyOf": [
|
|
40
|
+
{
|
|
696
41
|
"type": "string",
|
|
697
|
-
"description": "
|
|
698
|
-
|
|
699
|
-
|
|
42
|
+
"description": "Shorthand: version range or local path"
|
|
43
|
+
},
|
|
44
|
+
{
|
|
700
45
|
"type": "object",
|
|
701
46
|
"properties": {
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
"
|
|
712
|
-
"
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
"
|
|
740
|
-
|
|
741
|
-
|
|
47
|
+
"git": {
|
|
48
|
+
"type": "string",
|
|
49
|
+
"description": "Git URL (e.g., \"github:user/repo\", \"https://...\")"
|
|
50
|
+
},
|
|
51
|
+
"ref": {
|
|
52
|
+
"type": "string",
|
|
53
|
+
"description": "Git ref (branch, tag, commit)"
|
|
54
|
+
},
|
|
55
|
+
"path": {
|
|
56
|
+
"type": "string",
|
|
57
|
+
"description": "Subdirectory within repo"
|
|
58
|
+
}
|
|
59
|
+
},
|
|
60
|
+
"required": ["git"],
|
|
61
|
+
"additionalProperties": false
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
"type": "object",
|
|
65
|
+
"properties": {
|
|
66
|
+
"path": {
|
|
67
|
+
"type": "string",
|
|
68
|
+
"description": "Local file or directory path"
|
|
69
|
+
}
|
|
70
|
+
},
|
|
71
|
+
"required": ["path"],
|
|
72
|
+
"additionalProperties": false
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
"type": "object",
|
|
76
|
+
"properties": {
|
|
77
|
+
"version": {
|
|
78
|
+
"type": "string",
|
|
79
|
+
"description": "Version range from registry"
|
|
80
|
+
},
|
|
81
|
+
"registry": {
|
|
82
|
+
"type": "string",
|
|
83
|
+
"format": "uri",
|
|
84
|
+
"description": "Custom registry URL"
|
|
85
|
+
}
|
|
86
|
+
},
|
|
87
|
+
"required": ["version"],
|
|
88
|
+
"additionalProperties": false
|
|
89
|
+
}
|
|
90
|
+
],
|
|
91
|
+
"description": "Reference to a skill, config, or resource"
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
"type": "object",
|
|
95
|
+
"properties": {
|
|
96
|
+
"source": {
|
|
97
|
+
"anyOf": [
|
|
98
|
+
{
|
|
99
|
+
"type": "string",
|
|
100
|
+
"description": "Shorthand: version range or local path"
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
"type": "object",
|
|
104
|
+
"properties": {
|
|
105
|
+
"git": {
|
|
106
|
+
"type": "string",
|
|
107
|
+
"description": "Git URL (e.g., \"github:user/repo\", \"https://...\")"
|
|
108
|
+
},
|
|
109
|
+
"ref": {
|
|
110
|
+
"type": "string",
|
|
111
|
+
"description": "Git ref (branch, tag, commit)"
|
|
112
|
+
},
|
|
113
|
+
"path": {
|
|
114
|
+
"type": "string",
|
|
115
|
+
"description": "Subdirectory within repo"
|
|
116
|
+
}
|
|
742
117
|
},
|
|
743
|
-
"
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
},
|
|
754
|
-
"npm": {
|
|
755
|
-
"type": "object",
|
|
756
|
-
"properties": {
|
|
757
|
-
"npm": {
|
|
758
|
-
"type": "string",
|
|
759
|
-
"description": "NPM package name (e.g., \"@company/rules\")"
|
|
118
|
+
"required": ["git"],
|
|
119
|
+
"additionalProperties": false
|
|
120
|
+
},
|
|
121
|
+
{
|
|
122
|
+
"type": "object",
|
|
123
|
+
"properties": {
|
|
124
|
+
"path": {
|
|
125
|
+
"type": "string",
|
|
126
|
+
"description": "Local file or directory path"
|
|
127
|
+
}
|
|
760
128
|
},
|
|
761
|
-
"
|
|
762
|
-
|
|
763
|
-
|
|
129
|
+
"required": ["path"],
|
|
130
|
+
"additionalProperties": false
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
"type": "object",
|
|
134
|
+
"properties": {
|
|
135
|
+
"version": {
|
|
136
|
+
"type": "string",
|
|
137
|
+
"description": "Version range from registry"
|
|
138
|
+
},
|
|
139
|
+
"registry": {
|
|
140
|
+
"type": "string",
|
|
141
|
+
"format": "uri",
|
|
142
|
+
"description": "Custom registry URL"
|
|
143
|
+
}
|
|
764
144
|
},
|
|
765
|
-
"
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
"additionalProperties":
|
|
779
|
-
"description": "
|
|
780
|
-
|
|
781
|
-
]
|
|
145
|
+
"required": ["version"],
|
|
146
|
+
"additionalProperties": false
|
|
147
|
+
}
|
|
148
|
+
],
|
|
149
|
+
"description": "Where to load the skill from"
|
|
150
|
+
},
|
|
151
|
+
"enabled": {
|
|
152
|
+
"type": "boolean",
|
|
153
|
+
"default": true,
|
|
154
|
+
"description": "Whether skill is active"
|
|
155
|
+
},
|
|
156
|
+
"config": {
|
|
157
|
+
"type": "object",
|
|
158
|
+
"additionalProperties": {},
|
|
159
|
+
"description": "Skill-specific configuration"
|
|
160
|
+
}
|
|
782
161
|
},
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
|
|
793
|
-
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
|
|
802
|
-
"description": "Shorthand: array of editor names or configs"
|
|
162
|
+
"required": ["source"],
|
|
163
|
+
"additionalProperties": false
|
|
164
|
+
}
|
|
165
|
+
],
|
|
166
|
+
"description": "Skill reference (Agent Skills spec compliant)"
|
|
167
|
+
},
|
|
168
|
+
{
|
|
169
|
+
"type": "boolean",
|
|
170
|
+
"const": false
|
|
171
|
+
}
|
|
172
|
+
]
|
|
173
|
+
},
|
|
174
|
+
"propertyNames": {
|
|
175
|
+
"minLength": 1,
|
|
176
|
+
"maxLength": 64,
|
|
177
|
+
"pattern": "^[a-z0-9]+(-[a-z0-9]+)*$"
|
|
178
|
+
},
|
|
179
|
+
"description": "Map of skill names to their configurations (or false to disable)",
|
|
180
|
+
"default": {}
|
|
803
181
|
},
|
|
804
|
-
{
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
|
|
809
|
-
"properties": {
|
|
810
|
-
"enabled": {
|
|
811
|
-
"type": "boolean",
|
|
812
|
-
"default": true,
|
|
813
|
-
"description": "Whether to configure this editor"
|
|
814
|
-
},
|
|
815
|
-
"rules": {
|
|
816
|
-
"type": "object",
|
|
817
|
-
"additionalProperties": {
|
|
182
|
+
"mcp": {
|
|
183
|
+
"type": "object",
|
|
184
|
+
"additionalProperties": {
|
|
185
|
+
"anyOf": [
|
|
186
|
+
{
|
|
818
187
|
"anyOf": [
|
|
819
|
-
|
|
820
|
-
|
|
821
|
-
{
|
|
822
|
-
|
|
823
|
-
|
|
824
|
-
|
|
825
|
-
|
|
826
|
-
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
|
|
834
|
-
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
|
|
188
|
+
{
|
|
189
|
+
"type": "object",
|
|
190
|
+
"properties": {
|
|
191
|
+
"enabled": {
|
|
192
|
+
"type": "boolean",
|
|
193
|
+
"description": "Whether server is active (default: true)"
|
|
194
|
+
},
|
|
195
|
+
"tools": {
|
|
196
|
+
"anyOf": [
|
|
197
|
+
{
|
|
198
|
+
"type": "array",
|
|
199
|
+
"items": {
|
|
200
|
+
"type": "string"
|
|
201
|
+
},
|
|
202
|
+
"description": "Allowed tool names"
|
|
203
|
+
},
|
|
204
|
+
{
|
|
205
|
+
"type": "object",
|
|
206
|
+
"properties": {
|
|
207
|
+
"include": {
|
|
208
|
+
"type": "array",
|
|
209
|
+
"items": {
|
|
210
|
+
"type": "string"
|
|
211
|
+
},
|
|
212
|
+
"description": "Tools to include"
|
|
213
|
+
},
|
|
214
|
+
"exclude": {
|
|
215
|
+
"type": "array",
|
|
216
|
+
"items": {
|
|
217
|
+
"type": "string"
|
|
218
|
+
},
|
|
219
|
+
"description": "Tools to exclude"
|
|
220
|
+
}
|
|
221
|
+
},
|
|
222
|
+
"additionalProperties": false
|
|
223
|
+
}
|
|
839
224
|
],
|
|
840
|
-
"
|
|
841
|
-
|
|
842
|
-
|
|
843
|
-
"globs": {
|
|
225
|
+
"description": "Tool access control"
|
|
226
|
+
},
|
|
227
|
+
"disabledTools": {
|
|
844
228
|
"type": "array",
|
|
845
229
|
"items": {
|
|
846
|
-
|
|
230
|
+
"type": "string"
|
|
847
231
|
},
|
|
848
|
-
"description": "
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
"
|
|
852
|
-
|
|
853
|
-
|
|
854
|
-
|
|
232
|
+
"description": "Tools to disable (Windsurf format)"
|
|
233
|
+
},
|
|
234
|
+
"resources": {
|
|
235
|
+
"anyOf": [
|
|
236
|
+
{
|
|
237
|
+
"type": "array",
|
|
238
|
+
"items": {
|
|
239
|
+
"type": "string"
|
|
240
|
+
},
|
|
241
|
+
"description": "Allowed resource patterns (glob)"
|
|
242
|
+
},
|
|
243
|
+
{
|
|
244
|
+
"type": "object",
|
|
245
|
+
"properties": {
|
|
246
|
+
"include": {
|
|
247
|
+
"type": "array",
|
|
248
|
+
"items": {
|
|
249
|
+
"type": "string"
|
|
250
|
+
},
|
|
251
|
+
"description": "Resource patterns to include"
|
|
252
|
+
},
|
|
253
|
+
"exclude": {
|
|
254
|
+
"type": "array",
|
|
255
|
+
"items": {
|
|
256
|
+
"type": "string"
|
|
257
|
+
},
|
|
258
|
+
"description": "Resource patterns to exclude"
|
|
259
|
+
}
|
|
260
|
+
},
|
|
261
|
+
"additionalProperties": false
|
|
262
|
+
}
|
|
263
|
+
],
|
|
264
|
+
"description": "Resource access control"
|
|
265
|
+
},
|
|
266
|
+
"autoStart": {
|
|
267
|
+
"type": "boolean",
|
|
268
|
+
"description": "Start with editor (default: true)"
|
|
269
|
+
},
|
|
270
|
+
"restartOnFailure": {
|
|
271
|
+
"type": "boolean",
|
|
272
|
+
"description": "Auto-restart on crash (default: true)"
|
|
273
|
+
},
|
|
274
|
+
"maxRestarts": {
|
|
275
|
+
"type": "integer",
|
|
276
|
+
"exclusiveMinimum": 0,
|
|
277
|
+
"description": "Max restart attempts (default: 3)"
|
|
278
|
+
},
|
|
279
|
+
"command": {
|
|
855
280
|
"type": "string",
|
|
856
|
-
"description": "
|
|
857
|
-
|
|
858
|
-
|
|
281
|
+
"description": "Command to execute"
|
|
282
|
+
},
|
|
283
|
+
"args": {
|
|
284
|
+
"type": "array",
|
|
285
|
+
"items": {
|
|
286
|
+
"type": "string"
|
|
287
|
+
},
|
|
288
|
+
"description": "Command arguments"
|
|
289
|
+
},
|
|
290
|
+
"env": {
|
|
859
291
|
"type": "object",
|
|
860
|
-
"
|
|
861
|
-
|
|
862
|
-
|
|
863
|
-
"description": "Git repository URL or shorthand (e.g., github:user/repo)"
|
|
864
|
-
},
|
|
865
|
-
"path": {
|
|
866
|
-
"type": "string",
|
|
867
|
-
"description": "Path to rule file within repo (default: root)"
|
|
868
|
-
},
|
|
869
|
-
"ref": {
|
|
870
|
-
"type": "string",
|
|
871
|
-
"description": "Branch, tag, or commit (default: main/master)"
|
|
872
|
-
}
|
|
292
|
+
"additionalProperties": {
|
|
293
|
+
"type": "string",
|
|
294
|
+
"description": "Environment variable value. Use ${VAR_NAME} for dynamic resolution."
|
|
873
295
|
},
|
|
874
|
-
"
|
|
875
|
-
|
|
296
|
+
"description": "Environment variables"
|
|
297
|
+
},
|
|
298
|
+
"cwd": {
|
|
299
|
+
"type": "string",
|
|
300
|
+
"description": "Working directory"
|
|
301
|
+
},
|
|
302
|
+
"shell": {
|
|
303
|
+
"type": "boolean",
|
|
304
|
+
"description": "Run in shell"
|
|
305
|
+
}
|
|
306
|
+
},
|
|
307
|
+
"required": ["command"],
|
|
308
|
+
"additionalProperties": false
|
|
309
|
+
},
|
|
310
|
+
{
|
|
311
|
+
"type": "object",
|
|
312
|
+
"properties": {
|
|
313
|
+
"enabled": {
|
|
314
|
+
"type": "boolean",
|
|
315
|
+
"description": "Whether server is active (default: true)"
|
|
316
|
+
},
|
|
317
|
+
"tools": {
|
|
318
|
+
"anyOf": [
|
|
319
|
+
{
|
|
320
|
+
"type": "array",
|
|
321
|
+
"items": {
|
|
322
|
+
"type": "string"
|
|
323
|
+
},
|
|
324
|
+
"description": "Allowed tool names"
|
|
325
|
+
},
|
|
326
|
+
{
|
|
327
|
+
"type": "object",
|
|
328
|
+
"properties": {
|
|
329
|
+
"include": {
|
|
330
|
+
"type": "array",
|
|
331
|
+
"items": {
|
|
332
|
+
"type": "string"
|
|
333
|
+
},
|
|
334
|
+
"description": "Tools to include"
|
|
335
|
+
},
|
|
336
|
+
"exclude": {
|
|
337
|
+
"type": "array",
|
|
338
|
+
"items": {
|
|
339
|
+
"type": "string"
|
|
340
|
+
},
|
|
341
|
+
"description": "Tools to exclude"
|
|
342
|
+
}
|
|
343
|
+
},
|
|
344
|
+
"additionalProperties": false
|
|
345
|
+
}
|
|
876
346
|
],
|
|
877
|
-
"
|
|
878
|
-
|
|
879
|
-
|
|
880
|
-
|
|
881
|
-
"
|
|
882
|
-
|
|
883
|
-
"npm": {
|
|
884
|
-
"type": "string",
|
|
885
|
-
"description": "NPM package name (e.g., \"@company/rules\")"
|
|
886
|
-
},
|
|
887
|
-
"path": {
|
|
888
|
-
"type": "string",
|
|
889
|
-
"description": "Path to file within package (e.g., \"rules/style.md\")"
|
|
890
|
-
},
|
|
891
|
-
"version": {
|
|
892
|
-
"type": "string",
|
|
893
|
-
"description": "Version to auto-install (omit to use project node_modules)"
|
|
894
|
-
}
|
|
347
|
+
"description": "Tool access control"
|
|
348
|
+
},
|
|
349
|
+
"disabledTools": {
|
|
350
|
+
"type": "array",
|
|
351
|
+
"items": {
|
|
352
|
+
"type": "string"
|
|
895
353
|
},
|
|
896
|
-
"
|
|
897
|
-
|
|
898
|
-
|
|
354
|
+
"description": "Tools to disable (Windsurf format)"
|
|
355
|
+
},
|
|
356
|
+
"resources": {
|
|
357
|
+
"anyOf": [
|
|
358
|
+
{
|
|
359
|
+
"type": "array",
|
|
360
|
+
"items": {
|
|
361
|
+
"type": "string"
|
|
362
|
+
},
|
|
363
|
+
"description": "Allowed resource patterns (glob)"
|
|
364
|
+
},
|
|
365
|
+
{
|
|
366
|
+
"type": "object",
|
|
367
|
+
"properties": {
|
|
368
|
+
"include": {
|
|
369
|
+
"type": "array",
|
|
370
|
+
"items": {
|
|
371
|
+
"type": "string"
|
|
372
|
+
},
|
|
373
|
+
"description": "Resource patterns to include"
|
|
374
|
+
},
|
|
375
|
+
"exclude": {
|
|
376
|
+
"type": "array",
|
|
377
|
+
"items": {
|
|
378
|
+
"type": "string"
|
|
379
|
+
},
|
|
380
|
+
"description": "Resource patterns to exclude"
|
|
381
|
+
}
|
|
382
|
+
},
|
|
383
|
+
"additionalProperties": false
|
|
384
|
+
}
|
|
899
385
|
],
|
|
900
|
-
"
|
|
901
|
-
|
|
902
|
-
|
|
903
|
-
|
|
904
|
-
|
|
905
|
-
|
|
906
|
-
|
|
907
|
-
|
|
908
|
-
|
|
909
|
-
|
|
910
|
-
|
|
911
|
-
|
|
912
|
-
|
|
386
|
+
"description": "Resource access control"
|
|
387
|
+
},
|
|
388
|
+
"autoStart": {
|
|
389
|
+
"type": "boolean",
|
|
390
|
+
"description": "Start with editor (default: true)"
|
|
391
|
+
},
|
|
392
|
+
"restartOnFailure": {
|
|
393
|
+
"type": "boolean",
|
|
394
|
+
"description": "Auto-restart on crash (default: true)"
|
|
395
|
+
},
|
|
396
|
+
"maxRestarts": {
|
|
397
|
+
"type": "integer",
|
|
398
|
+
"exclusiveMinimum": 0,
|
|
399
|
+
"description": "Max restart attempts (default: 3)"
|
|
400
|
+
},
|
|
401
|
+
"url": {
|
|
402
|
+
"type": "string",
|
|
403
|
+
"format": "uri",
|
|
404
|
+
"description": "MCP endpoint URL (Streamable HTTP)"
|
|
405
|
+
},
|
|
406
|
+
"headers": {
|
|
407
|
+
"type": "object",
|
|
408
|
+
"additionalProperties": {
|
|
409
|
+
"type": "string",
|
|
410
|
+
"description": "Environment variable value. Use ${VAR_NAME} for dynamic resolution."
|
|
411
|
+
},
|
|
412
|
+
"description": "HTTP headers"
|
|
413
|
+
},
|
|
414
|
+
"timeout": {
|
|
415
|
+
"type": "number",
|
|
416
|
+
"exclusiveMinimum": 0,
|
|
417
|
+
"description": "Connection timeout (ms)"
|
|
418
|
+
},
|
|
419
|
+
"validateOrigin": {
|
|
420
|
+
"type": "boolean",
|
|
421
|
+
"description": "Validate Origin header (security)"
|
|
422
|
+
}
|
|
423
|
+
},
|
|
424
|
+
"required": ["url"],
|
|
425
|
+
"additionalProperties": false
|
|
426
|
+
}
|
|
913
427
|
]
|
|
914
|
-
|
|
915
|
-
|
|
916
|
-
"
|
|
917
|
-
"
|
|
918
|
-
|
|
919
|
-
|
|
920
|
-
|
|
921
|
-
|
|
922
|
-
|
|
923
|
-
|
|
924
|
-
|
|
925
|
-
|
|
926
|
-
|
|
927
|
-
|
|
928
|
-
|
|
929
|
-
|
|
930
|
-
|
|
931
|
-
|
|
932
|
-
"properties": {
|
|
933
|
-
"enabled": {
|
|
934
|
-
"type": "boolean",
|
|
935
|
-
"default": true,
|
|
936
|
-
"description": "Whether to configure this editor"
|
|
937
|
-
},
|
|
938
|
-
"rules": {
|
|
939
|
-
"type": "object",
|
|
940
|
-
"additionalProperties": {
|
|
428
|
+
},
|
|
429
|
+
{
|
|
430
|
+
"type": "boolean",
|
|
431
|
+
"const": false
|
|
432
|
+
}
|
|
433
|
+
]
|
|
434
|
+
},
|
|
435
|
+
"propertyNames": {
|
|
436
|
+
"minLength": 1
|
|
437
|
+
},
|
|
438
|
+
"description": "Map of MCP server names to configurations (or false to disable)",
|
|
439
|
+
"default": {}
|
|
440
|
+
},
|
|
441
|
+
"rules": {
|
|
442
|
+
"type": "object",
|
|
443
|
+
"additionalProperties": {
|
|
444
|
+
"anyOf": [
|
|
445
|
+
{
|
|
941
446
|
"anyOf": [
|
|
942
|
-
|
|
943
|
-
|
|
944
|
-
|
|
945
|
-
|
|
946
|
-
|
|
947
|
-
|
|
948
|
-
{
|
|
949
|
-
|
|
950
|
-
"properties": {
|
|
951
|
-
"description": {
|
|
447
|
+
{
|
|
448
|
+
"type": "string",
|
|
449
|
+
"description": "Source reference: local path (./, ../, /, file:), git URL (https://), or git shorthand (github:)"
|
|
450
|
+
},
|
|
451
|
+
{
|
|
452
|
+
"type": "object",
|
|
453
|
+
"properties": {
|
|
454
|
+
"description": {
|
|
952
455
|
"type": "string",
|
|
953
456
|
"description": "When the rule should apply (required for auto mode)"
|
|
954
|
-
|
|
955
|
-
|
|
457
|
+
},
|
|
458
|
+
"activation": {
|
|
956
459
|
"type": "string",
|
|
957
|
-
"enum": [
|
|
958
|
-
"always",
|
|
959
|
-
"auto",
|
|
960
|
-
"glob",
|
|
961
|
-
"manual"
|
|
962
|
-
],
|
|
460
|
+
"enum": ["always", "auto", "glob", "manual"],
|
|
963
461
|
"default": "always",
|
|
964
462
|
"description": "When the rule should be activated"
|
|
965
|
-
|
|
966
|
-
|
|
463
|
+
},
|
|
464
|
+
"globs": {
|
|
967
465
|
"type": "array",
|
|
968
466
|
"items": {
|
|
969
|
-
|
|
467
|
+
"type": "string"
|
|
970
468
|
},
|
|
971
469
|
"description": "File patterns (required for glob mode)"
|
|
972
|
-
|
|
973
|
-
|
|
470
|
+
},
|
|
471
|
+
"content": {
|
|
974
472
|
"type": "string",
|
|
975
473
|
"description": "Inline rule content"
|
|
976
|
-
|
|
977
|
-
|
|
474
|
+
},
|
|
475
|
+
"path": {
|
|
978
476
|
"type": "string",
|
|
979
477
|
"description": "Local file path to rule content"
|
|
980
|
-
|
|
981
|
-
|
|
478
|
+
},
|
|
479
|
+
"git": {
|
|
982
480
|
"type": "object",
|
|
983
481
|
"properties": {
|
|
984
|
-
|
|
985
|
-
|
|
986
|
-
|
|
987
|
-
|
|
988
|
-
|
|
989
|
-
|
|
990
|
-
|
|
991
|
-
|
|
992
|
-
|
|
993
|
-
|
|
994
|
-
|
|
995
|
-
|
|
482
|
+
"url": {
|
|
483
|
+
"type": "string",
|
|
484
|
+
"description": "Git repository URL or shorthand (e.g., github:user/repo)"
|
|
485
|
+
},
|
|
486
|
+
"path": {
|
|
487
|
+
"type": "string",
|
|
488
|
+
"description": "Path to rule file within repo (default: root)"
|
|
489
|
+
},
|
|
490
|
+
"ref": {
|
|
491
|
+
"type": "string",
|
|
492
|
+
"description": "Branch, tag, or commit (default: main/master)"
|
|
493
|
+
}
|
|
996
494
|
},
|
|
997
|
-
"required": [
|
|
998
|
-
"url"
|
|
999
|
-
],
|
|
495
|
+
"required": ["url"],
|
|
1000
496
|
"additionalProperties": false,
|
|
1001
497
|
"description": "Git repository source"
|
|
1002
|
-
|
|
1003
|
-
|
|
498
|
+
},
|
|
499
|
+
"npm": {
|
|
1004
500
|
"type": "object",
|
|
1005
501
|
"properties": {
|
|
1006
|
-
|
|
1007
|
-
|
|
1008
|
-
|
|
1009
|
-
|
|
1010
|
-
|
|
1011
|
-
|
|
1012
|
-
|
|
1013
|
-
|
|
1014
|
-
|
|
1015
|
-
|
|
1016
|
-
|
|
1017
|
-
|
|
502
|
+
"npm": {
|
|
503
|
+
"type": "string",
|
|
504
|
+
"description": "NPM package name (e.g., \"@company/rules\")"
|
|
505
|
+
},
|
|
506
|
+
"path": {
|
|
507
|
+
"type": "string",
|
|
508
|
+
"description": "Path to file within package (e.g., \"rules/style.md\")"
|
|
509
|
+
},
|
|
510
|
+
"version": {
|
|
511
|
+
"type": "string",
|
|
512
|
+
"description": "Version to auto-install (omit to use project node_modules)"
|
|
513
|
+
}
|
|
1018
514
|
},
|
|
1019
|
-
"required": [
|
|
1020
|
-
"npm",
|
|
1021
|
-
"path"
|
|
1022
|
-
],
|
|
515
|
+
"required": ["npm", "path"],
|
|
1023
516
|
"additionalProperties": false,
|
|
1024
517
|
"description": "NPM package source"
|
|
1025
|
-
|
|
1026
|
-
|
|
1027
|
-
|
|
1028
|
-
|
|
1029
|
-
|
|
1030
|
-
]
|
|
1031
|
-
},
|
|
1032
|
-
{
|
|
1033
|
-
"type": "boolean",
|
|
1034
|
-
"const": false
|
|
1035
|
-
}
|
|
518
|
+
}
|
|
519
|
+
},
|
|
520
|
+
"additionalProperties": false,
|
|
521
|
+
"description": "Rule with metadata and content source"
|
|
522
|
+
}
|
|
1036
523
|
]
|
|
1037
|
-
|
|
1038
|
-
|
|
1039
|
-
"
|
|
1040
|
-
"
|
|
1041
|
-
|
|
1042
|
-
|
|
1043
|
-
|
|
1044
|
-
|
|
1045
|
-
|
|
1046
|
-
|
|
1047
|
-
|
|
1048
|
-
|
|
1049
|
-
|
|
1050
|
-
|
|
1051
|
-
|
|
1052
|
-
|
|
1053
|
-
|
|
1054
|
-
|
|
1055
|
-
"
|
|
1056
|
-
|
|
1057
|
-
"type": "boolean",
|
|
1058
|
-
"default": true,
|
|
1059
|
-
"description": "Whether to configure this editor"
|
|
1060
|
-
},
|
|
1061
|
-
"rules": {
|
|
1062
|
-
"type": "object",
|
|
1063
|
-
"additionalProperties": {
|
|
524
|
+
},
|
|
525
|
+
{
|
|
526
|
+
"type": "boolean",
|
|
527
|
+
"const": false
|
|
528
|
+
}
|
|
529
|
+
]
|
|
530
|
+
},
|
|
531
|
+
"propertyNames": {
|
|
532
|
+
"minLength": 1,
|
|
533
|
+
"maxLength": 64,
|
|
534
|
+
"pattern": "^[a-z0-9]+(-[a-z0-9]+)*$"
|
|
535
|
+
},
|
|
536
|
+
"description": "Map of rule names to their definitions (or false to disable)",
|
|
537
|
+
"default": {}
|
|
538
|
+
},
|
|
539
|
+
"prompts": {
|
|
540
|
+
"type": "object",
|
|
541
|
+
"additionalProperties": {
|
|
542
|
+
"anyOf": [
|
|
543
|
+
{
|
|
1064
544
|
"anyOf": [
|
|
1065
|
-
|
|
1066
|
-
|
|
1067
|
-
|
|
1068
|
-
|
|
1069
|
-
|
|
1070
|
-
|
|
1071
|
-
{
|
|
1072
|
-
|
|
1073
|
-
"properties": {
|
|
1074
|
-
"description": {
|
|
545
|
+
{
|
|
546
|
+
"type": "string",
|
|
547
|
+
"description": "Source reference: local path (./, ../, /, file:), git URL (https://), or git shorthand (github:)"
|
|
548
|
+
},
|
|
549
|
+
{
|
|
550
|
+
"type": "object",
|
|
551
|
+
"properties": {
|
|
552
|
+
"description": {
|
|
1075
553
|
"type": "string",
|
|
1076
|
-
"description": "
|
|
1077
|
-
|
|
1078
|
-
|
|
554
|
+
"description": "Shown in command picker"
|
|
555
|
+
},
|
|
556
|
+
"argumentHint": {
|
|
1079
557
|
"type": "string",
|
|
1080
|
-
"
|
|
1081
|
-
|
|
1082
|
-
|
|
1083
|
-
"glob",
|
|
1084
|
-
"manual"
|
|
1085
|
-
],
|
|
1086
|
-
"default": "always",
|
|
1087
|
-
"description": "When the rule should be activated"
|
|
1088
|
-
},
|
|
1089
|
-
"globs": {
|
|
1090
|
-
"type": "array",
|
|
1091
|
-
"items": {
|
|
1092
|
-
"type": "string"
|
|
1093
|
-
},
|
|
1094
|
-
"description": "File patterns (required for glob mode)"
|
|
1095
|
-
},
|
|
1096
|
-
"content": {
|
|
558
|
+
"description": "Hint for arguments (e.g., \"[file] [message]\")"
|
|
559
|
+
},
|
|
560
|
+
"content": {
|
|
1097
561
|
"type": "string",
|
|
1098
|
-
"description": "Inline
|
|
1099
|
-
|
|
1100
|
-
|
|
562
|
+
"description": "Inline prompt content"
|
|
563
|
+
},
|
|
564
|
+
"path": {
|
|
1101
565
|
"type": "string",
|
|
1102
|
-
"description": "Local file path to
|
|
1103
|
-
|
|
1104
|
-
|
|
566
|
+
"description": "Local file path to prompt content"
|
|
567
|
+
},
|
|
568
|
+
"git": {
|
|
1105
569
|
"type": "object",
|
|
1106
570
|
"properties": {
|
|
1107
|
-
|
|
1108
|
-
|
|
1109
|
-
|
|
1110
|
-
|
|
1111
|
-
|
|
1112
|
-
|
|
1113
|
-
|
|
1114
|
-
|
|
1115
|
-
|
|
1116
|
-
|
|
1117
|
-
|
|
1118
|
-
|
|
571
|
+
"url": {
|
|
572
|
+
"type": "string",
|
|
573
|
+
"description": "Git repository URL or shorthand (e.g., github:user/repo)"
|
|
574
|
+
},
|
|
575
|
+
"path": {
|
|
576
|
+
"type": "string",
|
|
577
|
+
"description": "Path to rule file within repo (default: root)"
|
|
578
|
+
},
|
|
579
|
+
"ref": {
|
|
580
|
+
"type": "string",
|
|
581
|
+
"description": "Branch, tag, or commit (default: main/master)"
|
|
582
|
+
}
|
|
1119
583
|
},
|
|
1120
|
-
"required": [
|
|
1121
|
-
"url"
|
|
1122
|
-
],
|
|
584
|
+
"required": ["url"],
|
|
1123
585
|
"additionalProperties": false,
|
|
1124
586
|
"description": "Git repository source"
|
|
1125
|
-
|
|
1126
|
-
|
|
587
|
+
},
|
|
588
|
+
"npm": {
|
|
1127
589
|
"type": "object",
|
|
1128
590
|
"properties": {
|
|
1129
|
-
|
|
1130
|
-
|
|
1131
|
-
|
|
1132
|
-
|
|
1133
|
-
|
|
1134
|
-
|
|
1135
|
-
|
|
1136
|
-
|
|
1137
|
-
|
|
1138
|
-
|
|
1139
|
-
|
|
1140
|
-
|
|
591
|
+
"npm": {
|
|
592
|
+
"type": "string",
|
|
593
|
+
"description": "NPM package name (e.g., \"@company/rules\")"
|
|
594
|
+
},
|
|
595
|
+
"path": {
|
|
596
|
+
"type": "string",
|
|
597
|
+
"description": "Path to file within package (e.g., \"rules/style.md\")"
|
|
598
|
+
},
|
|
599
|
+
"version": {
|
|
600
|
+
"type": "string",
|
|
601
|
+
"description": "Version to auto-install (omit to use project node_modules)"
|
|
602
|
+
}
|
|
1141
603
|
},
|
|
1142
|
-
"required": [
|
|
1143
|
-
"npm",
|
|
1144
|
-
"path"
|
|
1145
|
-
],
|
|
604
|
+
"required": ["npm", "path"],
|
|
1146
605
|
"additionalProperties": false,
|
|
1147
606
|
"description": "NPM package source"
|
|
1148
|
-
|
|
1149
|
-
|
|
1150
|
-
|
|
1151
|
-
|
|
1152
|
-
|
|
1153
|
-
]
|
|
1154
|
-
},
|
|
1155
|
-
{
|
|
1156
|
-
"type": "boolean",
|
|
1157
|
-
"const": false
|
|
1158
|
-
}
|
|
607
|
+
}
|
|
608
|
+
},
|
|
609
|
+
"additionalProperties": false,
|
|
610
|
+
"description": "Prompt/command definition"
|
|
611
|
+
}
|
|
1159
612
|
]
|
|
1160
|
-
|
|
1161
|
-
|
|
1162
|
-
"
|
|
1163
|
-
"
|
|
1164
|
-
|
|
1165
|
-
|
|
1166
|
-
|
|
1167
|
-
|
|
1168
|
-
|
|
1169
|
-
|
|
1170
|
-
|
|
1171
|
-
|
|
1172
|
-
|
|
1173
|
-
|
|
1174
|
-
|
|
1175
|
-
|
|
1176
|
-
|
|
1177
|
-
|
|
1178
|
-
|
|
1179
|
-
|
|
1180
|
-
|
|
1181
|
-
|
|
1182
|
-
"default": true,
|
|
1183
|
-
"description": "Whether to configure this editor"
|
|
1184
|
-
},
|
|
1185
|
-
"rules": {
|
|
1186
|
-
"type": "object",
|
|
1187
|
-
"additionalProperties": {
|
|
1188
|
-
"anyOf": [
|
|
1189
|
-
{
|
|
1190
|
-
"anyOf": [
|
|
1191
|
-
{
|
|
613
|
+
},
|
|
614
|
+
{
|
|
615
|
+
"type": "boolean",
|
|
616
|
+
"const": false
|
|
617
|
+
}
|
|
618
|
+
]
|
|
619
|
+
},
|
|
620
|
+
"propertyNames": {
|
|
621
|
+
"minLength": 1,
|
|
622
|
+
"maxLength": 64,
|
|
623
|
+
"pattern": "^[a-z0-9]+(-[a-z0-9]+)*$"
|
|
624
|
+
},
|
|
625
|
+
"description": "Map of prompt names to their definitions (or false to disable)",
|
|
626
|
+
"default": {}
|
|
627
|
+
},
|
|
628
|
+
"editors": {
|
|
629
|
+
"anyOf": [
|
|
630
|
+
{
|
|
631
|
+
"type": "array",
|
|
632
|
+
"items": {
|
|
633
|
+
"anyOf": [
|
|
634
|
+
{
|
|
1192
635
|
"type": "string",
|
|
1193
|
-
"
|
|
1194
|
-
|
|
1195
|
-
|
|
636
|
+
"enum": [
|
|
637
|
+
"windsurf",
|
|
638
|
+
"cursor",
|
|
639
|
+
"claude-code",
|
|
640
|
+
"copilot",
|
|
641
|
+
"zed",
|
|
642
|
+
"neovim"
|
|
643
|
+
],
|
|
644
|
+
"description": "Supported editor/agent"
|
|
645
|
+
},
|
|
646
|
+
{
|
|
1196
647
|
"type": "object",
|
|
1197
|
-
"
|
|
1198
|
-
|
|
1199
|
-
|
|
1200
|
-
|
|
1201
|
-
|
|
1202
|
-
|
|
1203
|
-
|
|
1204
|
-
"enum": [
|
|
1205
|
-
"always",
|
|
1206
|
-
"auto",
|
|
1207
|
-
"glob",
|
|
1208
|
-
"manual"
|
|
1209
|
-
],
|
|
1210
|
-
"default": "always",
|
|
1211
|
-
"description": "When the rule should be activated"
|
|
1212
|
-
},
|
|
1213
|
-
"globs": {
|
|
1214
|
-
"type": "array",
|
|
1215
|
-
"items": {
|
|
1216
|
-
"type": "string"
|
|
1217
|
-
},
|
|
1218
|
-
"description": "File patterns (required for glob mode)"
|
|
1219
|
-
},
|
|
1220
|
-
"content": {
|
|
1221
|
-
"type": "string",
|
|
1222
|
-
"description": "Inline rule content"
|
|
1223
|
-
},
|
|
1224
|
-
"path": {
|
|
1225
|
-
"type": "string",
|
|
1226
|
-
"description": "Local file path to rule content"
|
|
1227
|
-
},
|
|
1228
|
-
"git": {
|
|
1229
|
-
"type": "object",
|
|
1230
|
-
"properties": {
|
|
1231
|
-
"url": {
|
|
1232
|
-
"type": "string",
|
|
1233
|
-
"description": "Git repository URL or shorthand (e.g., github:user/repo)"
|
|
648
|
+
"additionalProperties": {
|
|
649
|
+
"type": "object",
|
|
650
|
+
"properties": {
|
|
651
|
+
"enabled": {
|
|
652
|
+
"type": "boolean",
|
|
653
|
+
"default": true,
|
|
654
|
+
"description": "Whether to configure this editor"
|
|
1234
655
|
},
|
|
1235
|
-
"
|
|
1236
|
-
|
|
1237
|
-
|
|
1238
|
-
|
|
1239
|
-
|
|
1240
|
-
|
|
1241
|
-
|
|
656
|
+
"rules": {
|
|
657
|
+
"type": "object",
|
|
658
|
+
"additionalProperties": {
|
|
659
|
+
"anyOf": [
|
|
660
|
+
{
|
|
661
|
+
"anyOf": [
|
|
662
|
+
{
|
|
663
|
+
"type": "string",
|
|
664
|
+
"description": "Source reference: local path (./, ../, /, file:), git URL (https://), or git shorthand (github:)"
|
|
665
|
+
},
|
|
666
|
+
{
|
|
667
|
+
"type": "object",
|
|
668
|
+
"properties": {
|
|
669
|
+
"description": {
|
|
670
|
+
"type": "string",
|
|
671
|
+
"description": "When the rule should apply (required for auto mode)"
|
|
672
|
+
},
|
|
673
|
+
"activation": {
|
|
674
|
+
"type": "string",
|
|
675
|
+
"enum": [
|
|
676
|
+
"always",
|
|
677
|
+
"auto",
|
|
678
|
+
"glob",
|
|
679
|
+
"manual"
|
|
680
|
+
],
|
|
681
|
+
"default": "always",
|
|
682
|
+
"description": "When the rule should be activated"
|
|
683
|
+
},
|
|
684
|
+
"globs": {
|
|
685
|
+
"type": "array",
|
|
686
|
+
"items": {
|
|
687
|
+
"type": "string"
|
|
688
|
+
},
|
|
689
|
+
"description": "File patterns (required for glob mode)"
|
|
690
|
+
},
|
|
691
|
+
"content": {
|
|
692
|
+
"type": "string",
|
|
693
|
+
"description": "Inline rule content"
|
|
694
|
+
},
|
|
695
|
+
"path": {
|
|
696
|
+
"type": "string",
|
|
697
|
+
"description": "Local file path to rule content"
|
|
698
|
+
},
|
|
699
|
+
"git": {
|
|
700
|
+
"type": "object",
|
|
701
|
+
"properties": {
|
|
702
|
+
"url": {
|
|
703
|
+
"type": "string",
|
|
704
|
+
"description": "Git repository URL or shorthand (e.g., github:user/repo)"
|
|
705
|
+
},
|
|
706
|
+
"path": {
|
|
707
|
+
"type": "string",
|
|
708
|
+
"description": "Path to rule file within repo (default: root)"
|
|
709
|
+
},
|
|
710
|
+
"ref": {
|
|
711
|
+
"type": "string",
|
|
712
|
+
"description": "Branch, tag, or commit (default: main/master)"
|
|
713
|
+
}
|
|
714
|
+
},
|
|
715
|
+
"required": ["url"],
|
|
716
|
+
"additionalProperties": false,
|
|
717
|
+
"description": "Git repository source"
|
|
718
|
+
},
|
|
719
|
+
"npm": {
|
|
720
|
+
"type": "object",
|
|
721
|
+
"properties": {
|
|
722
|
+
"npm": {
|
|
723
|
+
"type": "string",
|
|
724
|
+
"description": "NPM package name (e.g., \"@company/rules\")"
|
|
725
|
+
},
|
|
726
|
+
"path": {
|
|
727
|
+
"type": "string",
|
|
728
|
+
"description": "Path to file within package (e.g., \"rules/style.md\")"
|
|
729
|
+
},
|
|
730
|
+
"version": {
|
|
731
|
+
"type": "string",
|
|
732
|
+
"description": "Version to auto-install (omit to use project node_modules)"
|
|
733
|
+
}
|
|
734
|
+
},
|
|
735
|
+
"required": ["npm", "path"],
|
|
736
|
+
"additionalProperties": false,
|
|
737
|
+
"description": "NPM package source"
|
|
738
|
+
}
|
|
739
|
+
},
|
|
740
|
+
"additionalProperties": false,
|
|
741
|
+
"description": "Rule with metadata and content source"
|
|
742
|
+
}
|
|
743
|
+
]
|
|
744
|
+
},
|
|
745
|
+
{
|
|
746
|
+
"type": "boolean",
|
|
747
|
+
"const": false
|
|
748
|
+
}
|
|
749
|
+
]
|
|
750
|
+
},
|
|
751
|
+
"propertyNames": {
|
|
752
|
+
"minLength": 1,
|
|
753
|
+
"maxLength": 64,
|
|
754
|
+
"pattern": "^[a-z0-9]+(-[a-z0-9]+)*$"
|
|
755
|
+
},
|
|
756
|
+
"description": "Editor-specific rules (in addition to global rules)"
|
|
1242
757
|
}
|
|
1243
|
-
|
|
1244
|
-
|
|
1245
|
-
|
|
1246
|
-
|
|
1247
|
-
|
|
1248
|
-
|
|
1249
|
-
|
|
1250
|
-
|
|
1251
|
-
|
|
1252
|
-
|
|
1253
|
-
|
|
1254
|
-
|
|
1255
|
-
|
|
1256
|
-
|
|
1257
|
-
|
|
1258
|
-
|
|
1259
|
-
|
|
758
|
+
},
|
|
759
|
+
"additionalProperties": false
|
|
760
|
+
}
|
|
761
|
+
}
|
|
762
|
+
]
|
|
763
|
+
},
|
|
764
|
+
"description": "Shorthand: array of editor names or configs"
|
|
765
|
+
},
|
|
766
|
+
{
|
|
767
|
+
"type": "object",
|
|
768
|
+
"properties": {
|
|
769
|
+
"windsurf": {
|
|
770
|
+
"type": "object",
|
|
771
|
+
"properties": {
|
|
772
|
+
"enabled": {
|
|
773
|
+
"type": "boolean",
|
|
774
|
+
"default": true,
|
|
775
|
+
"description": "Whether to configure this editor"
|
|
776
|
+
},
|
|
777
|
+
"rules": {
|
|
778
|
+
"type": "object",
|
|
779
|
+
"additionalProperties": {
|
|
780
|
+
"anyOf": [
|
|
781
|
+
{
|
|
782
|
+
"anyOf": [
|
|
783
|
+
{
|
|
784
|
+
"type": "string",
|
|
785
|
+
"description": "Source reference: local path (./, ../, /, file:), git URL (https://), or git shorthand (github:)"
|
|
786
|
+
},
|
|
787
|
+
{
|
|
788
|
+
"type": "object",
|
|
789
|
+
"properties": {
|
|
790
|
+
"description": {
|
|
791
|
+
"type": "string",
|
|
792
|
+
"description": "When the rule should apply (required for auto mode)"
|
|
793
|
+
},
|
|
794
|
+
"activation": {
|
|
795
|
+
"type": "string",
|
|
796
|
+
"enum": ["always", "auto", "glob", "manual"],
|
|
797
|
+
"default": "always",
|
|
798
|
+
"description": "When the rule should be activated"
|
|
799
|
+
},
|
|
800
|
+
"globs": {
|
|
801
|
+
"type": "array",
|
|
802
|
+
"items": {
|
|
803
|
+
"type": "string"
|
|
804
|
+
},
|
|
805
|
+
"description": "File patterns (required for glob mode)"
|
|
806
|
+
},
|
|
807
|
+
"content": {
|
|
808
|
+
"type": "string",
|
|
809
|
+
"description": "Inline rule content"
|
|
810
|
+
},
|
|
811
|
+
"path": {
|
|
812
|
+
"type": "string",
|
|
813
|
+
"description": "Local file path to rule content"
|
|
814
|
+
},
|
|
815
|
+
"git": {
|
|
816
|
+
"type": "object",
|
|
817
|
+
"properties": {
|
|
818
|
+
"url": {
|
|
819
|
+
"type": "string",
|
|
820
|
+
"description": "Git repository URL or shorthand (e.g., github:user/repo)"
|
|
821
|
+
},
|
|
822
|
+
"path": {
|
|
823
|
+
"type": "string",
|
|
824
|
+
"description": "Path to rule file within repo (default: root)"
|
|
825
|
+
},
|
|
826
|
+
"ref": {
|
|
827
|
+
"type": "string",
|
|
828
|
+
"description": "Branch, tag, or commit (default: main/master)"
|
|
829
|
+
}
|
|
830
|
+
},
|
|
831
|
+
"required": ["url"],
|
|
832
|
+
"additionalProperties": false,
|
|
833
|
+
"description": "Git repository source"
|
|
834
|
+
},
|
|
835
|
+
"npm": {
|
|
836
|
+
"type": "object",
|
|
837
|
+
"properties": {
|
|
838
|
+
"npm": {
|
|
839
|
+
"type": "string",
|
|
840
|
+
"description": "NPM package name (e.g., \"@company/rules\")"
|
|
841
|
+
},
|
|
842
|
+
"path": {
|
|
843
|
+
"type": "string",
|
|
844
|
+
"description": "Path to file within package (e.g., \"rules/style.md\")"
|
|
845
|
+
},
|
|
846
|
+
"version": {
|
|
847
|
+
"type": "string",
|
|
848
|
+
"description": "Version to auto-install (omit to use project node_modules)"
|
|
849
|
+
}
|
|
850
|
+
},
|
|
851
|
+
"required": ["npm", "path"],
|
|
852
|
+
"additionalProperties": false,
|
|
853
|
+
"description": "NPM package source"
|
|
854
|
+
}
|
|
855
|
+
},
|
|
856
|
+
"additionalProperties": false,
|
|
857
|
+
"description": "Rule with metadata and content source"
|
|
858
|
+
}
|
|
859
|
+
]
|
|
860
|
+
},
|
|
861
|
+
{
|
|
862
|
+
"type": "boolean",
|
|
863
|
+
"const": false
|
|
864
|
+
}
|
|
865
|
+
]
|
|
866
|
+
},
|
|
867
|
+
"propertyNames": {
|
|
868
|
+
"minLength": 1,
|
|
869
|
+
"maxLength": 64,
|
|
870
|
+
"pattern": "^[a-z0-9]+(-[a-z0-9]+)*$"
|
|
871
|
+
},
|
|
872
|
+
"description": "Editor-specific rules (in addition to global rules)"
|
|
873
|
+
},
|
|
874
|
+
"cascadeSettings": {
|
|
875
|
+
"type": "object",
|
|
876
|
+
"additionalProperties": {},
|
|
877
|
+
"description": "Windsurf Cascade settings"
|
|
878
|
+
}
|
|
879
|
+
},
|
|
880
|
+
"additionalProperties": false
|
|
881
|
+
},
|
|
882
|
+
"cursor": {
|
|
883
|
+
"type": "object",
|
|
884
|
+
"properties": {
|
|
885
|
+
"enabled": {
|
|
886
|
+
"type": "boolean",
|
|
887
|
+
"default": true,
|
|
888
|
+
"description": "Whether to configure this editor"
|
|
889
|
+
},
|
|
890
|
+
"rules": {
|
|
891
|
+
"type": "object",
|
|
892
|
+
"additionalProperties": {
|
|
893
|
+
"anyOf": [
|
|
894
|
+
{
|
|
895
|
+
"anyOf": [
|
|
896
|
+
{
|
|
897
|
+
"type": "string",
|
|
898
|
+
"description": "Source reference: local path (./, ../, /, file:), git URL (https://), or git shorthand (github:)"
|
|
899
|
+
},
|
|
900
|
+
{
|
|
901
|
+
"type": "object",
|
|
902
|
+
"properties": {
|
|
903
|
+
"description": {
|
|
904
|
+
"type": "string",
|
|
905
|
+
"description": "When the rule should apply (required for auto mode)"
|
|
906
|
+
},
|
|
907
|
+
"activation": {
|
|
908
|
+
"type": "string",
|
|
909
|
+
"enum": ["always", "auto", "glob", "manual"],
|
|
910
|
+
"default": "always",
|
|
911
|
+
"description": "When the rule should be activated"
|
|
912
|
+
},
|
|
913
|
+
"globs": {
|
|
914
|
+
"type": "array",
|
|
915
|
+
"items": {
|
|
916
|
+
"type": "string"
|
|
917
|
+
},
|
|
918
|
+
"description": "File patterns (required for glob mode)"
|
|
919
|
+
},
|
|
920
|
+
"content": {
|
|
921
|
+
"type": "string",
|
|
922
|
+
"description": "Inline rule content"
|
|
923
|
+
},
|
|
924
|
+
"path": {
|
|
925
|
+
"type": "string",
|
|
926
|
+
"description": "Local file path to rule content"
|
|
927
|
+
},
|
|
928
|
+
"git": {
|
|
929
|
+
"type": "object",
|
|
930
|
+
"properties": {
|
|
931
|
+
"url": {
|
|
932
|
+
"type": "string",
|
|
933
|
+
"description": "Git repository URL or shorthand (e.g., github:user/repo)"
|
|
934
|
+
},
|
|
935
|
+
"path": {
|
|
936
|
+
"type": "string",
|
|
937
|
+
"description": "Path to rule file within repo (default: root)"
|
|
938
|
+
},
|
|
939
|
+
"ref": {
|
|
940
|
+
"type": "string",
|
|
941
|
+
"description": "Branch, tag, or commit (default: main/master)"
|
|
942
|
+
}
|
|
943
|
+
},
|
|
944
|
+
"required": ["url"],
|
|
945
|
+
"additionalProperties": false,
|
|
946
|
+
"description": "Git repository source"
|
|
947
|
+
},
|
|
948
|
+
"npm": {
|
|
949
|
+
"type": "object",
|
|
950
|
+
"properties": {
|
|
951
|
+
"npm": {
|
|
952
|
+
"type": "string",
|
|
953
|
+
"description": "NPM package name (e.g., \"@company/rules\")"
|
|
954
|
+
},
|
|
955
|
+
"path": {
|
|
956
|
+
"type": "string",
|
|
957
|
+
"description": "Path to file within package (e.g., \"rules/style.md\")"
|
|
958
|
+
},
|
|
959
|
+
"version": {
|
|
960
|
+
"type": "string",
|
|
961
|
+
"description": "Version to auto-install (omit to use project node_modules)"
|
|
962
|
+
}
|
|
963
|
+
},
|
|
964
|
+
"required": ["npm", "path"],
|
|
965
|
+
"additionalProperties": false,
|
|
966
|
+
"description": "NPM package source"
|
|
967
|
+
}
|
|
968
|
+
},
|
|
969
|
+
"additionalProperties": false,
|
|
970
|
+
"description": "Rule with metadata and content source"
|
|
971
|
+
}
|
|
972
|
+
]
|
|
973
|
+
},
|
|
974
|
+
{
|
|
975
|
+
"type": "boolean",
|
|
976
|
+
"const": false
|
|
977
|
+
}
|
|
978
|
+
]
|
|
979
|
+
},
|
|
980
|
+
"propertyNames": {
|
|
981
|
+
"minLength": 1,
|
|
982
|
+
"maxLength": 64,
|
|
983
|
+
"pattern": "^[a-z0-9]+(-[a-z0-9]+)*$"
|
|
984
|
+
},
|
|
985
|
+
"description": "Editor-specific rules (in addition to global rules)"
|
|
986
|
+
},
|
|
987
|
+
"aiSettings": {
|
|
988
|
+
"type": "object",
|
|
989
|
+
"additionalProperties": {},
|
|
990
|
+
"description": "Cursor AI settings"
|
|
991
|
+
}
|
|
992
|
+
},
|
|
993
|
+
"additionalProperties": false
|
|
994
|
+
},
|
|
995
|
+
"claude-code": {
|
|
996
|
+
"type": "object",
|
|
997
|
+
"properties": {
|
|
998
|
+
"enabled": {
|
|
999
|
+
"type": "boolean",
|
|
1000
|
+
"default": true,
|
|
1001
|
+
"description": "Whether to configure this editor"
|
|
1002
|
+
},
|
|
1003
|
+
"rules": {
|
|
1004
|
+
"type": "object",
|
|
1005
|
+
"additionalProperties": {
|
|
1006
|
+
"anyOf": [
|
|
1007
|
+
{
|
|
1008
|
+
"anyOf": [
|
|
1009
|
+
{
|
|
1010
|
+
"type": "string",
|
|
1011
|
+
"description": "Source reference: local path (./, ../, /, file:), git URL (https://), or git shorthand (github:)"
|
|
1012
|
+
},
|
|
1013
|
+
{
|
|
1014
|
+
"type": "object",
|
|
1015
|
+
"properties": {
|
|
1016
|
+
"description": {
|
|
1017
|
+
"type": "string",
|
|
1018
|
+
"description": "When the rule should apply (required for auto mode)"
|
|
1019
|
+
},
|
|
1020
|
+
"activation": {
|
|
1021
|
+
"type": "string",
|
|
1022
|
+
"enum": ["always", "auto", "glob", "manual"],
|
|
1023
|
+
"default": "always",
|
|
1024
|
+
"description": "When the rule should be activated"
|
|
1025
|
+
},
|
|
1026
|
+
"globs": {
|
|
1027
|
+
"type": "array",
|
|
1028
|
+
"items": {
|
|
1029
|
+
"type": "string"
|
|
1030
|
+
},
|
|
1031
|
+
"description": "File patterns (required for glob mode)"
|
|
1032
|
+
},
|
|
1033
|
+
"content": {
|
|
1034
|
+
"type": "string",
|
|
1035
|
+
"description": "Inline rule content"
|
|
1036
|
+
},
|
|
1037
|
+
"path": {
|
|
1038
|
+
"type": "string",
|
|
1039
|
+
"description": "Local file path to rule content"
|
|
1040
|
+
},
|
|
1041
|
+
"git": {
|
|
1042
|
+
"type": "object",
|
|
1043
|
+
"properties": {
|
|
1044
|
+
"url": {
|
|
1045
|
+
"type": "string",
|
|
1046
|
+
"description": "Git repository URL or shorthand (e.g., github:user/repo)"
|
|
1047
|
+
},
|
|
1048
|
+
"path": {
|
|
1049
|
+
"type": "string",
|
|
1050
|
+
"description": "Path to rule file within repo (default: root)"
|
|
1051
|
+
},
|
|
1052
|
+
"ref": {
|
|
1053
|
+
"type": "string",
|
|
1054
|
+
"description": "Branch, tag, or commit (default: main/master)"
|
|
1055
|
+
}
|
|
1056
|
+
},
|
|
1057
|
+
"required": ["url"],
|
|
1058
|
+
"additionalProperties": false,
|
|
1059
|
+
"description": "Git repository source"
|
|
1060
|
+
},
|
|
1061
|
+
"npm": {
|
|
1062
|
+
"type": "object",
|
|
1063
|
+
"properties": {
|
|
1064
|
+
"npm": {
|
|
1065
|
+
"type": "string",
|
|
1066
|
+
"description": "NPM package name (e.g., \"@company/rules\")"
|
|
1067
|
+
},
|
|
1068
|
+
"path": {
|
|
1069
|
+
"type": "string",
|
|
1070
|
+
"description": "Path to file within package (e.g., \"rules/style.md\")"
|
|
1071
|
+
},
|
|
1072
|
+
"version": {
|
|
1073
|
+
"type": "string",
|
|
1074
|
+
"description": "Version to auto-install (omit to use project node_modules)"
|
|
1075
|
+
}
|
|
1076
|
+
},
|
|
1077
|
+
"required": ["npm", "path"],
|
|
1078
|
+
"additionalProperties": false,
|
|
1079
|
+
"description": "NPM package source"
|
|
1080
|
+
}
|
|
1081
|
+
},
|
|
1082
|
+
"additionalProperties": false,
|
|
1083
|
+
"description": "Rule with metadata and content source"
|
|
1084
|
+
}
|
|
1085
|
+
]
|
|
1086
|
+
},
|
|
1087
|
+
{
|
|
1088
|
+
"type": "boolean",
|
|
1089
|
+
"const": false
|
|
1090
|
+
}
|
|
1091
|
+
]
|
|
1092
|
+
},
|
|
1093
|
+
"propertyNames": {
|
|
1094
|
+
"minLength": 1,
|
|
1095
|
+
"maxLength": 64,
|
|
1096
|
+
"pattern": "^[a-z0-9]+(-[a-z0-9]+)*$"
|
|
1097
|
+
},
|
|
1098
|
+
"description": "Editor-specific rules (in addition to global rules)"
|
|
1099
|
+
},
|
|
1100
|
+
"permissions": {
|
|
1101
|
+
"type": "object",
|
|
1102
|
+
"additionalProperties": {},
|
|
1103
|
+
"description": "Claude Code permissions"
|
|
1104
|
+
}
|
|
1105
|
+
},
|
|
1106
|
+
"additionalProperties": false
|
|
1107
|
+
}
|
|
1108
|
+
},
|
|
1109
|
+
"additionalProperties": {
|
|
1110
|
+
"type": "object",
|
|
1111
|
+
"properties": {
|
|
1112
|
+
"enabled": {
|
|
1113
|
+
"type": "boolean",
|
|
1114
|
+
"default": true,
|
|
1115
|
+
"description": "Whether to configure this editor"
|
|
1116
|
+
},
|
|
1117
|
+
"rules": {
|
|
1118
|
+
"type": "object",
|
|
1119
|
+
"additionalProperties": {
|
|
1120
|
+
"anyOf": [
|
|
1121
|
+
{
|
|
1122
|
+
"anyOf": [
|
|
1123
|
+
{
|
|
1124
|
+
"type": "string",
|
|
1125
|
+
"description": "Source reference: local path (./, ../, /, file:), git URL (https://), or git shorthand (github:)"
|
|
1126
|
+
},
|
|
1127
|
+
{
|
|
1128
|
+
"type": "object",
|
|
1129
|
+
"properties": {
|
|
1130
|
+
"description": {
|
|
1131
|
+
"type": "string",
|
|
1132
|
+
"description": "When the rule should apply (required for auto mode)"
|
|
1133
|
+
},
|
|
1134
|
+
"activation": {
|
|
1135
|
+
"type": "string",
|
|
1136
|
+
"enum": ["always", "auto", "glob", "manual"],
|
|
1137
|
+
"default": "always",
|
|
1138
|
+
"description": "When the rule should be activated"
|
|
1139
|
+
},
|
|
1140
|
+
"globs": {
|
|
1141
|
+
"type": "array",
|
|
1142
|
+
"items": {
|
|
1143
|
+
"type": "string"
|
|
1144
|
+
},
|
|
1145
|
+
"description": "File patterns (required for glob mode)"
|
|
1146
|
+
},
|
|
1147
|
+
"content": {
|
|
1148
|
+
"type": "string",
|
|
1149
|
+
"description": "Inline rule content"
|
|
1150
|
+
},
|
|
1151
|
+
"path": {
|
|
1152
|
+
"type": "string",
|
|
1153
|
+
"description": "Local file path to rule content"
|
|
1154
|
+
},
|
|
1155
|
+
"git": {
|
|
1156
|
+
"type": "object",
|
|
1157
|
+
"properties": {
|
|
1158
|
+
"url": {
|
|
1159
|
+
"type": "string",
|
|
1160
|
+
"description": "Git repository URL or shorthand (e.g., github:user/repo)"
|
|
1161
|
+
},
|
|
1162
|
+
"path": {
|
|
1163
|
+
"type": "string",
|
|
1164
|
+
"description": "Path to rule file within repo (default: root)"
|
|
1165
|
+
},
|
|
1166
|
+
"ref": {
|
|
1167
|
+
"type": "string",
|
|
1168
|
+
"description": "Branch, tag, or commit (default: main/master)"
|
|
1169
|
+
}
|
|
1170
|
+
},
|
|
1171
|
+
"required": ["url"],
|
|
1172
|
+
"additionalProperties": false,
|
|
1173
|
+
"description": "Git repository source"
|
|
1174
|
+
},
|
|
1175
|
+
"npm": {
|
|
1176
|
+
"type": "object",
|
|
1177
|
+
"properties": {
|
|
1178
|
+
"npm": {
|
|
1179
|
+
"type": "string",
|
|
1180
|
+
"description": "NPM package name (e.g., \"@company/rules\")"
|
|
1181
|
+
},
|
|
1182
|
+
"path": {
|
|
1183
|
+
"type": "string",
|
|
1184
|
+
"description": "Path to file within package (e.g., \"rules/style.md\")"
|
|
1185
|
+
},
|
|
1186
|
+
"version": {
|
|
1187
|
+
"type": "string",
|
|
1188
|
+
"description": "Version to auto-install (omit to use project node_modules)"
|
|
1189
|
+
}
|
|
1190
|
+
},
|
|
1191
|
+
"required": ["npm", "path"],
|
|
1192
|
+
"additionalProperties": false,
|
|
1193
|
+
"description": "NPM package source"
|
|
1194
|
+
}
|
|
1195
|
+
},
|
|
1196
|
+
"additionalProperties": false,
|
|
1197
|
+
"description": "Rule with metadata and content source"
|
|
1198
|
+
}
|
|
1199
|
+
]
|
|
1260
1200
|
},
|
|
1261
|
-
|
|
1262
|
-
|
|
1263
|
-
|
|
1201
|
+
{
|
|
1202
|
+
"type": "boolean",
|
|
1203
|
+
"const": false
|
|
1264
1204
|
}
|
|
1265
|
-
|
|
1266
|
-
"required": [
|
|
1267
|
-
"npm",
|
|
1268
|
-
"path"
|
|
1269
|
-
],
|
|
1270
|
-
"additionalProperties": false,
|
|
1271
|
-
"description": "NPM package source"
|
|
1272
|
-
}
|
|
1205
|
+
]
|
|
1273
1206
|
},
|
|
1274
|
-
"
|
|
1275
|
-
|
|
1276
|
-
|
|
1277
|
-
|
|
1207
|
+
"propertyNames": {
|
|
1208
|
+
"minLength": 1,
|
|
1209
|
+
"maxLength": 64,
|
|
1210
|
+
"pattern": "^[a-z0-9]+(-[a-z0-9]+)*$"
|
|
1211
|
+
},
|
|
1212
|
+
"description": "Editor-specific rules (in addition to global rules)"
|
|
1213
|
+
}
|
|
1278
1214
|
},
|
|
1279
|
-
|
|
1280
|
-
|
|
1281
|
-
"const": false
|
|
1282
|
-
}
|
|
1283
|
-
]
|
|
1284
|
-
},
|
|
1285
|
-
"propertyNames": {
|
|
1286
|
-
"minLength": 1,
|
|
1287
|
-
"maxLength": 64,
|
|
1288
|
-
"pattern": "^[a-z0-9]+(-[a-z0-9]+)*$"
|
|
1289
|
-
},
|
|
1290
|
-
"description": "Editor-specific rules (in addition to global rules)"
|
|
1215
|
+
"additionalProperties": false
|
|
1216
|
+
}
|
|
1291
1217
|
}
|
|
1292
|
-
|
|
1293
|
-
|
|
1294
|
-
|
|
1295
|
-
|
|
1296
|
-
|
|
1297
|
-
|
|
1298
|
-
},
|
|
1299
|
-
"hooks": {
|
|
1300
|
-
"type": "object",
|
|
1301
|
-
"additionalProperties": {
|
|
1302
|
-
"type": "array",
|
|
1303
|
-
"items": {
|
|
1304
|
-
"type": "object",
|
|
1305
|
-
"properties": {
|
|
1306
|
-
"matcher": {
|
|
1307
|
-
"type": "string",
|
|
1308
|
-
"description": "Pattern to match (regex supported, editor-specific)"
|
|
1309
|
-
},
|
|
1310
|
-
"hooks": {
|
|
1218
|
+
],
|
|
1219
|
+
"description": "Editor-specific configurations"
|
|
1220
|
+
},
|
|
1221
|
+
"hooks": {
|
|
1222
|
+
"type": "object",
|
|
1223
|
+
"additionalProperties": {
|
|
1311
1224
|
"type": "array",
|
|
1312
1225
|
"items": {
|
|
1313
|
-
|
|
1314
|
-
|
|
1315
|
-
|
|
1316
|
-
|
|
1317
|
-
|
|
1318
|
-
|
|
1319
|
-
|
|
1320
|
-
|
|
1321
|
-
|
|
1322
|
-
|
|
1323
|
-
|
|
1324
|
-
|
|
1325
|
-
|
|
1326
|
-
|
|
1327
|
-
|
|
1328
|
-
|
|
1329
|
-
|
|
1330
|
-
|
|
1331
|
-
|
|
1332
|
-
|
|
1333
|
-
|
|
1334
|
-
|
|
1335
|
-
|
|
1336
|
-
|
|
1337
|
-
|
|
1338
|
-
|
|
1339
|
-
|
|
1340
|
-
|
|
1341
|
-
|
|
1342
|
-
|
|
1343
|
-
|
|
1344
|
-
|
|
1345
|
-
|
|
1346
|
-
|
|
1347
|
-
|
|
1348
|
-
|
|
1349
|
-
|
|
1350
|
-
|
|
1351
|
-
|
|
1352
|
-
|
|
1353
|
-
|
|
1354
|
-
|
|
1355
|
-
|
|
1356
|
-
|
|
1357
|
-
|
|
1358
|
-
|
|
1359
|
-
|
|
1360
|
-
|
|
1361
|
-
|
|
1362
|
-
|
|
1363
|
-
|
|
1364
|
-
|
|
1365
|
-
|
|
1366
|
-
|
|
1367
|
-
|
|
1368
|
-
|
|
1369
|
-
|
|
1370
|
-
|
|
1371
|
-
|
|
1372
|
-
|
|
1373
|
-
|
|
1374
|
-
|
|
1375
|
-
|
|
1376
|
-
|
|
1377
|
-
"
|
|
1378
|
-
|
|
1379
|
-
|
|
1380
|
-
|
|
1381
|
-
|
|
1382
|
-
|
|
1383
|
-
|
|
1384
|
-
|
|
1385
|
-
|
|
1386
|
-
|
|
1387
|
-
|
|
1388
|
-
|
|
1389
|
-
|
|
1390
|
-
|
|
1391
|
-
|
|
1392
|
-
|
|
1393
|
-
|
|
1394
|
-
|
|
1395
|
-
|
|
1396
|
-
|
|
1397
|
-
|
|
1398
|
-
|
|
1226
|
+
"type": "object",
|
|
1227
|
+
"properties": {
|
|
1228
|
+
"matcher": {
|
|
1229
|
+
"type": "string",
|
|
1230
|
+
"description": "Pattern to match (regex supported, editor-specific)"
|
|
1231
|
+
},
|
|
1232
|
+
"hooks": {
|
|
1233
|
+
"type": "array",
|
|
1234
|
+
"items": {
|
|
1235
|
+
"type": "object",
|
|
1236
|
+
"properties": {
|
|
1237
|
+
"command": {
|
|
1238
|
+
"type": "string",
|
|
1239
|
+
"description": "Shell command to execute"
|
|
1240
|
+
},
|
|
1241
|
+
"timeout": {
|
|
1242
|
+
"type": "number",
|
|
1243
|
+
"exclusiveMinimum": 0,
|
|
1244
|
+
"description": "Timeout in seconds"
|
|
1245
|
+
},
|
|
1246
|
+
"show_output": {
|
|
1247
|
+
"type": "boolean",
|
|
1248
|
+
"description": "Whether to show command output in UI"
|
|
1249
|
+
},
|
|
1250
|
+
"working_directory": {
|
|
1251
|
+
"type": "string",
|
|
1252
|
+
"description": "Working directory for the command"
|
|
1253
|
+
}
|
|
1254
|
+
},
|
|
1255
|
+
"required": ["command"],
|
|
1256
|
+
"additionalProperties": false,
|
|
1257
|
+
"description": "Hook action configuration"
|
|
1258
|
+
},
|
|
1259
|
+
"description": "Hooks to execute when matched"
|
|
1260
|
+
}
|
|
1261
|
+
},
|
|
1262
|
+
"required": ["hooks"],
|
|
1263
|
+
"additionalProperties": false,
|
|
1264
|
+
"description": "Hook matcher configuration"
|
|
1265
|
+
}
|
|
1266
|
+
},
|
|
1267
|
+
"propertyNames": {
|
|
1268
|
+
"enum": [
|
|
1269
|
+
"pre_tool_use",
|
|
1270
|
+
"post_tool_use",
|
|
1271
|
+
"pre_file_read",
|
|
1272
|
+
"post_file_read",
|
|
1273
|
+
"pre_file_write",
|
|
1274
|
+
"post_file_write",
|
|
1275
|
+
"pre_command",
|
|
1276
|
+
"post_command",
|
|
1277
|
+
"pre_mcp_tool",
|
|
1278
|
+
"post_mcp_tool",
|
|
1279
|
+
"pre_prompt",
|
|
1280
|
+
"session_start",
|
|
1281
|
+
"session_end",
|
|
1282
|
+
"agent_stop"
|
|
1283
|
+
]
|
|
1284
|
+
},
|
|
1285
|
+
"description": "Lifecycle hooks for AI agent events"
|
|
1286
|
+
},
|
|
1287
|
+
"aix": {
|
|
1288
|
+
"type": "object",
|
|
1289
|
+
"properties": {
|
|
1290
|
+
"cache": {
|
|
1291
|
+
"type": "object",
|
|
1292
|
+
"properties": {
|
|
1293
|
+
"maxBackups": {
|
|
1294
|
+
"type": "integer",
|
|
1295
|
+
"minimum": 1,
|
|
1296
|
+
"maximum": 100,
|
|
1297
|
+
"default": 5,
|
|
1298
|
+
"description": "Maximum number of backup files to keep per file"
|
|
1299
|
+
},
|
|
1300
|
+
"maxBackupAgeDays": {
|
|
1301
|
+
"type": "integer",
|
|
1302
|
+
"minimum": 1,
|
|
1303
|
+
"maximum": 365,
|
|
1304
|
+
"default": 30,
|
|
1305
|
+
"description": "Delete backups older than this many days"
|
|
1306
|
+
},
|
|
1307
|
+
"maxCacheAgeDays": {
|
|
1308
|
+
"type": "integer",
|
|
1309
|
+
"minimum": 1,
|
|
1310
|
+
"maximum": 365,
|
|
1311
|
+
"default": 7,
|
|
1312
|
+
"description": "Delete git-sourced cache entries older than this many days"
|
|
1313
|
+
}
|
|
1314
|
+
},
|
|
1315
|
+
"additionalProperties": false,
|
|
1316
|
+
"description": "Cache and backup retention settings"
|
|
1317
|
+
}
|
|
1318
|
+
},
|
|
1319
|
+
"additionalProperties": false,
|
|
1320
|
+
"description": "aix CLI tool settings"
|
|
1399
1321
|
}
|
|
1400
|
-
|
|
1401
|
-
|
|
1402
|
-
|
|
1403
|
-
|
|
1404
|
-
|
|
1405
|
-
"additionalProperties": false
|
|
1406
|
-
}
|
|
1407
|
-
}
|
|
1408
|
-
}
|
|
1322
|
+
},
|
|
1323
|
+
"additionalProperties": false
|
|
1324
|
+
}
|
|
1325
|
+
}
|
|
1326
|
+
}
|