dsh-claude-design-system 2.9.1 → 2.9.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/lib/client.js CHANGED
@@ -1,4 +1,4 @@
1
- // dsh-claude-design-system 2.9.1: built from baoyu-design.
1
+ // dsh-claude-design-system 2.9.2: built from baoyu-design.
2
2
  window.__ModuleLoader__.load({
3
3
  id: "dsh-claude-design-system",
4
4
  factory: (require) => {
package/lib/index.js CHANGED
@@ -1,11 +1,11 @@
1
- // dsh-claude-design-system 2.9.1: built from baoyu-design.
1
+ // dsh-claude-design-system 2.9.2: built from baoyu-design.
2
2
  var define_PLUGIN_default = { name: "claude-design-system", provider: "dsh-claude-design-system", skills: [{ name: "claude-design-system", description: "Create and revise design systems in the Design System artifact format (project/design-system.json, tokens.json, a README brand book, component previews, fonts and asset groups) as local files, then open them in a local design-system page where the user can browse and edit tokens, type, components and assets. Use when the user asks for a design system or brand kit in this format, built from a code repository, a design tool or scratch, names claude-design-system or the Design System type, or wants to revise a folder that holds project/design-system.json. claude-slides and claude-design install these systems. Not for a free-form HTML style guide, UI kit or token page.", comments: true }] };
3
3
 
4
4
  import { spawn as spawn2 } from "node:child_process";
5
5
  import { randomUUID } from "node:crypto";
6
6
  import { statSync as statSync2 } from "node:fs";
7
7
  import { readFile } from "node:fs/promises";
8
- import { basename as basename2, delimiter, dirname as dirname2, isAbsolute, join as join2, sep } from "node:path";
8
+ import { basename as basename2, delimiter, dirname as dirname2, isAbsolute, join as join2, posix, sep, win32 } from "node:path";
9
9
  import { fileURLToPath } from "node:url";
10
10
 
11
11
  import { spawn } from "node:child_process";
@@ -509,9 +509,18 @@ function resolveNode(config = {}) {
509
509
  function shellQuote(path) {
510
510
  return `"${path.replace(/(["\\$`])/g, "\\$1")}"`;
511
511
  }
512
- function runtimeSection(skill, skillDir, node) {
513
- const script = join2(skillDir, "scripts", "artifact.mjs");
514
- const run = (...args) => [node.env, shellQuote(node.path), shellQuote(script), ...args].filter(Boolean).join(" ");
512
+ function powerShellQuote(path) {
513
+ return `'${path.replace(/['\u2018-\u201b]/g, "$&$&")}'`;
514
+ }
515
+ function scriptCommand(node, script, args, platform) {
516
+ if (platform !== "win32") return [node.env, shellQuote(node.path), shellQuote(script), ...args].filter(Boolean).join(" ");
517
+ const [name2, value] = node.env?.split("=") ?? [];
518
+ const env = name2 ? `$env:${name2} = ${powerShellQuote(value ?? "")};` : "";
519
+ return [env, "&", powerShellQuote(node.path), powerShellQuote(script), ...args].filter(Boolean).join(" ");
520
+ }
521
+ function runtimeSection(skill, skillDir, node, platform = process.platform) {
522
+ const windows = platform === "win32";
523
+ const script = (windows ? win32 : posix).join(skillDir, "scripts", "artifact.mjs");
515
524
  const written = skill.scriptAlias === void 0 ? "`node <this skill's folder>/scripts/artifact.mjs <command>`" : `\`node $${skill.scriptAlias} <command>\` (\`${skill.scriptAlias}\` being \`<this skill's folder>/scripts/artifact.mjs\`)`;
516
525
  const lines = [
517
526
  "",
@@ -519,12 +528,17 @@ function runtimeSection(skill, skillDir, node) {
519
528
  "## Running the calls in DeepSeek Harness",
520
529
  "",
521
530
  "Wherever these pages, or the script's own output (its `stop`, `next` and other hints), say",
522
- `${written}, run this in the shell instead, with the quotes (the paths can contain spaces):`,
531
+ `${written}, run this in the shell instead, with the ${windows ? "`&` and the " : ""}quotes (the paths can contain spaces):`,
523
532
  "",
524
- "```sh",
525
- run("<command> …"),
533
+ windows ? "```powershell" : "```sh",
534
+ scriptCommand(node, script, ["<command> …"], platform),
526
535
  "```",
527
536
  "",
537
+ ...windows ? [
538
+ "The shell here is PowerShell. PowerShell has no heredoc (`<<'EOF'`): where a page offers one, write the text to",
539
+ "a file and pass its path.",
540
+ ""
541
+ ] : [],
528
542
  "`open` prints the editor's `url` (on 127.0.0.1): give it to the user as a Markdown link. In the DeepSeek Harness",
529
543
  "app a chat link opens in the right sidebar's Browser, next to this conversation."
530
544
  ];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dsh-claude-design-system",
3
- "version": "2.9.1",
3
+ "version": "2.9.2",
4
4
  "description": "DeepSeek Harness plugin: the claude-design-system skill from baoyu-design. The agent writes design systems (tokens, type, components, assets) as files and opens them in a local design-system page.",
5
5
  "keywords": [
6
6
  "dsh",