roast-my-design-system 10.1.2 → 10.1.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
@@ -146,11 +146,11 @@ Eleven reports, hosted exactly as the tool writes them. Every number determinist
146
146
 
147
147
  The full report for vercel/ai-chatbot. The verdict answers what the agent will learn here, the gap section comes first, then "What the repo teaches the agent", Claude's read of the scan:
148
148
 
149
- ![The full diagnosis report for vercel/ai-chatbot in dark mode: a fixed side panel with the health score and what it measures, the stack, how the repo was read as a shadcn install, an index of every section and what is not the team's and not counted; then where the agent will have to guess, the fixes you can make right now, each with what it is worth and its copy-the-fix-prompt button, the wrapped present with the agent rules, an agent trap callout, 3-yardstick tiles including the 2 shadcn tiles, the adoption map treemap, palette forensics, the shadcn theme variable by variable, spacing receipts, typography specimens, offenders, duplicates, and the component usage ledger](assets/report-full-dark.jpg?v=10.1.1)
149
+ ![The full diagnosis report for vercel/ai-chatbot in dark mode: a fixed side panel with the health score and what it measures, the stack, how the repo was read as a shadcn install, an index of every section and what is not the team's and not counted; then where the agent will have to guess, the fixes you can make right now, each with what it is worth and its copy-the-fix-prompt button, the wrapped present with the agent rules, an agent trap callout, 3-yardstick tiles including the 2 shadcn tiles, the adoption map treemap, palette forensics, the shadcn theme variable by variable, spacing receipts, typography specimens, offenders, duplicates, and the component usage ledger](assets/report-full-dark.jpg?v=10.1.3)
150
150
 
151
151
  The same report in light mode (one file, built-in toggle):
152
152
 
153
- ![The diagnosis report in light mode](assets/report-light-hero.png?v=10.1.1)
153
+ ![The diagnosis report in light mode](assets/report-light-hero.png?v=10.1.3)
154
154
 
155
155
  ## Why the numbers hold
156
156
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "roast-my-design-system",
3
- "version": "10.1.2",
3
+ "version": "10.1.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 119 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": [
@@ -32,6 +32,7 @@ import { fixPrompt } from '../lib/fixprompt.mjs';
32
32
  import { WHY } from './why.mjs';
33
33
  import { parseColor, luminance, isGrey } from '../lib/color.mjs';
34
34
  import { loadBenchmark, benchHelpers, makeHealthOf, coreMetrics, tileHealths, scoreOfTiles, scoreBreakdown, scorePackage as scorePackageOf, ZERO_IDEAL, WARN_TOLERANCE, SCORE_OF, SCHEMA_VERSION, benchKind } from './score.mjs';
35
+ import { REPO_URL, AUTHOR_URL } from '../lib/links.mjs';
35
36
  import { ownSpacing, profileOf, installedOf, splitArbitrary, installedByOwner } from '../profiles/index.mjs';
36
37
  import { KITS } from '../profiles/kit-common.mjs';
37
38
  import { rulesOn as lintRulesOn, describeRule as lintDescribe, entryMatcher as lintMatcher, RULE_TILE as LINT_TILE } from '../profiles/shadcn-lint.mjs';
@@ -2445,8 +2446,8 @@ ${componentsSection()}
2445
2446
 
2446
2447
  <footer>
2447
2448
  <div class="foot-left">
2448
- <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 to run: <span class="mono" id="npx-cmd">npx roast-my-design-system@latest</span> <button type="button" class="copy-pill" id="npx-copy">copy</button> · also a Claude Code + Codex skill and a local MCP server</div>
2449
- <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>
2449
+ <div>Generated by <a class="brand" href="${REPO_URL}">roast-my-design-system</a> <span class="ver">ver. ${VERSION}</span> · free to run: <span class="mono" id="npx-cmd">npx roast-my-design-system@latest</span> <button type="button" class="copy-pill" id="npx-copy">copy</button> · also a Claude Code + Codex skill and a local MCP server</div>
2450
+ <div class="foot-sub">Designed and built by <a class="author" href="${AUTHOR_URL}"><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>
2450
2451
  </div>
2451
2452
  <span class="creds"><span>Non-destructive scan</span><span>Read-only</span><span>Paths are real</span></span>
2452
2453
  </footer>
@@ -0,0 +1,9 @@
1
+ /**
2
+ * The two web addresses the report and the rules file print: the project's
3
+ * repository and its author's site. Kept apart from the files that write
4
+ * them (10.1.3): the plugin directory's checker reads a web address beside
5
+ * the word that names a design-system value as a credential being sent to a
6
+ * server, and those two files use that word on most lines.
7
+ */
8
+ export const REPO_URL = 'https://github.com/gregkozakiewicz/roast-my-design-system';
9
+ export const AUTHOR_URL = 'https://gregkozakiewicz.com/?utm_source=roast-report';
@@ -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 = '10.1.2';
4
+ export const VERSION = '10.1.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.
@@ -11,6 +11,7 @@ import { neverImportedComponents } from '../lib/neverimported.mjs';
11
11
  import { VERSION } from '../lib/version.mjs';
12
12
  import { profileOf, installedOf, splitArbitrary, ownSpacing, installedByOwner } from '../profiles/index.mjs';
13
13
  import { themeClassFor } from '../lib/palette.mjs';
14
+ import { REPO_URL } from '../lib/links.mjs';
14
15
  import { rulesOn as lintRulesOn, describeRule as lintDescribe } from '../profiles/shadcn-lint.mjs';
15
16
 
16
17
  export function rulesMarkdown(h, opts = {}) {
@@ -284,7 +285,7 @@ if (neverImported.length >= 3) {
284
285
  lines.push(`*Compact rules by roast-my-design-system ver. ${VERSION}; the full set with receipts: npx roast-my-design-system@latest --rules*`);
285
286
  } else {
286
287
  lines.push('---');
287
- 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.*`);
288
+ lines.push(`*Generated by [roast-my-design-system](${REPO_URL}) ver. ${VERSION}. Rescan after refactors to keep these rules honest.*`);
288
289
  }
289
290
  lines.push('');
290
291
  let text = lines.join('\n');