@dryui/mcp 0.1.3 → 0.1.4

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.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "schema": "DolphinGraph",
3
- "generatedAt": "2026-04-07T21:44:08.785Z",
3
+ "generatedAt": "2026-04-07T22:06:54.170Z",
4
4
  "packageVersion": "0.1.5",
5
5
  "summary": {
6
6
  "componentNodes": 292,
package/dist/index.js CHANGED
@@ -8146,7 +8146,8 @@ function detectProject(spec, inputPath) {
8146
8146
  const themeImportFiles = rootLayout && importsAppCss(rootLayout) ? [rootLayout, appCss] : [rootLayout];
8147
8147
  const defaultImported = hasAnyImport(themeImportFiles, spec.themeImports.default);
8148
8148
  const darkImported = hasAnyImport(themeImportFiles, spec.themeImports.dark);
8149
- const stepsNeeded = Number(!dependencyNames.has("@dryui/ui")) + Number(!defaultImported) + Number(!darkImported) + Number(!(appHtml && hasThemeAuto(appHtml)));
8149
+ const themeAuto = appHtml ? hasThemeAuto(appHtml) : false;
8150
+ const stepsNeeded = Number(!dependencyNames.has("@dryui/ui")) + Number(!defaultImported) + Number(!darkImported) + Number(!themeAuto);
8150
8151
  const warnings = [];
8151
8152
  if (!packageJsonPath)
8152
8153
  warnings.push("No package.json found above the provided path.");
@@ -8172,7 +8173,7 @@ function detectProject(spec, inputPath) {
8172
8173
  theme: {
8173
8174
  defaultImported,
8174
8175
  darkImported,
8175
- themeAuto: hasThemeAuto(appHtml)
8176
+ themeAuto
8176
8177
  },
8177
8178
  warnings
8178
8179
  };
@@ -8243,7 +8244,7 @@ function planInstall(spec, inputPath) {
8243
8244
  title: "Set html theme mode to auto",
8244
8245
  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.',
8245
8246
  path: detection.files.appHtml,
8246
- snippet: '<html lang="en" class="theme-auto">'
8247
+ snippet: 'class="theme-auto"'
8247
8248
  });
8248
8249
  }
