@dryui/mcp 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,523 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "title": "DryUI contract v1",
4
+ "type": "object",
5
+ "additionalProperties": false,
6
+ "required": [
7
+ "schema",
8
+ "version",
9
+ "package",
10
+ "counts",
11
+ "themeImports",
12
+ "ai",
13
+ "components",
14
+ "composition"
15
+ ],
16
+ "properties": {
17
+ "schema": {
18
+ "const": "DryUIContractV1"
19
+ },
20
+ "version": {
21
+ "const": 1
22
+ },
23
+ "package": {
24
+ "type": "object",
25
+ "additionalProperties": false,
26
+ "required": [
27
+ "name",
28
+ "version"
29
+ ],
30
+ "properties": {
31
+ "name": {
32
+ "type": "string"
33
+ },
34
+ "version": {
35
+ "type": "string"
36
+ }
37
+ }
38
+ },
39
+ "counts": {
40
+ "type": "object",
41
+ "additionalProperties": false,
42
+ "required": [
43
+ "components",
44
+ "compositionComponents",
45
+ "compositionRecipes",
46
+ "tools",
47
+ "prompts",
48
+ "cliCommands"
49
+ ],
50
+ "properties": {
51
+ "components": {
52
+ "type": "integer",
53
+ "minimum": 0
54
+ },
55
+ "compositionComponents": {
56
+ "type": "integer",
57
+ "minimum": 0
58
+ },
59
+ "compositionRecipes": {
60
+ "type": "integer",
61
+ "minimum": 0
62
+ },
63
+ "tools": {
64
+ "type": "integer",
65
+ "minimum": 0
66
+ },
67
+ "prompts": {
68
+ "type": "integer",
69
+ "minimum": 0
70
+ },
71
+ "cliCommands": {
72
+ "type": "integer",
73
+ "minimum": 0
74
+ }
75
+ }
76
+ },
77
+ "themeImports": {
78
+ "type": "object",
79
+ "additionalProperties": false,
80
+ "required": [
81
+ "default",
82
+ "dark"
83
+ ],
84
+ "properties": {
85
+ "default": {
86
+ "type": "string"
87
+ },
88
+ "dark": {
89
+ "type": "string"
90
+ }
91
+ }
92
+ },
93
+ "ai": {
94
+ "type": "object",
95
+ "additionalProperties": false,
96
+ "required": [
97
+ "tools",
98
+ "prompts",
99
+ "cliCommands"
100
+ ],
101
+ "properties": {
102
+ "tools": {
103
+ "$ref": "#/$defs/aiEntries"
104
+ },
105
+ "prompts": {
106
+ "$ref": "#/$defs/aiEntries"
107
+ },
108
+ "cliCommands": {
109
+ "$ref": "#/$defs/aiEntries"
110
+ }
111
+ }
112
+ },
113
+ "components": {
114
+ "type": "object",
115
+ "additionalProperties": {
116
+ "$ref": "#/$defs/componentMetadata"
117
+ }
118
+ },
119
+ "composition": {
120
+ "type": "object",
121
+ "additionalProperties": false,
122
+ "required": [
123
+ "components",
124
+ "recipes"
125
+ ],
126
+ "properties": {
127
+ "components": {
128
+ "type": "object",
129
+ "additionalProperties": {
130
+ "$ref": "#/$defs/compositionComponent"
131
+ }
132
+ },
133
+ "recipes": {
134
+ "type": "object",
135
+ "additionalProperties": {
136
+ "$ref": "#/$defs/compositionRecipe"
137
+ }
138
+ }
139
+ }
140
+ }
141
+ },
142
+ "$defs": {
143
+ "aiEntry": {
144
+ "type": "object",
145
+ "additionalProperties": false,
146
+ "required": [
147
+ "name",
148
+ "description"
149
+ ],
150
+ "properties": {
151
+ "name": {
152
+ "type": "string"
153
+ },
154
+ "description": {
155
+ "type": "string"
156
+ }
157
+ }
158
+ },
159
+ "aiEntries": {
160
+ "type": "array",
161
+ "items": {
162
+ "$ref": "#/$defs/aiEntry"
163
+ }
164
+ },
165
+ "propDef": {
166
+ "type": "object",
167
+ "additionalProperties": false,
168
+ "required": [
169
+ "type"
170
+ ],
171
+ "properties": {
172
+ "type": {
173
+ "type": "string"
174
+ },
175
+ "required": {
176
+ "type": "boolean"
177
+ },
178
+ "bindable": {
179
+ "type": "boolean"
180
+ },
181
+ "default": {
182
+ "type": "string"
183
+ },
184
+ "acceptedValues": {
185
+ "type": "array",
186
+ "items": {
187
+ "type": "string"
188
+ }
189
+ },
190
+ "description": {
191
+ "type": "string"
192
+ },
193
+ "note": {
194
+ "type": "string"
195
+ }
196
+ }
197
+ },
198
+ "dataAttribute": {
199
+ "type": "object",
200
+ "additionalProperties": false,
201
+ "required": [
202
+ "name"
203
+ ],
204
+ "properties": {
205
+ "name": {
206
+ "type": "string"
207
+ },
208
+ "description": {
209
+ "type": "string"
210
+ },
211
+ "values": {
212
+ "type": "array",
213
+ "items": {
214
+ "type": "string"
215
+ }
216
+ }
217
+ }
218
+ },
219
+ "forwardedProps": {
220
+ "type": "object",
221
+ "additionalProperties": false,
222
+ "required": [
223
+ "baseType",
224
+ "via",
225
+ "note"
226
+ ],
227
+ "properties": {
228
+ "baseType": {
229
+ "type": "string"
230
+ },
231
+ "via": {
232
+ "const": "rest"
233
+ },
234
+ "element": {
235
+ "type": "string"
236
+ },
237
+ "examples": {
238
+ "type": "array",
239
+ "items": {
240
+ "type": "string"
241
+ }
242
+ },
243
+ "omitted": {
244
+ "type": "array",
245
+ "items": {
246
+ "type": "string"
247
+ }
248
+ },
249
+ "note": {
250
+ "type": "string"
251
+ }
252
+ }
253
+ },
254
+ "part": {
255
+ "type": "object",
256
+ "additionalProperties": false,
257
+ "required": [
258
+ "props"
259
+ ],
260
+ "properties": {
261
+ "props": {
262
+ "type": "object",
263
+ "additionalProperties": {
264
+ "$ref": "#/$defs/propDef"
265
+ }
266
+ },
267
+ "forwardedProps": {
268
+ "anyOf": [
269
+ {
270
+ "$ref": "#/$defs/forwardedProps"
271
+ },
272
+ {
273
+ "type": "null"
274
+ }
275
+ ]
276
+ }
277
+ }
278
+ },
279
+ "structure": {
280
+ "type": "object",
281
+ "additionalProperties": false,
282
+ "required": [
283
+ "tree"
284
+ ],
285
+ "properties": {
286
+ "tree": {
287
+ "type": "array",
288
+ "items": {
289
+ "type": "string"
290
+ }
291
+ },
292
+ "note": {
293
+ "type": "string"
294
+ }
295
+ }
296
+ },
297
+ "componentMetadata": {
298
+ "type": "object",
299
+ "additionalProperties": false,
300
+ "required": [
301
+ "import",
302
+ "description",
303
+ "category",
304
+ "tags",
305
+ "compound",
306
+ "cssVars",
307
+ "dataAttributes",
308
+ "example"
309
+ ],
310
+ "properties": {
311
+ "import": {
312
+ "type": "string"
313
+ },
314
+ "description": {
315
+ "type": "string"
316
+ },
317
+ "category": {
318
+ "type": "string"
319
+ },
320
+ "tags": {
321
+ "type": "array",
322
+ "items": {
323
+ "type": "string"
324
+ }
325
+ },
326
+ "compound": {
327
+ "type": "boolean"
328
+ },
329
+ "props": {
330
+ "type": "object",
331
+ "additionalProperties": {
332
+ "$ref": "#/$defs/propDef"
333
+ }
334
+ },
335
+ "parts": {
336
+ "type": "object",
337
+ "additionalProperties": {
338
+ "$ref": "#/$defs/part"
339
+ }
340
+ },
341
+ "forwardedProps": {
342
+ "anyOf": [
343
+ {
344
+ "$ref": "#/$defs/forwardedProps"
345
+ },
346
+ {
347
+ "type": "null"
348
+ }
349
+ ]
350
+ },
351
+ "groups": {
352
+ "type": "array",
353
+ "items": {
354
+ "type": "object",
355
+ "additionalProperties": false,
356
+ "required": [
357
+ "name",
358
+ "props"
359
+ ],
360
+ "properties": {
361
+ "name": {
362
+ "type": "string"
363
+ },
364
+ "props": {
365
+ "type": "array",
366
+ "items": {
367
+ "type": "string"
368
+ }
369
+ }
370
+ }
371
+ }
372
+ },
373
+ "structure": {
374
+ "anyOf": [
375
+ {
376
+ "$ref": "#/$defs/structure"
377
+ },
378
+ {
379
+ "type": "null"
380
+ }
381
+ ]
382
+ },
383
+ "a11y": {
384
+ "type": "array",
385
+ "items": {
386
+ "type": "string"
387
+ }
388
+ },
389
+ "cssVars": {
390
+ "type": "object",
391
+ "additionalProperties": {
392
+ "type": "string"
393
+ }
394
+ },
395
+ "dataAttributes": {
396
+ "type": "array",
397
+ "items": {
398
+ "$ref": "#/$defs/dataAttribute"
399
+ }
400
+ },
401
+ "example": {
402
+ "type": "string"
403
+ }
404
+ }
405
+ },
406
+ "compositionAlternative": {
407
+ "type": "object",
408
+ "additionalProperties": false,
409
+ "required": [
410
+ "rank",
411
+ "component",
412
+ "useWhen",
413
+ "snippet"
414
+ ],
415
+ "properties": {
416
+ "rank": {
417
+ "type": "integer",
418
+ "minimum": 0
419
+ },
420
+ "component": {
421
+ "type": "string"
422
+ },
423
+ "useWhen": {
424
+ "type": "string"
425
+ },
426
+ "snippet": {
427
+ "type": "string"
428
+ }
429
+ }
430
+ },
431
+ "compositionAntiPattern": {
432
+ "type": "object",
433
+ "additionalProperties": false,
434
+ "required": [
435
+ "pattern",
436
+ "reason",
437
+ "fix"
438
+ ],
439
+ "properties": {
440
+ "pattern": {
441
+ "type": "string"
442
+ },
443
+ "reason": {
444
+ "type": "string"
445
+ },
446
+ "fix": {
447
+ "type": "string"
448
+ }
449
+ }
450
+ },
451
+ "compositionComponent": {
452
+ "type": "object",
453
+ "additionalProperties": false,
454
+ "required": [
455
+ "component",
456
+ "useWhen",
457
+ "alternatives",
458
+ "antiPatterns",
459
+ "combinesWith"
460
+ ],
461
+ "properties": {
462
+ "component": {
463
+ "type": "string"
464
+ },
465
+ "useWhen": {
466
+ "type": "string"
467
+ },
468
+ "alternatives": {
469
+ "type": "array",
470
+ "items": {
471
+ "$ref": "#/$defs/compositionAlternative"
472
+ }
473
+ },
474
+ "antiPatterns": {
475
+ "type": "array",
476
+ "items": {
477
+ "$ref": "#/$defs/compositionAntiPattern"
478
+ }
479
+ },
480
+ "combinesWith": {
481
+ "type": "array",
482
+ "items": {
483
+ "type": "string"
484
+ }
485
+ }
486
+ }
487
+ },
488
+ "compositionRecipe": {
489
+ "type": "object",
490
+ "additionalProperties": false,
491
+ "required": [
492
+ "name",
493
+ "description",
494
+ "tags",
495
+ "components",
496
+ "snippet"
497
+ ],
498
+ "properties": {
499
+ "name": {
500
+ "type": "string"
501
+ },
502
+ "description": {
503
+ "type": "string"
504
+ },
505
+ "tags": {
506
+ "type": "array",
507
+ "items": {
508
+ "type": "string"
509
+ }
510
+ },
511
+ "components": {
512
+ "type": "array",
513
+ "items": {
514
+ "type": "string"
515
+ }
516
+ },
517
+ "snippet": {
518
+ "type": "string"
519
+ }
520
+ }
521
+ }
522
+ }
523
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/env bun
2
+ /**
3
+ * Generates llms.txt and llms-components.txt for the docs site from spec.json.
4
+ * Run: bun src/generate-llms-txt.ts
5
+ */
6
+ export {};
@@ -0,0 +1,26 @@
1
+ type PropShape = {
2
+ type: string;
3
+ default?: string;
4
+ required?: boolean;
5
+ bindable?: boolean;
6
+ acceptedValues?: string[];
7
+ description?: string;
8
+ note?: string;
9
+ };
10
+ type ForwardedPropsShape = {
11
+ baseType: string;
12
+ via: 'rest';
13
+ element?: string;
14
+ examples?: string[];
15
+ omitted?: string[];
16
+ note: string;
17
+ };
18
+ declare function parseCompoundParts(source: string, name: string): string[] | null;
19
+ declare function partPropInterfaceNames(componentName: string, partName: string): string[];
20
+ declare function parsePartContract(source: string, componentName: string, partName: string): {
21
+ props: Record<string, PropShape>;
22
+ forwardedProps: ForwardedPropsShape | null;
23
+ };
24
+ declare function parseDefaults(svelteSource: string): Record<string, string>;
25
+ declare function generateExample(name: string, compound: boolean, parts?: string[]): string;
26
+ export { parseCompoundParts, parsePartContract, generateExample, partPropInterfaceNames, parseDefaults };
@@ -0,0 +1 @@
1
+ export {};