@a1st/aix-schema 0.0.3
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/dist/aix.d.ts +51 -0
- package/dist/aix.d.ts.map +1 -0
- package/dist/aix.js +39 -0
- package/dist/aix.js.map +1 -0
- package/dist/config.d.ts +12130 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +36 -0
- package/dist/config.js.map +1 -0
- package/dist/core.d.ts +17 -0
- package/dist/core.d.ts.map +1 -0
- package/dist/core.js +34 -0
- package/dist/core.js.map +1 -0
- package/dist/editors.d.ts +3288 -0
- package/dist/editors.d.ts.map +1 -0
- package/dist/editors.js +52 -0
- package/dist/editors.js.map +1 -0
- package/dist/factory.d.ts +7 -0
- package/dist/factory.d.ts.map +1 -0
- package/dist/factory.js +15 -0
- package/dist/factory.js.map +1 -0
- package/dist/hooks.d.ts +106 -0
- package/dist/hooks.d.ts.map +1 -0
- package/dist/hooks.js +50 -0
- package/dist/hooks.js.map +1 -0
- package/dist/index.d.ts +18 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +18 -0
- package/dist/index.js.map +1 -0
- package/dist/jsonc.d.ts +10 -0
- package/dist/jsonc.d.ts.map +1 -0
- package/dist/jsonc.js +16 -0
- package/dist/jsonc.js.map +1 -0
- package/dist/mcp.d.ts +508 -0
- package/dist/mcp.d.ts.map +1 -0
- package/dist/mcp.js +92 -0
- package/dist/mcp.js.map +1 -0
- package/dist/migrate.d.ts +11 -0
- package/dist/migrate.d.ts.map +1 -0
- package/dist/migrate.js +24 -0
- package/dist/migrate.js.map +1 -0
- package/dist/normalize.d.ts +36 -0
- package/dist/normalize.d.ts.map +1 -0
- package/dist/normalize.js +143 -0
- package/dist/normalize.js.map +1 -0
- package/dist/prompts.d.ts +297 -0
- package/dist/prompts.d.ts.map +1 -0
- package/dist/prompts.js +50 -0
- package/dist/prompts.js.map +1 -0
- package/dist/references.d.ts +60 -0
- package/dist/references.d.ts.map +1 -0
- package/dist/references.js +23 -0
- package/dist/references.js.map +1 -0
- package/dist/rules.d.ts +534 -0
- package/dist/rules.d.ts.map +1 -0
- package/dist/rules.js +85 -0
- package/dist/rules.js.map +1 -0
- package/dist/skill.d.ts +38 -0
- package/dist/skill.d.ts.map +1 -0
- package/dist/skill.js +18 -0
- package/dist/skill.js.map +1 -0
- package/dist/skills.d.ts +183 -0
- package/dist/skills.d.ts.map +1 -0
- package/dist/skills.js +26 -0
- package/dist/skills.js.map +1 -0
- package/dist/validate.d.ts +17 -0
- package/dist/validate.d.ts.map +1 -0
- package/dist/validate.js +34 -0
- package/dist/validate.js.map +1 -0
- package/dist/version.d.ts +3 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +5 -0
- package/dist/version.js.map +1 -0
- package/package.json +42 -0
- package/schema.json +1408 -0
package/schema.json
ADDED
|
@@ -0,0 +1,1408 @@
|
|
|
1
|
+
{
|
|
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"
|
|
15
|
+
},
|
|
16
|
+
"extends": {
|
|
17
|
+
"anyOf": [
|
|
18
|
+
{
|
|
19
|
+
"type": "string",
|
|
20
|
+
"description": "Single config to extend (npm package or local path)"
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"type": "array",
|
|
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": [
|
|
38
|
+
{
|
|
39
|
+
"anyOf": [
|
|
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"
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
"type": "object",
|
|
101
|
+
"properties": {
|
|
102
|
+
"source": {
|
|
103
|
+
"anyOf": [
|
|
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
|
|
178
|
+
}
|
|
179
|
+
],
|
|
180
|
+
"description": "Skill reference (Agent Skills spec compliant)"
|
|
181
|
+
},
|
|
182
|
+
{
|
|
183
|
+
"type": "boolean",
|
|
184
|
+
"const": false
|
|
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": {
|
|
373
|
+
"anyOf": [
|
|
374
|
+
{
|
|
375
|
+
"type": "array",
|
|
376
|
+
"items": {
|
|
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
|
+
{
|
|
696
|
+
"type": "string",
|
|
697
|
+
"description": "Source reference: local path (./, ../, /, file:), git URL (https://), or git shorthand (github:)"
|
|
698
|
+
},
|
|
699
|
+
{
|
|
700
|
+
"type": "object",
|
|
701
|
+
"properties": {
|
|
702
|
+
"description": {
|
|
703
|
+
"type": "string",
|
|
704
|
+
"description": "When the rule should apply (required for auto mode)"
|
|
705
|
+
},
|
|
706
|
+
"activation": {
|
|
707
|
+
"type": "string",
|
|
708
|
+
"enum": [
|
|
709
|
+
"always",
|
|
710
|
+
"auto",
|
|
711
|
+
"glob",
|
|
712
|
+
"manual"
|
|
713
|
+
],
|
|
714
|
+
"default": "always",
|
|
715
|
+
"description": "When the rule should be activated"
|
|
716
|
+
},
|
|
717
|
+
"globs": {
|
|
718
|
+
"type": "array",
|
|
719
|
+
"items": {
|
|
720
|
+
"type": "string"
|
|
721
|
+
},
|
|
722
|
+
"description": "File patterns (required for glob mode)"
|
|
723
|
+
},
|
|
724
|
+
"content": {
|
|
725
|
+
"type": "string",
|
|
726
|
+
"description": "Inline rule content"
|
|
727
|
+
},
|
|
728
|
+
"path": {
|
|
729
|
+
"type": "string",
|
|
730
|
+
"description": "Local file path to rule content"
|
|
731
|
+
},
|
|
732
|
+
"git": {
|
|
733
|
+
"type": "object",
|
|
734
|
+
"properties": {
|
|
735
|
+
"url": {
|
|
736
|
+
"type": "string",
|
|
737
|
+
"description": "Git repository URL or shorthand (e.g., github:user/repo)"
|
|
738
|
+
},
|
|
739
|
+
"path": {
|
|
740
|
+
"type": "string",
|
|
741
|
+
"description": "Path to rule file within repo (default: root)"
|
|
742
|
+
},
|
|
743
|
+
"ref": {
|
|
744
|
+
"type": "string",
|
|
745
|
+
"description": "Branch, tag, or commit (default: main/master)"
|
|
746
|
+
}
|
|
747
|
+
},
|
|
748
|
+
"required": [
|
|
749
|
+
"url"
|
|
750
|
+
],
|
|
751
|
+
"additionalProperties": false,
|
|
752
|
+
"description": "Git repository source"
|
|
753
|
+
},
|
|
754
|
+
"npm": {
|
|
755
|
+
"type": "object",
|
|
756
|
+
"properties": {
|
|
757
|
+
"npm": {
|
|
758
|
+
"type": "string",
|
|
759
|
+
"description": "NPM package name (e.g., \"@company/rules\")"
|
|
760
|
+
},
|
|
761
|
+
"path": {
|
|
762
|
+
"type": "string",
|
|
763
|
+
"description": "Path to file within package (e.g., \"rules/style.md\")"
|
|
764
|
+
},
|
|
765
|
+
"version": {
|
|
766
|
+
"type": "string",
|
|
767
|
+
"description": "Version to auto-install (omit to use project node_modules)"
|
|
768
|
+
}
|
|
769
|
+
},
|
|
770
|
+
"required": [
|
|
771
|
+
"npm",
|
|
772
|
+
"path"
|
|
773
|
+
],
|
|
774
|
+
"additionalProperties": false,
|
|
775
|
+
"description": "NPM package source"
|
|
776
|
+
}
|
|
777
|
+
},
|
|
778
|
+
"additionalProperties": false,
|
|
779
|
+
"description": "Rule with metadata and content source"
|
|
780
|
+
}
|
|
781
|
+
]
|
|
782
|
+
},
|
|
783
|
+
{
|
|
784
|
+
"type": "boolean",
|
|
785
|
+
"const": false
|
|
786
|
+
}
|
|
787
|
+
]
|
|
788
|
+
},
|
|
789
|
+
"propertyNames": {
|
|
790
|
+
"minLength": 1,
|
|
791
|
+
"maxLength": 64,
|
|
792
|
+
"pattern": "^[a-z0-9]+(-[a-z0-9]+)*$"
|
|
793
|
+
},
|
|
794
|
+
"description": "Editor-specific rules (in addition to global rules)"
|
|
795
|
+
}
|
|
796
|
+
},
|
|
797
|
+
"additionalProperties": false
|
|
798
|
+
}
|
|
799
|
+
}
|
|
800
|
+
]
|
|
801
|
+
},
|
|
802
|
+
"description": "Shorthand: array of editor names or configs"
|
|
803
|
+
},
|
|
804
|
+
{
|
|
805
|
+
"type": "object",
|
|
806
|
+
"properties": {
|
|
807
|
+
"windsurf": {
|
|
808
|
+
"type": "object",
|
|
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": {
|
|
818
|
+
"anyOf": [
|
|
819
|
+
{
|
|
820
|
+
"anyOf": [
|
|
821
|
+
{
|
|
822
|
+
"type": "string",
|
|
823
|
+
"description": "Source reference: local path (./, ../, /, file:), git URL (https://), or git shorthand (github:)"
|
|
824
|
+
},
|
|
825
|
+
{
|
|
826
|
+
"type": "object",
|
|
827
|
+
"properties": {
|
|
828
|
+
"description": {
|
|
829
|
+
"type": "string",
|
|
830
|
+
"description": "When the rule should apply (required for auto mode)"
|
|
831
|
+
},
|
|
832
|
+
"activation": {
|
|
833
|
+
"type": "string",
|
|
834
|
+
"enum": [
|
|
835
|
+
"always",
|
|
836
|
+
"auto",
|
|
837
|
+
"glob",
|
|
838
|
+
"manual"
|
|
839
|
+
],
|
|
840
|
+
"default": "always",
|
|
841
|
+
"description": "When the rule should be activated"
|
|
842
|
+
},
|
|
843
|
+
"globs": {
|
|
844
|
+
"type": "array",
|
|
845
|
+
"items": {
|
|
846
|
+
"type": "string"
|
|
847
|
+
},
|
|
848
|
+
"description": "File patterns (required for glob mode)"
|
|
849
|
+
},
|
|
850
|
+
"content": {
|
|
851
|
+
"type": "string",
|
|
852
|
+
"description": "Inline rule content"
|
|
853
|
+
},
|
|
854
|
+
"path": {
|
|
855
|
+
"type": "string",
|
|
856
|
+
"description": "Local file path to rule content"
|
|
857
|
+
},
|
|
858
|
+
"git": {
|
|
859
|
+
"type": "object",
|
|
860
|
+
"properties": {
|
|
861
|
+
"url": {
|
|
862
|
+
"type": "string",
|
|
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
|
+
}
|
|
873
|
+
},
|
|
874
|
+
"required": [
|
|
875
|
+
"url"
|
|
876
|
+
],
|
|
877
|
+
"additionalProperties": false,
|
|
878
|
+
"description": "Git repository source"
|
|
879
|
+
},
|
|
880
|
+
"npm": {
|
|
881
|
+
"type": "object",
|
|
882
|
+
"properties": {
|
|
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
|
+
}
|
|
895
|
+
},
|
|
896
|
+
"required": [
|
|
897
|
+
"npm",
|
|
898
|
+
"path"
|
|
899
|
+
],
|
|
900
|
+
"additionalProperties": false,
|
|
901
|
+
"description": "NPM package source"
|
|
902
|
+
}
|
|
903
|
+
},
|
|
904
|
+
"additionalProperties": false,
|
|
905
|
+
"description": "Rule with metadata and content source"
|
|
906
|
+
}
|
|
907
|
+
]
|
|
908
|
+
},
|
|
909
|
+
{
|
|
910
|
+
"type": "boolean",
|
|
911
|
+
"const": false
|
|
912
|
+
}
|
|
913
|
+
]
|
|
914
|
+
},
|
|
915
|
+
"propertyNames": {
|
|
916
|
+
"minLength": 1,
|
|
917
|
+
"maxLength": 64,
|
|
918
|
+
"pattern": "^[a-z0-9]+(-[a-z0-9]+)*$"
|
|
919
|
+
},
|
|
920
|
+
"description": "Editor-specific rules (in addition to global rules)"
|
|
921
|
+
},
|
|
922
|
+
"cascadeSettings": {
|
|
923
|
+
"type": "object",
|
|
924
|
+
"additionalProperties": {},
|
|
925
|
+
"description": "Windsurf Cascade settings"
|
|
926
|
+
}
|
|
927
|
+
},
|
|
928
|
+
"additionalProperties": false
|
|
929
|
+
},
|
|
930
|
+
"cursor": {
|
|
931
|
+
"type": "object",
|
|
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": {
|
|
941
|
+
"anyOf": [
|
|
942
|
+
{
|
|
943
|
+
"anyOf": [
|
|
944
|
+
{
|
|
945
|
+
"type": "string",
|
|
946
|
+
"description": "Source reference: local path (./, ../, /, file:), git URL (https://), or git shorthand (github:)"
|
|
947
|
+
},
|
|
948
|
+
{
|
|
949
|
+
"type": "object",
|
|
950
|
+
"properties": {
|
|
951
|
+
"description": {
|
|
952
|
+
"type": "string",
|
|
953
|
+
"description": "When the rule should apply (required for auto mode)"
|
|
954
|
+
},
|
|
955
|
+
"activation": {
|
|
956
|
+
"type": "string",
|
|
957
|
+
"enum": [
|
|
958
|
+
"always",
|
|
959
|
+
"auto",
|
|
960
|
+
"glob",
|
|
961
|
+
"manual"
|
|
962
|
+
],
|
|
963
|
+
"default": "always",
|
|
964
|
+
"description": "When the rule should be activated"
|
|
965
|
+
},
|
|
966
|
+
"globs": {
|
|
967
|
+
"type": "array",
|
|
968
|
+
"items": {
|
|
969
|
+
"type": "string"
|
|
970
|
+
},
|
|
971
|
+
"description": "File patterns (required for glob mode)"
|
|
972
|
+
},
|
|
973
|
+
"content": {
|
|
974
|
+
"type": "string",
|
|
975
|
+
"description": "Inline rule content"
|
|
976
|
+
},
|
|
977
|
+
"path": {
|
|
978
|
+
"type": "string",
|
|
979
|
+
"description": "Local file path to rule content"
|
|
980
|
+
},
|
|
981
|
+
"git": {
|
|
982
|
+
"type": "object",
|
|
983
|
+
"properties": {
|
|
984
|
+
"url": {
|
|
985
|
+
"type": "string",
|
|
986
|
+
"description": "Git repository URL or shorthand (e.g., github:user/repo)"
|
|
987
|
+
},
|
|
988
|
+
"path": {
|
|
989
|
+
"type": "string",
|
|
990
|
+
"description": "Path to rule file within repo (default: root)"
|
|
991
|
+
},
|
|
992
|
+
"ref": {
|
|
993
|
+
"type": "string",
|
|
994
|
+
"description": "Branch, tag, or commit (default: main/master)"
|
|
995
|
+
}
|
|
996
|
+
},
|
|
997
|
+
"required": [
|
|
998
|
+
"url"
|
|
999
|
+
],
|
|
1000
|
+
"additionalProperties": false,
|
|
1001
|
+
"description": "Git repository source"
|
|
1002
|
+
},
|
|
1003
|
+
"npm": {
|
|
1004
|
+
"type": "object",
|
|
1005
|
+
"properties": {
|
|
1006
|
+
"npm": {
|
|
1007
|
+
"type": "string",
|
|
1008
|
+
"description": "NPM package name (e.g., \"@company/rules\")"
|
|
1009
|
+
},
|
|
1010
|
+
"path": {
|
|
1011
|
+
"type": "string",
|
|
1012
|
+
"description": "Path to file within package (e.g., \"rules/style.md\")"
|
|
1013
|
+
},
|
|
1014
|
+
"version": {
|
|
1015
|
+
"type": "string",
|
|
1016
|
+
"description": "Version to auto-install (omit to use project node_modules)"
|
|
1017
|
+
}
|
|
1018
|
+
},
|
|
1019
|
+
"required": [
|
|
1020
|
+
"npm",
|
|
1021
|
+
"path"
|
|
1022
|
+
],
|
|
1023
|
+
"additionalProperties": false,
|
|
1024
|
+
"description": "NPM package source"
|
|
1025
|
+
}
|
|
1026
|
+
},
|
|
1027
|
+
"additionalProperties": false,
|
|
1028
|
+
"description": "Rule with metadata and content source"
|
|
1029
|
+
}
|
|
1030
|
+
]
|
|
1031
|
+
},
|
|
1032
|
+
{
|
|
1033
|
+
"type": "boolean",
|
|
1034
|
+
"const": false
|
|
1035
|
+
}
|
|
1036
|
+
]
|
|
1037
|
+
},
|
|
1038
|
+
"propertyNames": {
|
|
1039
|
+
"minLength": 1,
|
|
1040
|
+
"maxLength": 64,
|
|
1041
|
+
"pattern": "^[a-z0-9]+(-[a-z0-9]+)*$"
|
|
1042
|
+
},
|
|
1043
|
+
"description": "Editor-specific rules (in addition to global rules)"
|
|
1044
|
+
},
|
|
1045
|
+
"aiSettings": {
|
|
1046
|
+
"type": "object",
|
|
1047
|
+
"additionalProperties": {},
|
|
1048
|
+
"description": "Cursor AI settings"
|
|
1049
|
+
}
|
|
1050
|
+
},
|
|
1051
|
+
"additionalProperties": false
|
|
1052
|
+
},
|
|
1053
|
+
"claude-code": {
|
|
1054
|
+
"type": "object",
|
|
1055
|
+
"properties": {
|
|
1056
|
+
"enabled": {
|
|
1057
|
+
"type": "boolean",
|
|
1058
|
+
"default": true,
|
|
1059
|
+
"description": "Whether to configure this editor"
|
|
1060
|
+
},
|
|
1061
|
+
"rules": {
|
|
1062
|
+
"type": "object",
|
|
1063
|
+
"additionalProperties": {
|
|
1064
|
+
"anyOf": [
|
|
1065
|
+
{
|
|
1066
|
+
"anyOf": [
|
|
1067
|
+
{
|
|
1068
|
+
"type": "string",
|
|
1069
|
+
"description": "Source reference: local path (./, ../, /, file:), git URL (https://), or git shorthand (github:)"
|
|
1070
|
+
},
|
|
1071
|
+
{
|
|
1072
|
+
"type": "object",
|
|
1073
|
+
"properties": {
|
|
1074
|
+
"description": {
|
|
1075
|
+
"type": "string",
|
|
1076
|
+
"description": "When the rule should apply (required for auto mode)"
|
|
1077
|
+
},
|
|
1078
|
+
"activation": {
|
|
1079
|
+
"type": "string",
|
|
1080
|
+
"enum": [
|
|
1081
|
+
"always",
|
|
1082
|
+
"auto",
|
|
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": {
|
|
1097
|
+
"type": "string",
|
|
1098
|
+
"description": "Inline rule content"
|
|
1099
|
+
},
|
|
1100
|
+
"path": {
|
|
1101
|
+
"type": "string",
|
|
1102
|
+
"description": "Local file path to rule content"
|
|
1103
|
+
},
|
|
1104
|
+
"git": {
|
|
1105
|
+
"type": "object",
|
|
1106
|
+
"properties": {
|
|
1107
|
+
"url": {
|
|
1108
|
+
"type": "string",
|
|
1109
|
+
"description": "Git repository URL or shorthand (e.g., github:user/repo)"
|
|
1110
|
+
},
|
|
1111
|
+
"path": {
|
|
1112
|
+
"type": "string",
|
|
1113
|
+
"description": "Path to rule file within repo (default: root)"
|
|
1114
|
+
},
|
|
1115
|
+
"ref": {
|
|
1116
|
+
"type": "string",
|
|
1117
|
+
"description": "Branch, tag, or commit (default: main/master)"
|
|
1118
|
+
}
|
|
1119
|
+
},
|
|
1120
|
+
"required": [
|
|
1121
|
+
"url"
|
|
1122
|
+
],
|
|
1123
|
+
"additionalProperties": false,
|
|
1124
|
+
"description": "Git repository source"
|
|
1125
|
+
},
|
|
1126
|
+
"npm": {
|
|
1127
|
+
"type": "object",
|
|
1128
|
+
"properties": {
|
|
1129
|
+
"npm": {
|
|
1130
|
+
"type": "string",
|
|
1131
|
+
"description": "NPM package name (e.g., \"@company/rules\")"
|
|
1132
|
+
},
|
|
1133
|
+
"path": {
|
|
1134
|
+
"type": "string",
|
|
1135
|
+
"description": "Path to file within package (e.g., \"rules/style.md\")"
|
|
1136
|
+
},
|
|
1137
|
+
"version": {
|
|
1138
|
+
"type": "string",
|
|
1139
|
+
"description": "Version to auto-install (omit to use project node_modules)"
|
|
1140
|
+
}
|
|
1141
|
+
},
|
|
1142
|
+
"required": [
|
|
1143
|
+
"npm",
|
|
1144
|
+
"path"
|
|
1145
|
+
],
|
|
1146
|
+
"additionalProperties": false,
|
|
1147
|
+
"description": "NPM package source"
|
|
1148
|
+
}
|
|
1149
|
+
},
|
|
1150
|
+
"additionalProperties": false,
|
|
1151
|
+
"description": "Rule with metadata and content source"
|
|
1152
|
+
}
|
|
1153
|
+
]
|
|
1154
|
+
},
|
|
1155
|
+
{
|
|
1156
|
+
"type": "boolean",
|
|
1157
|
+
"const": false
|
|
1158
|
+
}
|
|
1159
|
+
]
|
|
1160
|
+
},
|
|
1161
|
+
"propertyNames": {
|
|
1162
|
+
"minLength": 1,
|
|
1163
|
+
"maxLength": 64,
|
|
1164
|
+
"pattern": "^[a-z0-9]+(-[a-z0-9]+)*$"
|
|
1165
|
+
},
|
|
1166
|
+
"description": "Editor-specific rules (in addition to global rules)"
|
|
1167
|
+
},
|
|
1168
|
+
"permissions": {
|
|
1169
|
+
"type": "object",
|
|
1170
|
+
"additionalProperties": {},
|
|
1171
|
+
"description": "Claude Code permissions"
|
|
1172
|
+
}
|
|
1173
|
+
},
|
|
1174
|
+
"additionalProperties": false
|
|
1175
|
+
}
|
|
1176
|
+
},
|
|
1177
|
+
"additionalProperties": {
|
|
1178
|
+
"type": "object",
|
|
1179
|
+
"properties": {
|
|
1180
|
+
"enabled": {
|
|
1181
|
+
"type": "boolean",
|
|
1182
|
+
"default": true,
|
|
1183
|
+
"description": "Whether to configure this editor"
|
|
1184
|
+
},
|
|
1185
|
+
"rules": {
|
|
1186
|
+
"type": "object",
|
|
1187
|
+
"additionalProperties": {
|
|
1188
|
+
"anyOf": [
|
|
1189
|
+
{
|
|
1190
|
+
"anyOf": [
|
|
1191
|
+
{
|
|
1192
|
+
"type": "string",
|
|
1193
|
+
"description": "Source reference: local path (./, ../, /, file:), git URL (https://), or git shorthand (github:)"
|
|
1194
|
+
},
|
|
1195
|
+
{
|
|
1196
|
+
"type": "object",
|
|
1197
|
+
"properties": {
|
|
1198
|
+
"description": {
|
|
1199
|
+
"type": "string",
|
|
1200
|
+
"description": "When the rule should apply (required for auto mode)"
|
|
1201
|
+
},
|
|
1202
|
+
"activation": {
|
|
1203
|
+
"type": "string",
|
|
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)"
|
|
1234
|
+
},
|
|
1235
|
+
"path": {
|
|
1236
|
+
"type": "string",
|
|
1237
|
+
"description": "Path to rule file within repo (default: root)"
|
|
1238
|
+
},
|
|
1239
|
+
"ref": {
|
|
1240
|
+
"type": "string",
|
|
1241
|
+
"description": "Branch, tag, or commit (default: main/master)"
|
|
1242
|
+
}
|
|
1243
|
+
},
|
|
1244
|
+
"required": [
|
|
1245
|
+
"url"
|
|
1246
|
+
],
|
|
1247
|
+
"additionalProperties": false,
|
|
1248
|
+
"description": "Git repository source"
|
|
1249
|
+
},
|
|
1250
|
+
"npm": {
|
|
1251
|
+
"type": "object",
|
|
1252
|
+
"properties": {
|
|
1253
|
+
"npm": {
|
|
1254
|
+
"type": "string",
|
|
1255
|
+
"description": "NPM package name (e.g., \"@company/rules\")"
|
|
1256
|
+
},
|
|
1257
|
+
"path": {
|
|
1258
|
+
"type": "string",
|
|
1259
|
+
"description": "Path to file within package (e.g., \"rules/style.md\")"
|
|
1260
|
+
},
|
|
1261
|
+
"version": {
|
|
1262
|
+
"type": "string",
|
|
1263
|
+
"description": "Version to auto-install (omit to use project node_modules)"
|
|
1264
|
+
}
|
|
1265
|
+
},
|
|
1266
|
+
"required": [
|
|
1267
|
+
"npm",
|
|
1268
|
+
"path"
|
|
1269
|
+
],
|
|
1270
|
+
"additionalProperties": false,
|
|
1271
|
+
"description": "NPM package source"
|
|
1272
|
+
}
|
|
1273
|
+
},
|
|
1274
|
+
"additionalProperties": false,
|
|
1275
|
+
"description": "Rule with metadata and content source"
|
|
1276
|
+
}
|
|
1277
|
+
]
|
|
1278
|
+
},
|
|
1279
|
+
{
|
|
1280
|
+
"type": "boolean",
|
|
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)"
|
|
1291
|
+
}
|
|
1292
|
+
},
|
|
1293
|
+
"additionalProperties": false
|
|
1294
|
+
}
|
|
1295
|
+
}
|
|
1296
|
+
],
|
|
1297
|
+
"description": "Editor-specific configurations"
|
|
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": {
|
|
1311
|
+
"type": "array",
|
|
1312
|
+
"items": {
|
|
1313
|
+
"type": "object",
|
|
1314
|
+
"properties": {
|
|
1315
|
+
"command": {
|
|
1316
|
+
"type": "string",
|
|
1317
|
+
"description": "Shell command to execute"
|
|
1318
|
+
},
|
|
1319
|
+
"timeout": {
|
|
1320
|
+
"type": "number",
|
|
1321
|
+
"exclusiveMinimum": 0,
|
|
1322
|
+
"description": "Timeout in seconds"
|
|
1323
|
+
},
|
|
1324
|
+
"show_output": {
|
|
1325
|
+
"type": "boolean",
|
|
1326
|
+
"description": "Whether to show command output in UI"
|
|
1327
|
+
},
|
|
1328
|
+
"working_directory": {
|
|
1329
|
+
"type": "string",
|
|
1330
|
+
"description": "Working directory for the command"
|
|
1331
|
+
}
|
|
1332
|
+
},
|
|
1333
|
+
"required": [
|
|
1334
|
+
"command"
|
|
1335
|
+
],
|
|
1336
|
+
"additionalProperties": false,
|
|
1337
|
+
"description": "Hook action configuration"
|
|
1338
|
+
},
|
|
1339
|
+
"description": "Hooks to execute when matched"
|
|
1340
|
+
}
|
|
1341
|
+
},
|
|
1342
|
+
"required": [
|
|
1343
|
+
"hooks"
|
|
1344
|
+
],
|
|
1345
|
+
"additionalProperties": false,
|
|
1346
|
+
"description": "Hook matcher configuration"
|
|
1347
|
+
}
|
|
1348
|
+
},
|
|
1349
|
+
"propertyNames": {
|
|
1350
|
+
"enum": [
|
|
1351
|
+
"pre_tool_use",
|
|
1352
|
+
"post_tool_use",
|
|
1353
|
+
"pre_file_read",
|
|
1354
|
+
"post_file_read",
|
|
1355
|
+
"pre_file_write",
|
|
1356
|
+
"post_file_write",
|
|
1357
|
+
"pre_command",
|
|
1358
|
+
"post_command",
|
|
1359
|
+
"pre_mcp_tool",
|
|
1360
|
+
"post_mcp_tool",
|
|
1361
|
+
"pre_prompt",
|
|
1362
|
+
"session_start",
|
|
1363
|
+
"session_end",
|
|
1364
|
+
"agent_stop"
|
|
1365
|
+
]
|
|
1366
|
+
},
|
|
1367
|
+
"description": "Lifecycle hooks for AI agent events"
|
|
1368
|
+
},
|
|
1369
|
+
"aix": {
|
|
1370
|
+
"type": "object",
|
|
1371
|
+
"properties": {
|
|
1372
|
+
"cache": {
|
|
1373
|
+
"type": "object",
|
|
1374
|
+
"properties": {
|
|
1375
|
+
"maxBackups": {
|
|
1376
|
+
"type": "integer",
|
|
1377
|
+
"minimum": 1,
|
|
1378
|
+
"maximum": 100,
|
|
1379
|
+
"default": 5,
|
|
1380
|
+
"description": "Maximum number of backup files to keep per file"
|
|
1381
|
+
},
|
|
1382
|
+
"maxBackupAgeDays": {
|
|
1383
|
+
"type": "integer",
|
|
1384
|
+
"minimum": 1,
|
|
1385
|
+
"maximum": 365,
|
|
1386
|
+
"default": 30,
|
|
1387
|
+
"description": "Delete backups older than this many days"
|
|
1388
|
+
},
|
|
1389
|
+
"maxCacheAgeDays": {
|
|
1390
|
+
"type": "integer",
|
|
1391
|
+
"minimum": 1,
|
|
1392
|
+
"maximum": 365,
|
|
1393
|
+
"default": 7,
|
|
1394
|
+
"description": "Delete git-sourced cache entries older than this many days"
|
|
1395
|
+
}
|
|
1396
|
+
},
|
|
1397
|
+
"additionalProperties": false,
|
|
1398
|
+
"description": "Cache and backup retention settings"
|
|
1399
|
+
}
|
|
1400
|
+
},
|
|
1401
|
+
"additionalProperties": false,
|
|
1402
|
+
"description": "aix CLI tool settings"
|
|
1403
|
+
}
|
|
1404
|
+
},
|
|
1405
|
+
"additionalProperties": false
|
|
1406
|
+
}
|
|
1407
|
+
}
|
|
1408
|
+
}
|