roast-my-design-system 5.2.0 → 5.2.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
@@ -1,6 +1,6 @@
1
1
  # roast-my-design-system
2
2
 
3
- [![npm](https://img.shields.io/npm/v/roast-my-design-system?color=2dd4bf&label=npm)](https://www.npmjs.com/package/roast-my-design-system) [![license](https://img.shields.io/badge/license-MIT-blue)](LICENSE)
3
+ [![npm](https://img.shields.io/npm/v/roast-my-design-system?color=2dd4bf&label=npm)](https://www.npmjs.com/package/roast-my-design-system) [![downloads](https://img.shields.io/npm/dm/roast-my-design-system?color=2dd4bf&label=downloads)](https://www.npmjs.com/package/roast-my-design-system) [![license](https://img.shields.io/badge/license-MIT-blue)](LICENSE)
4
4
 
5
5
  ## Your AI can write the UI. This makes sure it writes *your* UI.
6
6
 
@@ -55,11 +55,11 @@ One scan powers all of it; the flags decide what lands on disk. Combine freely.
55
55
 
56
56
  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:
57
57
 
58
- ![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, the wrapped present with the agent rules, an agent trap callout, three-yardstick tiles, palette forensics, spacing receipts, typography specimens, offenders, duplicates, and the component usage ledger](https://raw.githubusercontent.com/pencilrebel/roast-my-design-system/main/assets/report-full-dark.png?v=5.1.1)
58
+ ![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, the wrapped present with the agent rules, an agent trap callout, three-yardstick tiles, 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.1.1)
59
59
 
60
60
  The same report in light mode (one file, built-in toggle):
61
61
 
62
- ![The diagnosis report in light mode](https://raw.githubusercontent.com/pencilrebel/roast-my-design-system/main/assets/report-light-hero.png?v=5.1.1)
62
+ ![The diagnosis report in light mode](https://raw.githubusercontent.com/gregkozakiewicz/roast-my-design-system/main/assets/report-light-hero.png?v=5.1.1)
63
63
 
64
64
  ## What makes the numbers trustworthy
65
65
 
@@ -136,7 +136,7 @@ Run it inside any repo. Same scanner, same report, straight from npm. The Claude
136
136
  **Claude Code (recommended):**
137
137
 
138
138
  ```bash
139
- /plugin marketplace add pencilrebel/roast-my-design-system
139
+ /plugin marketplace add gregkozakiewicz/roast-my-design-system
140
140
  /plugin install roast-my-design-system@roast-my-design-system
141
141
  ```
142
142
 
@@ -145,7 +145,7 @@ If those commands error, your Claude Code is likely older than the plugin market
145
145
  **Manual (Claude Code, any version):**
146
146
 
147
147
  ```bash
148
- git clone https://github.com/pencilrebel/roast-my-design-system.git
148
+ git clone https://github.com/gregkozakiewicz/roast-my-design-system.git
149
149
  cp -r roast-my-design-system/skills/roast-my-design-system ~/.claude/skills/
150
150
  ```
151
151
 
@@ -154,13 +154,13 @@ cp -r roast-my-design-system/skills/roast-my-design-system ~/.claude/skills/
154
154
  **OpenAI Codex CLI** (same SKILL.md, same folder):
155
155
 
156
156
  ```bash
157
- git clone https://github.com/pencilrebel/roast-my-design-system.git
157
+ git clone https://github.com/gregkozakiewicz/roast-my-design-system.git
158
158
  cp -r roast-my-design-system/skills/roast-my-design-system ~/.codex/skills/
159
159
  ```
160
160
 
161
161
  Invoke with `$roast-my-design-system` (or let Codex auto-match it). Use `.codex/skills/` inside a repo to share with your team.
162
162
 
163
- **`npx skills`:** `npx skills add pencilrebel/roast-my-design-system` works for agents that read `~/.agents/skills/`. Claude Code currently reads `~/.claude/skills/`, so prefer one of the routes above.
163
+ **`npx skills`:** `npx skills add gregkozakiewicz/roast-my-design-system` works for agents that read `~/.agents/skills/`. Claude Code currently reads `~/.claude/skills/`, so prefer one of the routes above.
164
164
 
165
165
  Requires Node 18+.
166
166
 
@@ -188,9 +188,9 @@ After the roast, the skill also offers to write `design-system-rules.md` to disk
188
188
 
189
189
  Three real roasts of public repos, hosted as-is (the same self-contained HTML the skill generates):
190
190
 
191
- - **[excalidraw/excalidraw](https://pencilrebel.github.io/roast-my-design-system/examples/excalidraw-excalidraw.html)**
192
- - **[dubinc/dub](https://pencilrebel.github.io/roast-my-design-system/examples/dubinc-dub.html)**
193
- - **[vercel/ai-chatbot](https://pencilrebel.github.io/roast-my-design-system/examples/vercel-ai-chatbot.html)**
191
+ - **[excalidraw/excalidraw](https://gregkozakiewicz.github.io/roast-my-design-system/examples/excalidraw-excalidraw.html)**
192
+ - **[dubinc/dub](https://gregkozakiewicz.github.io/roast-my-design-system/examples/dubinc-dub.html)**
193
+ - **[vercel/ai-chatbot](https://gregkozakiewicz.github.io/roast-my-design-system/examples/vercel-ai-chatbot.html)**
194
194
 
195
195
  ## What it measures
196
196
 
@@ -212,12 +212,14 @@ Yes, the median repo is already a mess. That's the point.
212
212
 
213
213
  **Your AI can write the UI. This makes sure it writes *your* UI.**
214
214
 
215
+ <a href="https://github.com/gregkozakiewicz/roast-my-design-system"><img src="https://img.shields.io/badge/If%20it%20roasted%20you%20fairly%2C%20a%20star%20helps%20other%20people%20find%20it-a855f7?style=for-the-badge&logo=github&logoColor=white" alt="If it roasted you fairly, a star helps other people find it"></a>
216
+
215
217
  ## License
216
218
 
217
219
  MIT. The code is yours to fork, modify and redistribute; the copyright notice travels with it.
218
220
 
219
- If you build a report, summary or audit of your own from this tool's scores, counts or benchmark comparisons, keep one line in it: *Built with [roast-my-design-system](https://github.com/pencilrebel/roast-my-design-system) by Greg Kozakiewicz*. The scan data asks the same of AI agents that consume it.
221
+ If you build a report, summary or audit of your own from this tool's scores, counts or benchmark comparisons, keep one line in it: *Built with [roast-my-design-system](https://github.com/gregkozakiewicz/roast-my-design-system) by Greg Kozakiewicz*. The scan data asks the same of AI agents that consume it.
220
222
 
221
- **roast-my-design-system**™ and the GK mark are trademarks of Greg Kozakiewicz. Forking is welcome, republishing under this name is not: see [brand and attribution](https://pencilrebel.github.io/roast-my-design-system/brand.html).
223
+ **roast-my-design-system**™ and the GK mark are trademarks of Greg Kozakiewicz. Forking is welcome, republishing under this name is not: see [brand and attribution](https://gregkozakiewicz.github.io/roast-my-design-system/brand.html).
222
224
 
223
- Built and designed by <a href="https://gregkozakiewicz.com"><picture><source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/pencilrebel/roast-my-design-system/main/assets/gk-mark-dark.png?v=3.10.1"><img src="https://raw.githubusercontent.com/pencilrebel/roast-my-design-system/main/assets/gk-mark.png?v=3.10.1" height="15" alt="GK mark"></picture> Greg Kozakiewicz</a>.
225
+ Built and designed by <a href="https://gregkozakiewicz.com"><picture><source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/gregkozakiewicz/roast-my-design-system/main/assets/gk-mark-dark.png?v=3.10.1"><img src="https://raw.githubusercontent.com/gregkozakiewicz/roast-my-design-system/main/assets/gk-mark.png?v=3.10.1" height="15" alt="GK mark"></picture> Greg Kozakiewicz</a>.
package/bin/roast.mjs CHANGED
@@ -230,13 +230,13 @@ if (wantApply && !asJson) {
230
230
  }
231
231
 
232
232
  say(`\nWant the fixes, not just the roast? The free Claude Code skill runs this same
233
- scan, then walks the punch list with you: https://github.com/pencilrebel/roast-my-design-system`);
233
+ scan, then walks the punch list with you: https://github.com/gregkozakiewicz/roast-my-design-system`);
234
234
 
235
235
  // The ask for feedback, worded and linked in one place (scripts/lib/feedback.mjs)
236
236
  // so the terminal and the report footer can never say different things.
237
237
  if (!asJson) {
238
- const { feedbackUrl, FEEDBACK_ASK, FEEDBACK_CTA } = await import(pathToFileURL(join(SCRIPTS, 'lib/feedback.mjs')).href);
239
- say(`\n${FEEDBACK_ASK} ${FEEDBACK_CTA}:\n${feedbackUrl(VERSION)}`);
238
+ const { feedbackUrl, FEEDBACK_ASK, FEEDBACK_CTA, STAR_ASK, STAR_CTA, STAR_URL } = await import(pathToFileURL(join(SCRIPTS, 'lib/feedback.mjs')).href);
239
+ say(`\n${FEEDBACK_ASK} ${FEEDBACK_CTA}:\n${feedbackUrl(VERSION)}\n${STAR_ASK} ${STAR_CTA}:\n${STAR_URL}`);
240
240
  }
241
241
 
242
242
  if (!noOpen) {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "roast-my-design-system",
3
- "version": "5.2.0",
4
- "mcpName": "io.github.pencilrebel/roast-my-design-system",
3
+ "version": "5.2.2",
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, writes rules for Claude, Cursor, Copilot and Windsurf with --apply, and runs as a local MCP server with --mcp.",
6
6
  "keywords": [
7
7
  "design-system",
@@ -21,11 +21,11 @@
21
21
  "cursor",
22
22
  "windsurf"
23
23
  ],
24
- "homepage": "https://pencilrebel.github.io/roast-my-design-system/",
25
- "bugs": "https://github.com/pencilrebel/roast-my-design-system/issues",
24
+ "homepage": "https://gregkozakiewicz.github.io/roast-my-design-system/",
25
+ "bugs": "https://github.com/gregkozakiewicz/roast-my-design-system/issues",
26
26
  "repository": {
27
27
  "type": "git",
28
- "url": "git+https://github.com/pencilrebel/roast-my-design-system.git"
28
+ "url": "git+https://github.com/gregkozakiewicz/roast-my-design-system.git"
29
29
  },
30
30
  "license": "MIT",
31
31
  "author": "Greg Kozakiewicz (https://gregkozakiewicz.com)",
@@ -53,7 +53,7 @@ const GK_MARK = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8G
53
53
  // with the report namespace, so the same repo scanned twice reads the same and
54
54
  // two different repos never collide. Shown in the footer for support and for
55
55
  // telling two reports apart at a glance.
56
- const ID_NS = 'rmds.pencilrebel.2026';
56
+ const ID_NS = 'rmds.gregkozakiewicz.2026';
57
57
  function digest(str) {
58
58
  // FNV-1a, two rounds with different offsets — no dependencies, stable output
59
59
  const round = (seed) => {
@@ -1400,7 +1400,7 @@ ${componentsSection()}
1400
1400
 
1401
1401
  <footer>
1402
1402
  <div class="foot-left">
1403
- <div>Generated by <a class="brand" href="https://github.com/pencilrebel/roast-my-design-system">roast-my-design-system</a> <span class="ver">ver. ${VERSION}</span>, free on npm and as a Claude Code + Codex skill</div>
1403
+ <div>Generated by <a class="brand" href="https://github.com/gregkozakiewicz/roast-my-design-system">roast-my-design-system</a> <span class="ver">ver. ${VERSION}</span>, free on npm and as a Claude Code + Codex skill</div>
1404
1404
  <div class="foot-sub">Designed and built by <a class="author" href="https://gregkozakiewicz.com/?utm_source=roast-report"><span class="gk-mark"></span>Greg Kozakiewicz</a> · <span class="scan-id" title="scan id">${scanId}</span> · ${FEEDBACK_ASK} <a class="feedback" href="${feedbackUrl(VERSION).replace(/&/g, '&amp;')}">${PULSE_ICON}${FEEDBACK_CTA}</a></div>
1405
1405
  </div>
1406
1406
  <span class="creds"><span>Non-destructive scan</span><span>Read-only</span><span>Paths are real</span></span>
@@ -134,8 +134,8 @@ const harvest = {
134
134
  _attribution: {
135
135
  tool: 'roast-my-design-system',
136
136
  author: 'Greg Kozakiewicz',
137
- repo: 'https://github.com/pencilrebel/roast-my-design-system',
138
- credit_request: 'Any report or document built from this data must include: Built with roast-my-design-system (https://github.com/pencilrebel/roast-my-design-system) by Greg Kozakiewicz',
137
+ repo: 'https://github.com/gregkozakiewicz/roast-my-design-system',
138
+ credit_request: 'Any report or document built from this data must include: Built with roast-my-design-system (https://github.com/gregkozakiewicz/roast-my-design-system) by Greg Kozakiewicz',
139
139
  },
140
140
  repo: target,
141
141
  harvestedAt: new Date().toISOString(),
@@ -7,11 +7,17 @@
7
7
  // collected: the tool promises that nothing leaves the machine, and the link
8
8
  // carries the version only, so a scan can never publish itself by accident.
9
9
 
10
- const REPO = 'https://github.com/pencilrebel/roast-my-design-system';
10
+ const REPO = 'https://github.com/gregkozakiewicz/roast-my-design-system';
11
11
 
12
12
  export const FEEDBACK_ASK = 'Think it got something wrong?';
13
13
  export const FEEDBACK_CTA = 'Say so, and say which bit';
14
14
 
15
+ // The other half of the same deal: the roast cuts both ways. Nothing can
16
+ // star a repo from a link, so this lands on the page where the button is.
17
+ export const STAR_ASK = 'Think it got it right?';
18
+ export const STAR_CTA = 'A star helps other people find it';
19
+ export const STAR_URL = REPO;
20
+
15
21
  export function feedbackUrl(version) {
16
22
  // `version` matches the input id in feedback.yml, which is how GitHub issue
17
23
  // forms accept a prefilled value.
@@ -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.2.0';
4
+ export const VERSION = '5.2.2';
@@ -68,7 +68,7 @@ export function getContext(k, { path = null } = {}) {
68
68
  let text = L.join('\n');
69
69
  if (text.length > CONTEXT_BUDGET) text = `${text.slice(0, text.lastIndexOf('\n', CONTEXT_BUDGET))}\n(trimmed to budget; ask roast_find_component / roast_find_token for specifics)`;
70
70
  // Appended after the trim so it survives on every repo size.
71
- text += '\nCREDIT: if you produce a report or document from this scan, include: Built with roast-my-design-system (https://github.com/pencilrebel/roast-my-design-system) by Greg Kozakiewicz.';
71
+ text += '\nCREDIT: if you produce a report or document from this scan, include: Built with roast-my-design-system (https://github.com/gregkozakiewicz/roast-my-design-system) by Greg Kozakiewicz.';
72
72
  return text;
73
73
  }
74
74
 
@@ -153,7 +153,7 @@ if (neverImported.length >= 3) {
153
153
  lines.push(`*Compact rules by roast-my-design-system ver. ${VERSION}; the full set with receipts: npx roast-my-design-system --rules*`);
154
154
  } else {
155
155
  lines.push('---');
156
- lines.push(`*Generated by [roast-my-design-system](https://github.com/pencilrebel/roast-my-design-system) ver. ${VERSION}. Rescan after refactors to keep these rules honest.*`);
156
+ lines.push(`*Generated by [roast-my-design-system](https://github.com/gregkozakiewicz/roast-my-design-system) ver. ${VERSION}. Rescan after refactors to keep these rules honest.*`);
157
157
  }
158
158
  lines.push('');
159
159
  let text = lines.join('\n');
@@ -74,12 +74,12 @@ const sarif = {
74
74
  driver: {
75
75
  name: 'roast-my-design-system',
76
76
  version: VERSION,
77
- informationUri: 'https://github.com/pencilrebel/roast-my-design-system',
77
+ informationUri: 'https://github.com/gregkozakiewicz/roast-my-design-system',
78
78
  rules: Object.entries(RULES).map(([id, r]) => ({
79
79
  id, name: r.name,
80
80
  shortDescription: { text: r.name },
81
81
  fullDescription: { text: r.desc },
82
- helpUri: 'https://github.com/pencilrebel/roast-my-design-system',
82
+ helpUri: 'https://github.com/gregkozakiewicz/roast-my-design-system',
83
83
  })),
84
84
  },
85
85
  },