@rainbow-robotics/muscat-plugin-kit 1.0.0 → 1.0.1

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.
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  // muscat-pk — Muscat plugin developer CLI.
3
- // Subcommands: new, build, dev, dev:ui, dev:back, update, uninstall, sdk.
4
- import { log } from "../src/util.mjs";
3
+ // Subcommands: new, build, dev, dev:ui, dev:back, storybook, mcp, update, uninstall, sdk.
4
+ import { color, log } from "../src/util.mjs";
5
5
  import { runNew } from "../src/new.mjs";
6
6
  import { runBuild } from "../src/build.mjs";
7
7
  import { runDevUi } from "../src/devUi.mjs";
@@ -19,24 +19,31 @@ import { runStorybook } from "../src/storybook.mjs";
19
19
 
20
20
  const [, , cmd, ...args] = process.argv;
21
21
 
22
- const HELP = `muscat-pk — Muscat plugin kit
22
+ const commandRow = (command, description) => ` ${color.cyan(command.padEnd(30))}${description}`;
23
+ const option = (text) => color.yellow(text);
23
24
 
24
- Usage: muscat-pk <command> [options]
25
-
26
- Commands:
27
- new [dir] Scaffold a new plugin project (prompts: author, email, description, type, front-package-manager)
28
- type change Switch backend type (python | cpp | ros2-python | ros2-cpp)
29
- build Build + lock deps + vendor wheels + zip (--no-zip: skip zip, --no-lock: skip python lock/vendor, --arch amd64|arm64|both)
30
- dev Run Socket.IO bridge, dev:ui, and dev:back together
31
- dev:ui Preview the plugin in a mini-Muscat (preview-host)
32
- dev:back Run the plugin back end (python: watchfiles reload / ros2: Docker)
33
- storybook Browse the bundled rb-components Storybook (--port <n>, --rebuild)
34
- mcp Start an MCP server (stdio) exposing rb-components/rb SDK docs to AI agents
35
- update Update @rainbow-robotics/muscat-plugin-kit and @rainbow-robotics/plugin-ui
36
- uninstall Remove the installed muscat-pk CLI (npm global or S3 binary)
37
- sdk <list|update [version]> Manage the python rainbow-rb-sdk version
38
-
39
- Run "muscat-pk <command> --help" for details.`;
25
+ function formatHelp() {
26
+ return [
27
+ `${color.bold("muscat-pk")} ${color.dim("— Muscat plugin kit")}`,
28
+ "",
29
+ `${color.bold("Usage:")} ${color.cyan("muscat-pk")} ${color.yellow("<command>")} ${color.dim("[options]")}`,
30
+ "",
31
+ color.bold("Commands:"),
32
+ commandRow("new [dir]", `Scaffold a new plugin project ${color.dim("(prompts: author, email, description, type, front-package-manager)")}`),
33
+ commandRow("type change", `Switch backend type ${color.dim("(python | cpp | ros2-python | ros2-cpp)")}`),
34
+ commandRow("build", `Build + lock deps + vendor wheels + zip ${color.dim(`(${option("--no-zip")}: skip zip, ${option("--no-lock")}: skip python lock/vendor, ${option("--arch")} amd64|arm64|both)`)}`),
35
+ commandRow("dev", "Run Socket.IO bridge, dev:ui, and dev:back together"),
36
+ commandRow("dev:ui", `Preview the plugin in a mini-Muscat ${color.dim("(preview-host)")}`),
37
+ commandRow("dev:back", `Run the plugin back end ${color.dim("(python: watchfiles reload / ros2: Docker)")}`),
38
+ commandRow("storybook", `Browse the bundled rb-components Storybook ${color.dim(`(${option("--port")} <n>, ${option("--rebuild")})`)}`),
39
+ commandRow("mcp", `Start an MCP server ${color.dim("(stdio)")} exposing rb-components/rb SDK docs to AI agents`),
40
+ commandRow("update", `Update ${color.magenta("@rainbow-robotics/muscat-plugin-kit")} and ${color.magenta("@rainbow-robotics/plugin-ui")}`),
41
+ commandRow("uninstall", `Remove the installed ${color.cyan("muscat-pk")} CLI ${color.dim("(npm global or S3 binary)")}`),
42
+ commandRow("sdk <list|update [version]>", "Manage the python rainbow-rb-sdk version"),
43
+ "",
44
+ `Run ${color.cyan("muscat-pk <command> --help")} for details.`,
45
+ ].join("\n");
46
+ }
40
47
 
