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
|
-

|
|
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.
|
|
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
|
-
|
|
778
|
-
|
|
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><${esc(c.name)}> · used ${c.usageCount}× · ${esc(c.file)}</title></rect>
|
|
782
|
-
|
|
783
|
-
${fitsCount ? `<text x="${cx.toFixed(1)}" y="${(
|
|
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
|
}
|