8249
8250
  if (steps.length === 0) {
@@ -30691,8 +30692,8 @@ var SERVER_INSTRUCTIONS = [
30691
30692
  '1. SET UP THE APP SHELL FIRST: Run `compose "app shell"` to get the root layout template.',
30692
30693
  ' Your +layout.svelte must import the theme CSS, and app.html needs <html class="theme-auto">.',
30693
30694
  "",
30694
- "2. PAGE LAYOUT: Use PageHeader.Root + Container + Stack for page structure.",
30695
- " This gives you a header, constrained content width, and vertical rhythm.",
30695
+ "2. PAGE LAYOUT: Use CSS grid for layout — not flexbox. Use Container for constrained content",
30696
+ " width. Use `@container` queries for responsive sizing (never `@media` for layout).",
30696
30697
  "",
30697
30698
  "3. CORRECT CSS TOKENS: Background is --dry-color-bg-base (not --dry-color-bg).",
30698
30699
  ' Text is --dry-color-text-strong (not --dry-color-text). See compose "app shell" for the full reset.',
@@ -30704,10 +30705,9 @@ var SERVER_INSTRUCTIONS = [
30704
30705
  " the compose tool are instructions for YOU, not content for the page. Never render them as",
30705
30706
  " visible text in the UI. Only use the code snippets from compose output.",
30706
30707
  "",
30707
- "6. USE DRYUI LAYOUT COMPONENTS, NOT CUSTOM CSS: Grid instead of `display: grid`, Flex instead",
30708
- " of `display: flex`, Stack instead of vertical flex. Use Field.Root + Label for form fields,",
30709
- " Button instead of raw `<button>`. Never write custom CSS for layout, spacing, or form",
30710
- " structure when a DryUI component exists."
30708
+ "6. USE DRYUI COMPONENTS FOR UI ELEMENTS: Use Field.Root + Label for form fields, Button instead",
30709
+ " of raw `<button>`, Separator instead of `<hr>`. Always call `info` or `compose` to check",
30710
+ " if a DryUI component exists before writing raw HTML."
30711
30711
  ].join(`
30712
30712
  `);
30713
30713
  var server = new McpServer({ name: "@dryui/mcp", version: version2 }, {
@@ -224,7 +224,8 @@ function detectProject(spec, inputPath) {
224
224
  const themeImportFiles = rootLayout && importsAppCss(rootLayout) ? [rootLayout, appCss] : [rootLayout];
225
225
  const defaultImported = hasAnyImport(themeImportFiles, spec.themeImports.default);
226
226
  const darkImported = hasAnyImport(themeImportFiles, spec.themeImports.dark);
227
- const stepsNeeded = Number(!dependencyNames.has("@dryui/ui")) + Number(!defaultImported) + Number(!darkImported) + Number(!(appHtml && hasThemeAuto(appHtml)));
227
+ const themeAuto = appHtml ? hasThemeAuto(appHtml) : false;
228
+ const stepsNeeded = Number(!dependencyNames.has("@dryui/ui")) + Number(!defaultImported) + Number(!darkImported) + Number(!themeAuto);
228
229
  const warnings = [];
229
230
  if (!packageJsonPath)
230
231
  warnings.push("No package.json found above the provided path.");
@@ -250,7 +251,7 @@ function detectProject(spec, inputPath) {
250
251
  theme: {
251
252
  defaultImported,
252
253
  darkImported,
253
- themeAuto: hasThemeAuto(appHtml)
254
+ themeAuto
254
255
  },
255
256
  warnings
256
257
  };
@@ -321,7 +322,7 @@ function planInstall(spec, inputPath) {
321
322
  title: "Set html theme mode to auto",
322
323
  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.',
323
324
  path: detection.files.appHtml,
324
- snippet: '<html lang="en" class="theme-auto">'
325
+ snippet: 'class="theme-auto"'
325
326
  });
326
327
  }
327
328
  if (steps.length === 0) {
@@ -1673,7 +1673,8 @@ function detectProject(spec, inputPath) {
1673
1673
  const themeImportFiles = rootLayout && importsAppCss(rootLayout) ? [rootLayout, appCss] : [rootLayout];
1674
1674
  const defaultImported = hasAnyImport(themeImportFiles, spec.themeImports.default);
1675
1675
  const darkImported = hasAnyImport(themeImportFiles, spec.themeImports.dark);
1676
- const stepsNeeded = Number(!dependencyNames.has("@dryui/ui")) + Number(!defaultImported) + Number(!darkImported) + Number(!(appHtml && hasThemeAuto(appHtml)));
1676
+ const themeAuto = appHtml ? hasThemeAuto(appHtml) : false;
1677
+ const stepsNeeded = Number(!dependencyNames.has("@dryui/ui")) + Number(!defaultImported) + Number(!darkImported) + Number(!themeAuto);
1677
1678
  const warnings = [];
1678
1679
  if (!packageJsonPath)
1679
1680
  warnings.push("No package.json found above the provided path.");
@@ -1699,7 +1700,7 @@ function detectProject(spec, inputPath) {
1699
1700
  theme: {
1700
1701
  defaultImported,
1701
1702
  darkImported,
1702
- themeAuto: hasThemeAuto(appHtml)
1703
+ themeAuto
1703
1704
  },
1704
1705
  warnings
1705
1706
  };
@@ -1770,7 +1771,7 @@ function planInstall(spec, inputPath) {
1770
1771
  title: "Set html theme mode to auto",
1771
1772
  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.',
1772
1773
  path: detection.files.appHtml,
1773
- snippet: '<html lang="en" class="theme-auto">'
1774
+ snippet: 'class="theme-auto"'
1774
1775
  });
1775
1776
  }
1776
1777
  if (steps.length === 0) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dryui/mcp",
3
- "version": "0.1.3",
3
+ "version": "0.1.4",
4
4
  "author": "Rob Balfre",
5
5
  "license": "MIT",
6
6
  "repository": {