@dryui/mcp 0.1.2 → 0.1.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/architecture.js +1 -1
- package/dist/architecture.json +2 -2
- package/dist/composition-data.js +1 -1
- package/dist/contract.v1.json +2 -2
- package/dist/index.js +21 -10
- package/dist/project-planner.js +21 -10
- package/dist/spec.json +2 -2
- package/dist/workspace-audit.js +21 -10
- package/package.json +1 -4
package/dist/architecture.js
CHANGED
|
@@ -4440,7 +4440,7 @@ body { margin: 0; min-height: 100dvh; }
|
|
|
4440
4440
|
},
|
|
4441
4441
|
{
|
|
4442
4442
|
name: "simple-content-page",
|
|
4443
|
-
description: "Clean content page with constrained width and vertical rhythm. Use Container for max-width and
|
|
4443
|
+
description: "Clean content page with constrained width and vertical rhythm. Use Container for max-width and CSS grid for vertical spacing. Suitable for blog posts, documentation, settings pages.",
|
|
4444
4444
|
tags: ["page", "content", "simple", "blog", "docs", "article", "clean", "minimal"],
|
|
4445
4445
|
components: ["Container"],
|
|
4446
4446
|
snippet: `<!-- Simple content page — Container constrains width, grid provides rhythm -->
|
package/dist/architecture.json
CHANGED
package/dist/composition-data.js
CHANGED
|
@@ -4440,7 +4440,7 @@ body { margin: 0; min-height: 100dvh; }
|
|
|
4440
4440
|
},
|
|
4441
4441
|
{
|
|
4442
4442
|
name: "simple-content-page",
|
|
4443
|
-
description: "Clean content page with constrained width and vertical rhythm. Use Container for max-width and
|
|
4443
|
+
description: "Clean content page with constrained width and vertical rhythm. Use Container for max-width and CSS grid for vertical spacing. Suitable for blog posts, documentation, settings pages.",
|
|
4444
4444
|
tags: ["page", "content", "simple", "blog", "docs", "article", "clean", "minimal"],
|
|
4445
4445
|
components: ["Container"],
|
|
4446
4446
|
snippet: `<!-- Simple content page — Container constrains width, grid provides rhythm -->
|
package/dist/contract.v1.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"version": 1,
|
|
4
4
|
"package": {
|
|
5
5
|
"name": "@dryui/ui",
|
|
6
|
-
"version": "0.1.
|
|
6
|
+
"version": "0.1.5"
|
|
7
7
|
},
|
|
8
8
|
"counts": {
|
|
9
9
|
"components": 144,
|
|
@@ -22341,7 +22341,7 @@
|
|
|
22341
22341
|
},
|
|
22342
22342
|
"simple-content-page": {
|
|
22343
22343
|
"name": "simple-content-page",
|
|
22344
|
-
"description": "Clean content page with constrained width and vertical rhythm. Use Container for max-width and
|
|
22344
|
+
"description": "Clean content page with constrained width and vertical rhythm. Use Container for max-width and CSS grid for vertical spacing. Suitable for blog posts, documentation, settings pages.",
|
|
22345
22345
|
"tags": [
|
|
22346
22346
|
"page",
|
|
22347
22347
|
"content",
|
package/dist/index.js
CHANGED
|
@@ -8080,12 +8080,23 @@ function installCommand(packageManager) {
|
|
|
8080
8080
|
return "npm install @dryui/ui";
|
|
8081
8081
|
}
|
|
8082
8082
|
}
|
|
8083
|
+
function buildThemeImportLines(spec) {
|
|
8084
|
+
return ` import '${spec.themeImports.default}';
|
|
8085
|
+
import '${spec.themeImports.dark}';`;
|
|
8086
|
+
}
|
|
8083
8087
|
function buildThemeImportSnippet(spec) {
|
|
8088
|
+
return ["<script>", buildThemeImportLines(spec), "</script>"].join(`
|
|
8089
|
+
`);
|
|
8090
|
+
}
|
|
8091
|
+
function buildRootLayoutSnippet(spec) {
|
|
8084
8092
|
return [
|
|
8085
|
-
|
|
8086
|
-
|
|
8087
|
-
|
|
8088
|
-
"
|
|
8093
|
+
"<script>",
|
|
8094
|
+
buildThemeImportLines(spec),
|
|
8095
|
+
"",
|
|
8096
|
+
" let { children } = $props();",
|
|
8097
|
+
"</script>",
|
|
8098
|
+
"",
|
|
8099
|
+
"{@render children()}"
|
|
8089
8100
|
].join(`
|
|
8090
8101
|
`);
|
|
8091
8102
|
}
|
|
@@ -8193,7 +8204,7 @@ function planInstall(spec, inputPath) {
|
|
|
8193
8204
|
kind: "edit-file",
|
|
8194
8205
|
status: "pending",
|
|
8195
8206
|
title: "Add theme imports to app.css",
|
|
8196
|
-
description: "
|
|
8207
|
+
description: "Prepend the two @import lines from the snippet to the TOP of the existing src/app.css file, before any other CSS rules. Do not create a second file.",
|
|
8197
8208
|
path: detection.files.appCss,
|
|
8198
8209
|
snippet: buildThemeImportCssSnippet(spec)
|
|
8199
8210
|
});
|
|
@@ -8203,16 +8214,16 @@ function planInstall(spec, inputPath) {
|
|
|
8203
8214
|
kind: "create-file",
|
|
8204
8215
|
status: "pending",
|
|
8205
8216
|
title: "Create root layout with theme imports",
|
|
8206
|
-
description: "Create
|
|
8217
|
+
description: "Create the file at the path below with the snippet as its full content. The file must include {@render children()} or pages will not render.",
|
|
8207
8218
|
...path ? { path } : {},
|
|
8208
|
-
snippet:
|
|
8219
|
+
snippet: buildRootLayoutSnippet(spec)
|
|
8209
8220
|
});
|
|
8210
8221
|
} else {
|
|
8211
8222
|
steps.push({
|
|
8212
8223
|
kind: "edit-file",
|
|
8213
8224
|
status: "pending",
|
|
8214
8225
|
title: "Add theme imports to the root layout",
|
|
8215
|
-
description: "
|
|
8226
|
+
description: "Add the two import lines from the snippet into the EXISTING <script> block in this file. Do not create a second <script> block. If no <script> block exists, add one at the top of the file.",
|
|
8216
8227
|
path: detection.files.rootLayout,
|
|
8217
8228
|
snippet: buildThemeImportSnippet(spec)
|
|
8218
8229
|
});
|
|
@@ -8230,9 +8241,9 @@ function planInstall(spec, inputPath) {
|
|
|
8230
8241
|
kind: "edit-file",
|
|
8231
8242
|
status: "pending",
|
|
8232
8243
|
title: "Set html theme mode to auto",
|
|
8233
|
-
description: '
|
|
8244
|
+
description: 'In src/app.html, find the opening <html> tag (e.g. <html lang="en">) and add class="theme-auto" to it, preserving any existing attributes. Result should be like <html lang="en" class="theme-auto">. Do NOT add a second <html> element.',
|
|
8234
8245
|
path: detection.files.appHtml,
|
|
8235
|
-
snippet: '<html class="theme-auto">'
|
|
8246
|
+
snippet: '<html lang="en" class="theme-auto">'
|
|
8236
8247
|
});
|
|
8237
8248
|
}
|
|
8238
8249
|
if (steps.length === 0) {
|
package/dist/project-planner.js
CHANGED
|
@@ -158,12 +158,23 @@ function installCommand(packageManager) {
|
|
|
158
158
|
return "npm install @dryui/ui";
|
|
159
159
|
}
|
|
160
160
|
}
|
|
161
|
+
function buildThemeImportLines(spec) {
|
|
162
|
+
return ` import '${spec.themeImports.default}';
|
|
163
|
+
import '${spec.themeImports.dark}';`;
|
|
164
|
+
}
|
|
161
165
|
function buildThemeImportSnippet(spec) {
|
|
166
|
+
return ["<script>", buildThemeImportLines(spec), "</script>"].join(`
|
|
167
|
+
`);
|
|
168
|
+
}
|
|
169
|
+
function buildRootLayoutSnippet(spec) {
|
|
162
170
|
return [
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
"
|
|
171
|
+
"<script>",
|
|
172
|
+
buildThemeImportLines(spec),
|
|
173
|
+
"",
|
|
174
|
+
" let { children } = $props();",
|
|
175
|
+
"</script>",
|
|
176
|
+
"",
|
|
177
|
+
"{@render children()}"
|
|
167
178
|
].join(`
|
|
168
179
|
`);
|
|
169
180
|
}
|
|
@@ -271,7 +282,7 @@ function planInstall(spec, inputPath) {
|
|
|
271
282
|
kind: "edit-file",
|
|
272
283
|
status: "pending",
|
|
273
284
|
title: "Add theme imports to app.css",
|
|
274
|
-
description: "
|
|
285
|
+
description: "Prepend the two @import lines from the snippet to the TOP of the existing src/app.css file, before any other CSS rules. Do not create a second file.",
|
|
275
286
|
path: detection.files.appCss,
|
|
276
287
|
snippet: buildThemeImportCssSnippet(spec)
|
|
277
288
|
});
|
|
@@ -281,16 +292,16 @@ function planInstall(spec, inputPath) {
|
|
|
281
292
|
kind: "create-file",
|
|
282
293
|
status: "pending",
|
|
283
294
|
title: "Create root layout with theme imports",
|
|
284
|
-
description: "Create
|
|
295
|
+
description: "Create the file at the path below with the snippet as its full content. The file must include {@render children()} or pages will not render.",
|
|
285
296
|
...path ? { path } : {},
|
|
286
|
-
snippet:
|
|
297
|
+
snippet: buildRootLayoutSnippet(spec)
|
|
287
298
|
});
|
|
288
299
|
} else {
|
|
289
300
|
steps.push({
|
|
290
301
|
kind: "edit-file",
|
|
291
302
|
status: "pending",
|
|
292
303
|
title: "Add theme imports to the root layout",
|
|
293
|
-
description: "
|
|
304
|
+
description: "Add the two import lines from the snippet into the EXISTING <script> block in this file. Do not create a second <script> block. If no <script> block exists, add one at the top of the file.",
|
|
294
305
|
path: detection.files.rootLayout,
|
|
295
306
|
snippet: buildThemeImportSnippet(spec)
|
|
296
307
|
});
|
|
@@ -308,9 +319,9 @@ function planInstall(spec, inputPath) {
|
|
|
308
319
|
kind: "edit-file",
|
|
309
320
|
status: "pending",
|
|
310
321
|
title: "Set html theme mode to auto",
|
|
311
|
-
description: '
|
|
322
|
+
description: 'In src/app.html, find the opening <html> tag (e.g. <html lang="en">) and add class="theme-auto" to it, preserving any existing attributes. Result should be like <html lang="en" class="theme-auto">. Do NOT add a second <html> element.',
|
|
312
323
|
path: detection.files.appHtml,
|
|
313
|
-
snippet: '<html class="theme-auto">'
|
|
324
|
+
snippet: '<html lang="en" class="theme-auto">'
|
|
314
325
|
});
|
|
315
326
|
}
|
|
316
327
|
if (steps.length === 0) {
|
package/dist/spec.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "0.1.
|
|
2
|
+
"version": "0.1.5",
|
|
3
3
|
"package": "@dryui/ui",
|
|
4
4
|
"themeImports": {
|
|
5
5
|
"default": "@dryui/ui/themes/default.css",
|
|
@@ -22197,7 +22197,7 @@
|
|
|
22197
22197
|
},
|
|
22198
22198
|
"simple-content-page": {
|
|
22199
22199
|
"name": "simple-content-page",
|
|
22200
|
-
"description": "Clean content page with constrained width and vertical rhythm. Use Container for max-width and
|
|
22200
|
+
"description": "Clean content page with constrained width and vertical rhythm. Use Container for max-width and CSS grid for vertical spacing. Suitable for blog posts, documentation, settings pages.",
|
|
22201
22201
|
"tags": [
|
|
22202
22202
|
"page",
|
|
22203
22203
|
"content",
|
package/dist/workspace-audit.js
CHANGED
|
@@ -1607,12 +1607,23 @@ function installCommand(packageManager) {
|
|
|
1607
1607
|
return "npm install @dryui/ui";
|
|
1608
1608
|
}
|
|
1609
1609
|
}
|
|
1610
|
+
function buildThemeImportLines(spec) {
|
|
1611
|
+
return ` import '${spec.themeImports.default}';
|
|
1612
|
+
import '${spec.themeImports.dark}';`;
|
|
1613
|
+
}
|
|
1610
1614
|
function buildThemeImportSnippet(spec) {
|
|
1615
|
+
return ["<script>", buildThemeImportLines(spec), "</script>"].join(`
|
|
1616
|
+
`);
|
|
1617
|
+
}
|
|
1618
|
+
function buildRootLayoutSnippet(spec) {
|
|
1611
1619
|
return [
|
|
1612
|
-
|
|
1613
|
-
|
|
1614
|
-
|
|
1615
|
-
"
|
|
1620
|
+
"<script>",
|
|
1621
|
+
buildThemeImportLines(spec),
|
|
1622
|
+
"",
|
|
1623
|
+
" let { children } = $props();",
|
|
1624
|
+
"</script>",
|
|
1625
|
+
"",
|
|
1626
|
+
"{@render children()}"
|
|
1616
1627
|
].join(`
|
|
1617
1628
|
`);
|
|
1618
1629
|
}
|
|
@@ -1720,7 +1731,7 @@ function planInstall(spec, inputPath) {
|
|
|
1720
1731
|
kind: "edit-file",
|
|
1721
1732
|
status: "pending",
|
|
1722
1733
|
title: "Add theme imports to app.css",
|
|
1723
|
-
description: "
|
|
1734
|
+
description: "Prepend the two @import lines from the snippet to the TOP of the existing src/app.css file, before any other CSS rules. Do not create a second file.",
|
|
1724
1735
|
path: detection.files.appCss,
|
|
1725
1736
|
snippet: buildThemeImportCssSnippet(spec)
|
|
1726
1737
|
});
|
|
@@ -1730,16 +1741,16 @@ function planInstall(spec, inputPath) {
|
|
|
1730
1741
|
kind: "create-file",
|
|
1731
1742
|
status: "pending",
|
|
1732
1743
|
title: "Create root layout with theme imports",
|
|
1733
|
-
description: "Create
|
|
1744
|
+
description: "Create the file at the path below with the snippet as its full content. The file must include {@render children()} or pages will not render.",
|
|
1734
1745
|
...path ? { path } : {},
|
|
1735
|
-
snippet:
|
|
1746
|
+
snippet: buildRootLayoutSnippet(spec)
|
|
1736
1747
|
});
|
|
1737
1748
|
} else {
|
|
1738
1749
|
steps.push({
|
|
1739
1750
|
kind: "edit-file",
|
|
1740
1751
|
status: "pending",
|
|
1741
1752
|
title: "Add theme imports to the root layout",
|
|
1742
|
-
description: "
|
|
1753
|
+
description: "Add the two import lines from the snippet into the EXISTING <script> block in this file. Do not create a second <script> block. If no <script> block exists, add one at the top of the file.",
|
|
1743
1754
|
path: detection.files.rootLayout,
|
|
1744
1755
|
snippet: buildThemeImportSnippet(spec)
|
|
1745
1756
|
});
|
|
@@ -1757,9 +1768,9 @@ function planInstall(spec, inputPath) {
|
|
|
1757
1768
|
kind: "edit-file",
|
|
1758
1769
|
status: "pending",
|
|
1759
1770
|
title: "Set html theme mode to auto",
|
|
1760
|
-
description: '
|
|
1771
|
+
description: 'In src/app.html, find the opening <html> tag (e.g. <html lang="en">) and add class="theme-auto" to it, preserving any existing attributes. Result should be like <html lang="en" class="theme-auto">. Do NOT add a second <html> element.',
|
|
1761
1772
|
path: detection.files.appHtml,
|
|
1762
|
-
snippet: '<html class="theme-auto">'
|
|
1773
|
+
snippet: '<html lang="en" class="theme-auto">'
|
|
1763
1774
|
});
|
|
1764
1775
|
}
|
|
1765
1776
|
if (steps.length === 0) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dryui/mcp",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.3",
|
|
4
4
|
"author": "Rob Balfre",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -71,9 +71,6 @@
|
|
|
71
71
|
"files": [
|
|
72
72
|
"dist"
|
|
73
73
|
],
|
|
74
|
-
"publishConfig": {
|
|
75
|
-
"access": "public"
|
|
76
|
-
},
|
|
77
74
|
"scripts": {
|
|
78
75
|
"generate-spec": "bun src/generate-spec.ts",
|
|
79
76
|
"generate-architecture": "bun src/generate-architecture.ts",
|