41
48
  async function main() {
42
49
  try {
@@ -69,11 +76,11 @@ async function main() {
69
76
  case "-h":
70
77
  case "--help":
71
78
  case "help":
72
- console.log(HELP);
79
+ console.log(formatHelp());
73
80
  return;
74
81
  default:
75
82
  console.error(`Unknown command: ${cmd}\n`);
76
- console.log(HELP);
83
+ console.log(formatHelp());
77
84
  process.exitCode = 1;
78
85
  }
79
86
  } catch (err) {
@@ -1 +1 @@
1
- {"generatedAt":1783933974681,"userSince":1750932757926,"hasCustomBabel":false,"hasCustomWebpack":false,"hasStaticDirs":false,"hasStorybookEslint":true,"refCount":0,"testPackages":{"@vitest/browser":"3.2.4","@vitest/coverage-v8":"3.2.4","playwright":"1.59.1","vitest":"3.2.4"},"hasRouterPackage":false,"monorepo":"Turborepo","packageManager":{"type":"yarn","version":"berry","agent":"yarn@berry"},"preview":{"usesGlobals":false},"framework":{"name":"@storybook/react-vite","options":{}},"builder":"@storybook/builder-vite","renderer":"@storybook/react","portableStoriesFileCount":0,"applicationFileCount":0,"storybookVersion":"8.6.18","storybookVersionSpecifier":"^8.6.4","language":"typescript","storybookPackages":{"@chromatic-com/storybook":{"version":"3.2.7"},"@storybook/addon-essentials":{"version":"8.6.18"},"@storybook/addon-links":{"version":"8.6.18"},"@storybook/addon-onboarding":{"version":"8.6.18"},"@storybook/addon-themes":{"version":"8.6.18"},"@storybook/blocks":{"version":"8.6.18"},"@storybook/experimental-addon-test":{"version":"8.6.18"},"@storybook/react":{"version":"8.6.18"},"@storybook/react-vite":{"version":"8.6.18"},"@storybook/test":{"version":"8.6.18"},"@storybook/theming":{"version":"8.6.18"},"eslint-plugin-storybook":{"version":"0.11.6"},"storybook":{"version":"8.6.18"},"storybook-addon-react-docgen":{"version":"1.2.44"}},"addons":{"$SNIP/node_modules/@storybook/addon-links":{"version":null},"$SNIP/node_modules/@storybook/addon-essentials":{"version":null},"$SNIP/node_modules/@chromatic-com/storybook":{"version":null},"$SNIP/node_modules/@storybook/addon-themes":{"version":null},"$SNIP/node_modules/@storybook/experimental-addon-test":{"version":null}}}
1
+ {"generatedAt":1783940269345,"userSince":1750932757926,"hasCustomBabel":false,"hasCustomWebpack":false,"hasStaticDirs":false,"hasStorybookEslint":true,"refCount":0,"testPackages":{"@vitest/browser":"3.2.4","@vitest/coverage-v8":"3.2.4","playwright":"1.59.1","vitest":"3.2.4"},"hasRouterPackage":false,"monorepo":"Turborepo","packageManager":{"type":"yarn","version":"berry","agent":"yarn@berry"},"preview":{"usesGlobals":false},"framework":{"name":"@storybook/react-vite","options":{}},"builder":"@storybook/builder-vite","renderer":"@storybook/react","portableStoriesFileCount":0,"applicationFileCount":0,"storybookVersion":"8.6.18","storybookVersionSpecifier":"^8.6.4","language":"typescript","storybookPackages":{"@chromatic-com/storybook":{"version":"3.2.7"},"@storybook/addon-essentials":{"version":"8.6.18"},"@storybook/addon-links":{"version":"8.6.18"},"@storybook/addon-onboarding":{"version":"8.6.18"},"@storybook/addon-themes":{"version":"8.6.18"},"@storybook/blocks":{"version":"8.6.18"},"@storybook/experimental-addon-test":{"version":"8.6.18"},"@storybook/react":{"version":"8.6.18"},"@storybook/react-vite":{"version":"8.6.18"},"@storybook/test":{"version":"8.6.18"},"@storybook/theming":{"version":"8.6.18"},"eslint-plugin-storybook":{"version":"0.11.6"},"storybook":{"version":"8.6.18"},"storybook-addon-react-docgen":{"version":"1.2.44"}},"addons":{"$SNIP/node_modules/@storybook/addon-links":{"version":null},"$SNIP/node_modules/@storybook/addon-essentials":{"version":null},"$SNIP/node_modules/@chromatic-com/storybook":{"version":null},"$SNIP/node_modules/@storybook/addon-themes":{"version":null},"$SNIP/node_modules/@storybook/experimental-addon-test":{"version":null}}}
@@ -1,4 +1,4 @@
1
- rainbow-rb-sdk==0.0.9.dev44
2
- rainbow-rb-flat-buffers==0.0.9.dev44
3
- rainbow-rb-zenoh==0.0.9.dev44
1
+ rainbow-rb-sdk==0.0.9.dev45
2
+ rainbow-rb-flat-buffers==0.0.9.dev45
3
+ rainbow-rb-zenoh==0.0.9.dev45
4
4
  requests==2.34.2
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rainbow-robotics/muscat-plugin-kit",
3
- "version": "1.0.0",
3
+ "version": "1.0.1",
4
4
  "type": "module",
5
5
  "engines": {
6
6
  "node": ">=20"
@@ -53,8 +53,8 @@
53
53
  },
54
54
  "dependencies": {
55
55
  "@modelcontextprotocol/sdk": "^1.29.0",
56
- "@rainbow-robotics/plugin-ui": "1.0.0",
57
- "@rainbow-robotics/preview-host": "1.0.0",
56
+ "@rainbow-robotics/plugin-ui": "1.0.1",
57
+ "@rainbow-robotics/preview-host": "1.0.1",
58
58
  "postcss": "^8.5.8",
59
59
  "socket.io": "^4.8.1",
60
60
  "typescript": "^5.8.0",