roast-my-design-system 5.7.1 → 5.7.2

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 CHANGED
@@ -60,7 +60,7 @@ One scan powers all of it; the flags decide what lands on disk. Combine freely.
60
60
 
61
61
  The full report for vercel/ai-chatbot, top to bottom — including "What the numbers mean", Claude's read of the scan, embedded right under the verdict:
62
62
 
63
- ![The full diagnosis report for vercel/ai-chatbot in dark mode: health score, the What the numbers mean analysis written by Claude, priced Where to start moves each with its copy-the-fix-prompt button, the wrapped present with the agent rules, an agent trap callout, three-yardstick tiles, the adoption map treemap, palette forensics, spacing receipts, typography specimens, offenders, duplicates, and the component usage ledger](https://raw.githubusercontent.com/gregkozakiewicz/roast-my-design-system/main/assets/report-full-dark.png?v=5.7.0)
63
+ ![The full diagnosis report for vercel/ai-chatbot in dark mode: health score, the What the numbers mean analysis written by Claude, priced Where to start moves each with its copy-the-fix-prompt button, the wrapped present with the agent rules, an agent trap callout, three-yardstick tiles, the adoption map treemap, palette forensics, spacing receipts, typography specimens, offenders, duplicates, and the component usage ledger](https://raw.githubusercontent.com/gregkozakiewicz/roast-my-design-system/main/assets/report-full-dark.png?v=5.7.2)
64
64
 
65
65
  The same report in light mode (one file, built-in toggle):
66
66
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "roast-my-design-system",
3
- "version": "5.7.1",
3
+ "version": "5.7.2",
4
4
  "mcpName": "io.github.gregkozakiewicz/roast-my-design-system",
5
5
  "description": "Your AI can write the UI. This makes sure it writes your UI. A deterministic scanner scores your design system 0-100 against 34 public repos, reads React and web components (Stencil, Lit), hands you a copy-paste fix prompt for each top finding, writes rules for Claude, Cursor, Copilot and Windsurf with --apply, and runs as a local MCP server with --mcp.",
6
6
  "keywords": [
@@ -774,13 +774,19 @@ function adoptionMap(tiled) {
774
774
  i += row.length;
775
775
  }
776
776
  const tiles = rects.map(({ x, y, w, h, c }) => {
777
- const fitsName = w > c.name.length * 7.5 + 10 && h > 34;
778
- const fitsCount = w > 34 && h > (fitsName ? 52 : 22);
777
+ // Every tile gets a name, whatever its width allows: a long name is
778
+ // truncated with an ellipsis (the hover keeps the full identity), because
779
+ // an anonymous square reads as a bug, not a component (caught by Greg on
780
+ // the scale map, 2026-09-02). The count joins when the height allows.
781
+ const big = w > c.name.length * 7.5 + 10 && h > 34;
782
+ const maxChars = Math.max(3, Math.floor((w - 10) / (big ? 7.5 : 6.2)));
783
+ const label = c.name.length <= maxChars ? c.name : c.name.slice(0, Math.max(2, maxChars - 1)) + '…';
784
+ const fitsCount = h > 46;
779
785
  const cx = x + w / 2, cy = y + h / 2;
780
786
  return `<g><rect x="${x.toFixed(1)}" y="${y.toFixed(1)}" width="${w.toFixed(1)}" height="${h.toFixed(1)}" class="atile">
781
787
  <title>&lt;${esc(c.name)}&gt; · used ${c.usageCount}× · ${esc(c.file)}</title></rect>
782
- ${fitsName ? `<text x="${cx.toFixed(1)}" y="${(fitsCount ? cy - 4 : cy + 4).toFixed(1)}" class="adot-n">${esc(c.name)}</text>` : ''}
783
- ${fitsCount ? `<text x="${cx.toFixed(1)}" y="${(fitsName ? cy + 14 : cy + 4).toFixed(1)}" class="adot-c">${c.usageCount}×</text>` : ''}</g>`;
788
+ <text x="${cx.toFixed(1)}" y="${(fitsCount ? cy - 4 : cy + 4).toFixed(1)}" class="adot-n${big ? '' : ' s'}">${esc(label)}</text>
789
+ ${fitsCount ? `<text x="${cx.toFixed(1)}" y="${(cy + 14).toFixed(1)}" class="adot-c">${c.usageCount}×</text>` : ''}</g>`;
784
790
  }).join('');
785
791
  return `<svg viewBox="0 0 ${W} ${H}" class="amap" role="img" aria-label="Component adoption map: tile area is import count">${tiles}</svg>`;
786
792
  }
@@ -1,4 +1,4 @@
1
1
  // Single version constant for the engine — imported by diagnose (report
2
2
  // footer) and rules (generated-by line). This is the bump spot that used to
3
3
  // live as a const inside diagnose/index.mjs.
4
- export const VERSION = '5.7.1';
4
+ export const VERSION = '5.7.2';