roast-my-design-system 9.0.1 → 9.0.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/README.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<img src="
|
|
1
|
+
<img src="assets/roster_logo_v1.png?v=8.2.0" width="100" alt="roast-my-design-system">
|
|
2
2
|
|
|
3
3
|
# roast-my-design-system
|
|
4
4
|
|
|
@@ -117,11 +117,11 @@ Not to be confused with each other: **"Why this matters"** is generic, ships wit
|
|
|
117
117
|
|
|
118
118
|
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:
|
|
119
119
|
|
|
120
|
-

|
|
121
121
|
|
|
122
122
|
The same report in light mode (one file, built-in toggle):
|
|
123
123
|
|
|
124
|
-

|
|
125
125
|
|
|
126
126
|
## What it works on
|
|
127
127
|
|
|
@@ -382,6 +382,15 @@ Review my UI changes against the design system.
|
|
|
382
382
|
|
|
383
383
|
Bugs and questions go to [GitHub Issues](https://github.com/gregkozakiewicz/roast-my-design-system/issues). Everything else reaches Greg through [gregkozakiewicz.com](https://gregkozakiewicz.com). Security problems: see [SECURITY.md](SECURITY.md).
|
|
384
384
|
|
|
385
|
+
## For reviewers
|
|
386
|
+
|
|
387
|
+
What runs on a user's machine, and what does not, in one place.
|
|
388
|
+
|
|
389
|
+
- **The plugin runs three things, all from its own folder.** Two skills, which run `node` on scripts inside the plugin; one local MCP server, started with `node` on a script inside the plugin; and one edit hook, which runs the bundled CLI on the file that changed. Nothing is downloaded at install or run time, nothing is fetched from the network, and nothing leaves the machine. There is no telemetry and no credential is read.
|
|
390
|
+
- **The rest of the repository is tooling and documentation, never run by the plugin.** `.github/workflows` publishes a tagged version to npm and the MCP registry from GitHub, with no stored secrets; the release script that cuts the tag lives outside this repository; `tools/benchmark` rebuilds the benchmark from public repos; `tests` is the snapshot suite; `docs` is the landing page and the hosted example reports; `assets` holds the README screenshots, the logo and the icon. A scanner reading the whole folder sees these too. None of them is reachable from a skill, the server or the hook.
|
|
391
|
+
- **`npx roast-my-design-system@latest` appears in the documentation only.** It is how people run the scanner without the plugin. The plugin itself never calls a package launcher.
|
|
392
|
+
- **Images.** The PNGs are the two README screenshots, the logo marks, and the seven link-preview cards the hosted example pages reference. No code opens them.
|
|
393
|
+
|
|
385
394
|
## Privacy
|
|
386
395
|
|
|
387
396
|
The tool reads the repository you point it at and writes its output next to it. It makes no network requests, collects no data, and has no telemetry. The MCP server answers from the same local scan and never leaves the machine. Nothing about your code, your prompts or your conversation is sent to anyone, including the author.
|
|
@@ -416,4 +425,4 @@ Building your own report, summary or audit from this tool's scores, counts or be
|
|
|
416
425
|
|
|
417
426
|
**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).
|
|
418
427
|
|
|
419
|
-
Built and designed by <a href="https://gregkozakiewicz.com"><picture><source media="(prefers-color-scheme: dark)" srcset="
|
|
428
|
+
Built and designed by <a href="https://gregkozakiewicz.com"><picture><source media="(prefers-color-scheme: dark)" srcset="assets/gk-mark-dark.png?v=3.10.1"><img src="assets/gk-mark.png?v=3.10.1" height="15" alt="GK mark"></picture> Greg Kozakiewicz</a>.
|
package/cli/roast.mjs
CHANGED
|
@@ -82,6 +82,8 @@ Run it yourself
|
|
|
82
82
|
--sarif also write design-system-roast.sarif for GitHub code
|
|
83
83
|
scanning: findings annotated on files in the Security tab
|
|
84
84
|
--by <name> put a name in the report header, for when you ran it for
|
|
85
|
+
--og-url <url> the address a hosted report lives at, for link previews
|
|
86
|
+
--og-image <url> its 1200x630 preview card, for link previews
|
|
85
87
|
someone else ("commissioned by <name>")
|
|
86
88
|
--exclude <p> leave a folder out of the scan (repo-relative, e.g.
|
|
87
89
|
--exclude lab/ --exclude piglet/ or --exclude lab/,piglet/;
|
|
@@ -168,6 +170,11 @@ const askedNoOpen = flag('no-open') === true;
|
|
|
168
170
|
const noOpen = askedNoOpen || asJson;
|
|
169
171
|
const theme = opt('theme', 'dark');
|
|
170
172
|
const commissionedBy = opt('by', null);
|
|
173
|
+
// A hosted report's own address and its 1200x630 preview card, so a shared
|
|
174
|
+
// link shows the card (Open Graph). Passed through to the report; never
|
|
175
|
+
// guessed for a local file.
|
|
176
|
+
const ogUrl = opt('og-url', null);
|
|
177
|
+
const ogImage = opt('og-image', null);
|
|
171
178
|
const notesFile = opt('notes', null);
|
|
172
179
|
const sections = optPairs('section');
|
|
173
180
|
const excludes = optAll('exclude');
|
|
@@ -232,6 +239,8 @@ say('');
|
|
|
232
239
|
run('diagnose/index.mjs', [harvestPath, '--out', outPath, '--theme', theme, '--summary', summaryPath,
|
|
233
240
|
...(commissionedBy ? ['--by', commissionedBy] : []),
|
|
234
241
|
...(notesFile ? ['--notes', resolve(notesFile)] : []),
|
|
242
|
+
...(ogUrl ? ['--og-url', ogUrl] : []),
|
|
243
|
+
...(ogImage ? ['--og-image', ogImage] : []),
|
|
235
244
|
...sections.flatMap(([title, file]) => ['--section', title, resolve(file)])]);
|
|
236
245
|
|
|
237
246
|
// The verdict leads, the evidence follows: harvest details print here, after
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "roast-my-design-system",
|
|
3
|
-
"version": "9.0.
|
|
3
|
+
"version": "9.0.3",
|
|
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 112 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": [
|
|
@@ -1,7 +1,7 @@
|
|
|
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 = '9.0.
|
|
4
|
+
export const VERSION = '9.0.3';
|
|
5
5
|
// The shape of harvest.json and summary.json. Bumped only when a field is
|
|
6
6
|
// renamed, removed or changes meaning; a new field is not a new schema. A
|
|
7
7
|
// tool comparing two scans compares like with like by this number, not by VERSION.
|