@substrate-kit/cli 0.1.2 → 0.2.0

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.
Files changed (146) hide show
  1. package/.claude-plugin/plugin.json +1 -1
  2. package/LICENSE +21 -0
  3. package/README.md +25 -8
  4. package/dist/cli.d.ts.map +1 -1
  5. package/dist/cli.js +10 -41
  6. package/dist/cli.js.map +1 -1
  7. package/dist/commands/add.d.ts +1 -0
  8. package/dist/commands/add.d.ts.map +1 -1
  9. package/dist/commands/add.js +51 -109
  10. package/dist/commands/add.js.map +1 -1
  11. package/dist/commands/docs.d.ts +4 -2
  12. package/dist/commands/docs.d.ts.map +1 -1
  13. package/dist/commands/docs.js +33 -54
  14. package/dist/commands/docs.js.map +1 -1
  15. package/dist/commands/init.d.ts.map +1 -1
  16. package/dist/commands/init.js +158 -122
  17. package/dist/commands/init.js.map +1 -1
  18. package/dist/index.js +0 -0
  19. package/dist/mcp/server.d.ts.map +1 -1
  20. package/dist/mcp/server.js +8 -7
  21. package/dist/mcp/server.js.map +1 -1
  22. package/dist/mcp/tools/get-component.d.ts +1 -1
  23. package/dist/mcp/tools/get-component.d.ts.map +1 -1
  24. package/dist/mcp/tools/get-component.js +10 -6
  25. package/dist/mcp/tools/get-component.js.map +1 -1
  26. package/dist/mcp/tools/get-docs.d.ts +17 -0
  27. package/dist/mcp/tools/get-docs.d.ts.map +1 -0
  28. package/dist/mcp/tools/get-docs.js +23 -0
  29. package/dist/mcp/tools/get-docs.js.map +1 -0
  30. package/dist/mcp/tools/install.d.ts +2 -1
  31. package/dist/mcp/tools/install.d.ts.map +1 -1
  32. package/dist/mcp/tools/install.js +18 -27
  33. package/dist/mcp/tools/install.js.map +1 -1
  34. package/dist/mcp/tools/search.d.ts +1 -1
  35. package/dist/mcp/tools/search.d.ts.map +1 -1
  36. package/dist/mcp/tools/search.js +2 -4
  37. package/dist/mcp/tools/search.js.map +1 -1
  38. package/dist/{mcp/types.d.ts → registry.d.ts} +6 -1
  39. package/dist/registry.d.ts.map +1 -0
  40. package/dist/registry.js +48 -0
  41. package/dist/registry.js.map +1 -0
  42. package/dist/utils/agents-file.d.ts +4 -0
  43. package/dist/utils/agents-file.d.ts.map +1 -0
  44. package/dist/utils/agents-file.js +36 -0
  45. package/dist/utils/agents-file.js.map +1 -0
  46. package/dist/utils/docs.d.ts +7 -0
  47. package/dist/utils/docs.d.ts.map +1 -0
  48. package/dist/utils/docs.js +28 -0
  49. package/dist/utils/docs.js.map +1 -0
  50. package/dist/utils/shadcn.d.ts +6 -1
  51. package/dist/utils/shadcn.d.ts.map +1 -1
  52. package/dist/utils/shadcn.js +25 -12
  53. package/dist/utils/shadcn.js.map +1 -1
  54. package/dist/utils/version.d.ts +3 -0
  55. package/dist/utils/version.d.ts.map +1 -0
  56. package/dist/utils/version.js +8 -0
  57. package/dist/utils/version.js.map +1 -0
  58. package/docs/components/action.mdx +30 -0
  59. package/docs/components/alignment-controls.mdx +30 -0
  60. package/docs/components/badge.mdx +22 -0
  61. package/docs/components/breadcrumbs.mdx +25 -0
  62. package/docs/components/collapsible-pane.mdx +35 -0
  63. package/docs/components/colour-picker.mdx +66 -0
  64. package/docs/components/command-palette.mdx +36 -0
  65. package/docs/components/context-menu.mdx +31 -0
  66. package/docs/components/controls-timeline.mdx +107 -0
  67. package/docs/components/controls.mdx +168 -0
  68. package/docs/components/design-canvas.mdx +51 -0
  69. package/docs/components/document-tabs.mdx +25 -0
  70. package/docs/components/easing-curve-editor.mdx +85 -0
  71. package/docs/components/empty-state.mdx +26 -0
  72. package/docs/components/gallery.mdx +60 -0
  73. package/docs/components/history-controls.mdx +47 -0
  74. package/docs/components/image-picker.mdx +50 -0
  75. package/docs/components/layer-list.mdx +36 -0
  76. package/docs/components/node.mdx +85 -0
  77. package/docs/components/number-input.mdx +44 -0
  78. package/docs/components/number-slider.mdx +32 -0
  79. package/docs/components/pane.mdx +39 -0
  80. package/docs/components/panel.mdx +28 -0
  81. package/docs/components/popover.mdx +32 -0
  82. package/docs/components/progress-bar.mdx +24 -0
  83. package/docs/components/resizer.mdx +24 -0
  84. package/docs/components/select.mdx +31 -0
  85. package/docs/components/shortcut-overlay.mdx +43 -0
  86. package/docs/components/slider.mdx +20 -0
  87. package/docs/components/spring-editor.mdx +85 -0
  88. package/docs/components/status-bar.mdx +42 -0
  89. package/docs/components/surface.mdx +47 -0
  90. package/docs/components/swatch-palette.mdx +36 -0
  91. package/docs/components/text-area.mdx +26 -0
  92. package/docs/components/timeline.mdx +96 -0
  93. package/docs/components/toast.mdx +42 -0
  94. package/docs/components/toggle-group.mdx +40 -0
  95. package/docs/components/toggle.mdx +27 -0
  96. package/docs/components/toolbar.mdx +24 -0
  97. package/docs/components/tree-list.mdx +46 -0
  98. package/docs/components/xy-pad.mdx +49 -0
  99. package/docs/hooks/use-clipboard.mdx +70 -0
  100. package/docs/hooks/use-drag-reorder.mdx +60 -0
  101. package/docs/hooks/use-selection.mdx +68 -0
  102. package/docs/hooks/use-undoable.mdx +83 -0
  103. package/docs/hooks/use-viewport.mdx +75 -0
  104. package/docs/utilities/bounding-box.mdx +76 -0
  105. package/docs/utilities/keyboard-shortcuts.mdx +64 -0
  106. package/docs/utilities/snap.mdx +73 -0
  107. package/package.json +6 -4
  108. package/registry.json +274 -6
  109. package/skills/3d-scene/SKILL.md +2 -1
  110. package/skills/animation/SKILL.md +2 -1
  111. package/skills/canvas-2d/SKILL.md +67 -5
  112. package/skills/composing-panels/SKILL.md +1 -4
  113. package/skills/data-visualisation/SKILL.md +2 -1
  114. package/skills/image-generation/SKILL.md +2 -1
  115. package/skills/install-components/SKILL.md +22 -16
  116. package/skills/scaffold-playground/SKILL.md +39 -19
  117. package/skills/substrate-canvas/SKILL.md +5 -0
  118. package/skills/substrate-controls/SKILL.md +57 -2
  119. package/skills/substrate-interaction/SKILL.md +19 -10
  120. package/skills/substrate-scaffold/SKILL.md +4 -4
  121. package/skills/theming/SKILL.md +8 -2
  122. package/skills/wire-interactions/SKILL.md +6 -3
  123. package/templates/agents-section.md +41 -0
  124. package/dist/commands/browse.d.ts +0 -2
  125. package/dist/commands/browse.d.ts.map +0 -1
  126. package/dist/commands/browse.js +0 -25
  127. package/dist/commands/browse.js.map +0 -1
  128. package/dist/commands/create.d.ts +0 -9
  129. package/dist/commands/create.d.ts.map +0 -1
  130. package/dist/commands/create.js +0 -27
  131. package/dist/commands/create.js.map +0 -1
  132. package/dist/commands/variables.d.ts +0 -4
  133. package/dist/commands/variables.d.ts.map +0 -1
  134. package/dist/commands/variables.js +0 -111
  135. package/dist/commands/variables.js.map +0 -1
  136. package/dist/mcp/registry.d.ts +0 -3
  137. package/dist/mcp/registry.d.ts.map +0 -1
  138. package/dist/mcp/registry.js +0 -43
  139. package/dist/mcp/registry.js.map +0 -1
  140. package/dist/mcp/tools/theme.d.ts +0 -10
  141. package/dist/mcp/tools/theme.d.ts.map +0 -1
  142. package/dist/mcp/tools/theme.js +0 -37
  143. package/dist/mcp/tools/theme.js.map +0 -1
  144. package/dist/mcp/types.d.ts.map +0 -1
  145. package/dist/mcp/types.js +0 -2
  146. package/dist/mcp/types.js.map +0 -1
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "substrate",
3
3
  "description": "Substrate creative tool framework – component skills, surface guides, scaffolding for interactive canvas playgrounds with substrate.georgedrury.co.uk registry",
4
- "version": "0.1.2",
4
+ "version": "0.2.0",
5
5
  "author": {
6
6
  "name": "George Drury",
7
7
  "url": "https://substrate.georgedrury.co.uk"
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 George Drury
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -10,7 +10,15 @@ To add Substrate to an existing project:
10
10
  npx @substrate-kit/cli init
11
11
  ```
12
12
 
13
- This installs the agent skills into `.claude/skills/`, writes `CLAUDE.md`, `components.json` and `.mcp.json`, and adds the CLI to your dev dependencies. After installing, the short command works:
13
+ This detects whether the project uses Vite or Next, then:
14
+
15
+ - installs the agent skills into `.claude/skills/` and `.agents/skills/`
16
+ - adds a marked Substrate section to `CLAUDE.md` and `AGENTS.md`, or creates them. Running `init` again refreshes that section and leaves the rest of your files alone
17
+ - adds the `@substrate` registry to `components.json`, or writes one that matches your framework
18
+ - registers the MCP server in `.mcp.json`, keeping your other servers
19
+ - adds the CLI to your dev dependencies
20
+
21
+ After installing, the short command works:
14
22
 
15
23
  ```bash
16
24
  npx substrate-kit add slider number-input colour-picker
@@ -20,14 +28,23 @@ npx substrate-kit add slider number-input colour-picker
20
28
 
21
29
  | Command | Description |
22
30
  | --- | --- |
23
- | `init` | Install skills and configuration in the current project |
24
- | `create [name]` | Create a new playground project |
25
- | `add [components...]` | Install components; opens a picker with no arguments |
26
- | `docs [component]` | Read component documentation in the terminal |
27
- | `browse [component]` | Open component documentation in the browser |
28
- | `variables [component]` | Show the theme override variables for a component |
31
+ | `init` | Set up Substrate in the current project. `--force` refreshes existing skills |
32
+ | `add [components...]` | Install components in one call; opens a picker with no arguments |
33
+ | `docs [component]` | Read component documentation in the terminal. `--open` opens its docs page in the browser |
29
34
  | `mcp` | Start the Substrate MCP server over stdio |
30
35
 
36
+ ## MCP server
37
+
38
+ `substrate-kit mcp` gives agents these tools: `search_components`, `get_component` (details and theme variables), `get_docs` (a component's full docs page), and `install_components`.
39
+
40
+ ## Upgrading from 0.1
41
+
42
+ 0.2.0 removes `create` (use `npx create-substrate`), `browse` (use `docs <name> --open`) and `variables` (theme variables are in `docs <name>` and the MCP `get_component` tool). The MCP `get_theme_variables` tool is folded into `get_component`.
43
+
44
+ ## Acknowledgements
45
+
46
+ The `controls` and `controls-timeline` components that this CLI installs are built on [DialKit](https://github.com/joshpuckett/dialkit) by Josh Puckett (MIT). DialKit provides the config format, the store and the timeline model; Substrate supplies the interface. Installed projects depend on the `dialkit` package.
47
+
31
48
  ## Licence
32
49
 
33
- MIT
50
+ MIT, see [LICENSE](LICENSE).
package/dist/cli.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AASnC,wBAAgB,SAAS,IAAI,OAAO,CAiFnC"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAOnC,wBAAgB,SAAS,IAAI,OAAO,CAiDnC"}
package/dist/cli.js CHANGED
@@ -1,21 +1,19 @@
1
1
  import { Command } from "commander";
2
2
  import { init } from "./commands/init.js";
3
3
  import { add } from "./commands/add.js";
4
- import { create } from "./commands/create.js";
5
4
  import { docs } from "./commands/docs.js";
6
- import { browse } from "./commands/browse.js";
7
- import { variables } from "./commands/variables.js";
8
5
  import { startServer } from "./mcp/server.js";
6
+ import { VERSION } from "./utils/version.js";
9
7
  export function createCli() {
10
8
  const program = new Command();
11
9
  program
12
10
  .name("substrate-kit")
13
- .description("Scaffold interactive canvas playgrounds with Substrate primitives")
14
- .version("0.1.2");
11
+ .description("Add Substrate components, skills and docs to a project")
12
+ .version(VERSION);
15
13
  program
16
14
  .command("init")
17
- .description("Initialise Substrate skills and configuration in the current project")
18
- .option("--force", "Overwrite existing skills and CLAUDE.md", false)
15
+ .description("Set up Substrate in the current project: skills, agent guidance, components.json and the MCP server")
16
+ .option("--force", "Refresh existing skills and overwrite existing Substrate settings", false)
19
17
  .option("--skip-components-json", "Don't touch components.json", false)
20
18
  .action(async (options) => {
21
19
  await init({
@@ -23,53 +21,24 @@ export function createCli() {
23
21
  skipComponentsJson: options.skipComponentsJson,
24
22
  });
25
23
  });
26
- program
27
- .command("create")
28
- .description("Create a new Substrate playground project (alias for npx create-substrate)")
29
- .argument("[project-name]", "Name for the new project")
30
- .option("--surface <type>", "Surface type (canvas-2d, 3d-scene, animation, node-editor, data-vis, image-gen, blank)")
31
- .option("--skip-install", "Skip dependency installation", false)
32
- .option("--skip-git", "Don't initialise git", false)
33
- .option("--package-manager <pm>", "Force package manager (npm, pnpm, bun)")
34
- .action((projectName, options) => {
35
- create(projectName, {
36
- surface: options.surface,
37
- skipInstall: options.skipInstall,
38
- skipGit: options.skipGit,
39
- packageManager: options.packageManager,
40
- });
41
- });
42
24
  program
43
25
  .command("add")
44
26
  .description("Install Substrate components from substrate.georgedrury.co.uk")
45
27
  .argument("[components...]", "Component names to install (opens picker if omitted)")
46
28
  .option("--category <name>", "Install all components in a category")
47
29
  .option("--list-categories", "Show available categories and their components", false)
30
+ .option("-y, --yes", "Skip shadcn's confirmation prompts", false)
48
31
  .action(async (components, options) => {
49
- await add(components, { category: options.category, listCategories: options.listCategories });
32
+ await add(components, { category: options.category, listCategories: options.listCategories, yes: options.yes });
50
33
  });
51
34
  program
52
35
  .command("docs")
53
- .description("View component documentation in the terminal")
36
+ .description("Show component documentation: props, theme variables and usage")
54
37
  .argument("[component]", "Component name or search query")
55
38
  .option("--list", "List all components", false)
39
+ .option("--open", "Open the docs page in your browser", false)
56
40
  .action(async (component, options) => {
57
- await docs(component, { list: options.list });
58
- });
59
- program
60
- .command("browse")
61
- .description("Open component docs in the browser")
62
- .argument("[component]", "Component name (opens docs home if omitted)")
63
- .action((component) => {
64
- browse(component);
65
- });
66
- program
67
- .command("variables")
68
- .description("Show theme override variables for a component")
69
- .argument("[component]", "Component name (e.g. panel, design-canvas)")
70
- .option("--all", "List all components with theme variables", false)
71
- .action(async (component, options) => {
72
- await variables(component, { all: options.all });
41
+ await docs(component, { list: options.list, open: options.open });
73
42
  });
74
43
  program
75
44
  .command("mcp")
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAA;AACzC,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAA;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAA;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAE5C,MAAM,UAAU,SAAS;IACxB,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAA;IAE7B,OAAO;SACL,IAAI,CAAC,eAAe,CAAC;SACrB,WAAW,CAAC,wDAAwD,CAAC;SACrE,OAAO,CAAC,OAAO,CAAC,CAAA;IAElB,OAAO;SACL,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,qGAAqG,CAAC;SAClH,MAAM,CAAC,SAAS,EAAE,mEAAmE,EAAE,KAAK,CAAC;SAC7F,MAAM,CAAC,wBAAwB,EAAE,6BAA6B,EAAE,KAAK,CAAC;SACtE,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACzB,MAAM,IAAI,CAAC;YACV,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;SAC9C,CAAC,CAAA;IACH,CAAC,CAAC,CAAA;IAEH,OAAO;SACL,OAAO,CAAC,KAAK,CAAC;SACd,WAAW,CAAC,+DAA+D,CAAC;SAC5E,QAAQ,CAAC,iBAAiB,EAAE,sDAAsD,CAAC;SACnF,MAAM,CAAC,mBAAmB,EAAE,sCAAsC,CAAC;SACnE,MAAM,CAAC,mBAAmB,EAAE,gDAAgD,EAAE,KAAK,CAAC;SACpF,MAAM,CAAC,WAAW,EAAE,oCAAoC,EAAE,KAAK,CAAC;SAChE,MAAM,CAAC,KAAK,EAAE,UAAoB,EAAE,OAAO,EAAE,EAAE;QAC/C,MAAM,GAAG,CAAC,UAAU,EAAE,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,cAAc,EAAE,OAAO,CAAC,cAAc,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAA;IAChH,CAAC,CAAC,CAAA;IAEH,OAAO;SACL,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,gEAAgE,CAAC;SAC7E,QAAQ,CAAC,aAAa,EAAE,gCAAgC,CAAC;SACzD,MAAM,CAAC,QAAQ,EAAE,qBAAqB,EAAE,KAAK,CAAC;SAC9C,MAAM,CAAC,QAAQ,EAAE,oCAAoC,EAAE,KAAK,CAAC;SAC7D,MAAM,CAAC,KAAK,EAAE,SAA6B,EAAE,OAAO,EAAE,EAAE;QACxD,MAAM,IAAI,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAA;IAClE,CAAC,CAAC,CAAA;IAEH,OAAO;SACL,OAAO,CAAC,KAAK,CAAC;SACd,WAAW,CAAC,kDAAkD,CAAC;SAC/D,MAAM,CAAC,KAAK,IAAI,EAAE;QAClB,MAAM,WAAW,EAAE,CAAA;IACpB,CAAC,CAAC,CAAA;IAEH,OAAO,OAAO,CAAA;AACf,CAAC"}
@@ -1,6 +1,7 @@
1
1
  export interface AddOptions {
2
2
  category?: string;
3
3
  listCategories?: boolean;
4
+ yes?: boolean;
4
5
  }
5
6
  export declare function add(components: string[], options?: AddOptions): Promise<void>;
6
7
  //# sourceMappingURL=add.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"add.d.ts","sourceRoot":"","sources":["../../src/commands/add.ts"],"names":[],"mappings":"AA+PA,MAAM,WAAW,UAAU;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,cAAc,CAAC,EAAE,OAAO,CAAA;CACxB;AAgBD,wBAAsB,GAAG,CACxB,UAAU,EAAE,MAAM,EAAE,EACpB,OAAO,GAAE,UAAe,GACtB,OAAO,CAAC,IAAI,CAAC,CAwGf"}
1
+ {"version":3,"file":"add.d.ts","sourceRoot":"","sources":["../../src/commands/add.ts"],"names":[],"mappings":"AAmMA,MAAM,WAAW,UAAU;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,GAAG,CAAC,EAAE,OAAO,CAAA;CACb;AAmCD,wBAAsB,GAAG,CACxB,UAAU,EAAE,MAAM,EAAE,EACpB,OAAO,GAAE,UAAe,GACtB,OAAO,CAAC,IAAI,CAAC,CA6Ef"}
@@ -1,48 +1,9 @@
1
1
  import { createInterface } from "node:readline";
2
- import { join, dirname } from "node:path";
3
- import { readFileSync, existsSync } from "node:fs";
4
- import { fileURLToPath } from "node:url";
5
- import { shadcnAdd } from "../utils/shadcn.js";
2
+ import { dirname, join } from "node:path";
6
3
  import { exists } from "../utils/fs.js";
4
+ import { shadcnAdd } from "../utils/shadcn.js";
7
5
  import { log } from "../utils/logger.js";
8
- const __dirname = dirname(fileURLToPath(import.meta.url));
9
- // SUBSTRATE_REGISTRY_URL points installs at a local registry for testing
10
- const REGISTRY_BASE = process.env.SUBSTRATE_REGISTRY_URL ?? "https://substrate.georgedrury.co.uk/r";
11
- const REGISTRY_URL = "https://substrate.georgedrury.co.uk/registry.json";
12
- async function loadRegistry() {
13
- const localPath = join(process.cwd(), "registry.json");
14
- if (existsSync(localPath)) {
15
- try {
16
- return JSON.parse(readFileSync(localPath, "utf-8"));
17
- }
18
- catch {
19
- /* fall through */
20
- }
21
- }
22
- try {
23
- const res = await fetch(REGISTRY_URL);
24
- if (res.ok)
25
- return (await res.json());
26
- }
27
- catch {
28
- /* fall through */
29
- }
30
- const bundledPaths = [
31
- join(__dirname, "..", "..", "registry.json"),
32
- join(__dirname, "..", "..", "..", "registry.json"),
33
- ];
34
- for (const p of bundledPaths) {
35
- if (existsSync(p)) {
36
- try {
37
- return JSON.parse(readFileSync(p, "utf-8"));
38
- }
39
- catch {
40
- /* fall through */
41
- }
42
- }
43
- }
44
- return null;
45
- }
6
+ import { REGISTRY_BASE, loadRegistry, overrideKeys, } from "../registry.js";
46
7
  function getCategories(registry) {
47
8
  const cats = new Map();
48
9
  for (const item of registry.items) {
@@ -189,20 +150,8 @@ async function interactivePicker(registry) {
189
150
  });
190
151
  });
191
152
  }
192
- function extractOverrideKeys(item) {
193
- const theme = item.cssVars?.theme;
194
- if (!theme)
195
- return [];
196
- const keys = [];
197
- for (const value of Object.values(theme)) {
198
- const match = value.match(/^var\(--([^,)]+)/);
199
- if (match)
200
- keys.push(`--${match[1]}`);
201
- }
202
- return keys;
203
- }
204
153
  function printThemeHint(item) {
205
- const keys = extractOverrideKeys(item);
154
+ const keys = overrideKeys(item);
206
155
  if (keys.length === 0)
207
156
  return;
208
157
  console.log();
@@ -224,58 +173,52 @@ function printCategories(registry) {
224
173
  console.log();
225
174
  }
226
175
  }
176
+ function findProjectRoot(from) {
177
+ let dir = from;
178
+ for (;;) {
179
+ if (exists(join(dir, "components.json")))
180
+ return dir;
181
+ const parent = dirname(dir);
182
+ if (parent === dir)
183
+ return null;
184
+ dir = parent;
185
+ }
186
+ }
187
+ async function requireRegistry() {
188
+ try {
189
+ return await loadRegistry();
190
+ }
191
+ catch {
192
+ log.error("Could not load the Substrate registry. Check your network connection.");
193
+ process.exit(1);
194
+ }
195
+ }
227
196
  export async function add(components, options = {}) {
228
197
  if (options.listCategories) {
229
- const registry = await loadRegistry();
230
- if (!registry) {
231
- log.error("Could not load the Substrate registry.");
232
- process.exit(1);
233
- }
234
- printCategories(registry);
198
+ printCategories(await requireRegistry());
235
199
  return;
236
200
  }
237
- let cwd = process.cwd();
238
- let found = false;
239
- while (cwd !== "/") {
240
- if (exists(join(cwd, "components.json"))) {
241
- found = true;
242
- break;
243
- }
244
- cwd = join(cwd, "..");
245
- }
246
- if (!found) {
247
- log.error("No components.json found. Run 'npx @substrate-kit/cli init' first or ensure you're in a project directory.");
201
+ const cwd = findProjectRoot(process.cwd());
202
+ if (!cwd) {
203
+ log.error("No components.json found. Run 'npx @substrate-kit/cli init' first, or run this from inside your project.");
248
204
  process.exit(1);
249
205
  }
206
+ const registry = await requireRegistry();
250
207
  if (options.category && components.length === 0) {
251
- const registry = await loadRegistry();
252
- if (!registry) {
253
- log.error("Could not load the Substrate registry.");
254
- process.exit(1);
255
- }
256
- const cats = getCategories(registry);
257
- const catItems = cats.get(options.category.toLowerCase());
208
+ const catItems = getCategories(registry).get(options.category.toLowerCase());
258
209
  if (!catItems) {
259
210
  log.error(`Category "${options.category}" not found.`);
260
- console.log();
261
211
  printCategories(registry);
262
212
  process.exit(1);
263
213
  }
264
214
  components = catItems.map((i) => i.name);
265
215
  console.log();
266
216
  console.log(` ${options.category} (${components.length} components)`);
267
- for (const name of components) {
217
+ for (const name of components)
268
218
  console.log(` ${name}`);
269
- }
270
219
  console.log();
271
220
  }
272
221
  if (components.length === 0) {
273
- const registry = await loadRegistry();
274
- if (!registry) {
275
- log.error("Could not load the Substrate registry.");
276
- log.info("Usage: substrate-kit add design-canvas toolbar panel");
277
- process.exit(1);
278
- }
279
222
  if (!process.stdin.isTTY) {
280
223
  log.error("Interactive mode requires a terminal. Specify components: substrate-kit add design-canvas toolbar");
281
224
  process.exit(1);
@@ -286,29 +229,28 @@ export async function add(components, options = {}) {
286
229
  return;
287
230
  }
288
231
  }
289
- const registry = await loadRegistry();
232
+ const known = new Set(registry.items.map((i) => i.name));
233
+ const unknown = components.filter((name) => !known.has(name));
234
+ if (unknown.length > 0) {
235
+ log.error(`Not in the registry: ${unknown.join(", ")}`);
236
+ log.info("Run 'substrate-kit docs --list' to see every component.");
237
+ process.exit(1);
238
+ }
290
239
  log.title("Adding Substrate components");
291
- let installed = 0;
292
- for (const component of components) {
293
- const url = `${REGISTRY_BASE}/${component}`;
294
- log.step(`Installing ${component}`);
295
- try {
296
- shadcnAdd(url, { cwd });
297
- log.success(`Installed ${component}`);
298
- installed++;
299
- if (registry) {
300
- const item = registry.items.find((i) => i.name === component);
301
- if (item)
302
- printThemeHint(item);
303
- }
304
- }
305
- catch {
306
- log.error(`Failed to install ${component}`);
307
- }
240
+ log.step(`Installing ${components.join(", ")}`);
241
+ try {
242
+ shadcnAdd(components.map((name) => `${REGISTRY_BASE}/${name}`), { cwd, yes: options.yes }, (attempt) => log.warn(`Install failed (attempt ${attempt}), retrying...`));
243
+ }
244
+ catch {
245
+ log.error("Install failed. Check your connection and try again.");
246
+ process.exit(1);
247
+ }
248
+ for (const name of components) {
249
+ const item = registry.items.find((i) => i.name === name);
250
+ if (item)
251
+ printThemeHint(item);
308
252
  }
309
253
  log.blank();
310
- log.info(`Added ${installed} component${installed === 1 ? "" : "s"} from substrate.georgedrury.co.uk`);
311
- if (installed < components.length)
312
- process.exitCode = 1;
254
+ log.success(`Added ${components.length} component${components.length === 1 ? "" : "s"} from substrate.georgedrury.co.uk`);
313
255
  }
314
256
  //# sourceMappingURL=add.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"add.js","sourceRoot":"","sources":["../../src/commands/add.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"add.js","sourceRoot":"","sources":["../../src/commands/add.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,6 @@
1
- export declare function docs(nameOrQuery?: string, options?: {
1
+ export interface DocsOptions {
2
2
  list?: boolean;
3
- }): Promise<void>;
3
+ open?: boolean;
4
+ }
5
+ export declare function docs(nameOrQuery?: string, options?: DocsOptions): Promise<void>;
4
6
  //# sourceMappingURL=docs.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"docs.d.ts","sourceRoot":"","sources":["../../src/commands/docs.ts"],"names":[],"mappings":"AA+JA,wBAAsB,IAAI,CACzB,WAAW,CAAC,EAAE,MAAM,EACpB,OAAO,GAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAA;CAAO,GAC9B,OAAO,CAAC,IAAI,CAAC,CAuCf"}
1
+ {"version":3,"file":"docs.d.ts","sourceRoot":"","sources":["../../src/commands/docs.ts"],"names":[],"mappings":"AAyGA,MAAM,WAAW,WAAW;IAC3B,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,IAAI,CAAC,EAAE,OAAO,CAAA;CACd;AAED,wBAAsB,IAAI,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CA+CzF"}
@@ -1,44 +1,7 @@
1
- import { readFileSync, existsSync } from "node:fs";
2
- import { join, dirname } from "node:path";
3
- import { fileURLToPath } from "node:url";
1
+ import { spawnSync } from "node:child_process";
4
2
  import { log } from "../utils/logger.js";
5
- const __dirname = dirname(fileURLToPath(import.meta.url));
6
- const REGISTRY_URL = "https://substrate.georgedrury.co.uk/registry.json";
7
- const DOCS_BASE = "https://substrate.georgedrury.co.uk/docs/components";
8
- async function loadRegistry() {
9
- const localPath = join(process.cwd(), "registry.json");
10
- if (existsSync(localPath)) {
11
- try {
12
- return JSON.parse(readFileSync(localPath, "utf-8"));
13
- }
14
- catch {
15
- /* fall through */
16
- }
17
- }
18
- try {
19
- const res = await fetch(REGISTRY_URL);
20
- if (res.ok)
21
- return (await res.json());
22
- }
23
- catch {
24
- /* fall through */
25
- }
26
- const bundledPaths = [
27
- join(__dirname, "..", "..", "registry.json"),
28
- join(__dirname, "..", "..", "..", "registry.json"),
29
- ];
30
- for (const p of bundledPaths) {
31
- if (existsSync(p)) {
32
- try {
33
- return JSON.parse(readFileSync(p, "utf-8"));
34
- }
35
- catch {
36
- /* fall through */
37
- }
38
- }
39
- }
40
- throw new Error("Could not load Substrate registry");
41
- }
3
+ import { docsUrl } from "../utils/docs.js";
4
+ import { loadRegistry, matchesQuery } from "../registry.js";
42
5
  function formatComponent(item) {
43
6
  const title = item.title || item.name;
44
7
  const categories = (item.categories || []).join(", ");
@@ -82,16 +45,11 @@ function formatComponent(item) {
82
45
  console.log(` npx substrate-kit add ${item.name}`);
83
46
  console.log();
84
47
  console.log(" Docs:");
85
- console.log(` ${DOCS_BASE}/${item.name}`);
48
+ console.log(` ${docsUrl(item.name)}`);
86
49
  console.log();
87
50
  }
88
51
  function formatList(items, query) {
89
- const filtered = query
90
- ? items.filter((i) => i.name.includes(query) ||
91
- (i.title || "").toLowerCase().includes(query) ||
92
- (i.description || "").toLowerCase().includes(query) ||
93
- (i.categories || []).some((c) => c.toLowerCase().includes(query)))
94
- : items;
52
+ const filtered = query ? items.filter((i) => matchesQuery(i, query)) : items;
95
53
  if (filtered.length === 0) {
96
54
  log.warn(query ? `No components matching "${query}"` : "No components found");
97
55
  return;
@@ -117,6 +75,17 @@ function formatList(items, query) {
117
75
  console.log();
118
76
  }
119
77
  }
78
+ function openInBrowser(url) {
79
+ log.info(`Opening ${url}`);
80
+ const [command, args] = process.platform === "darwin"
81
+ ? ["open", [url]]
82
+ : process.platform === "win32"
83
+ ? ["cmd", ["/c", "start", "", url]]
84
+ : ["xdg-open", [url]];
85
+ const result = spawnSync(command, args, { stdio: "ignore" });
86
+ if (result.error || result.status !== 0)
87
+ log.error(`Could not open a browser. Visit: ${url}`);
88
+ }
120
89
  export async function docs(nameOrQuery, options = {}) {
121
90
  let registry;
122
91
  try {
@@ -127,17 +96,22 @@ export async function docs(nameOrQuery, options = {}) {
127
96
  process.exit(1);
128
97
  }
129
98
  if (options.list || !nameOrQuery) {
99
+ if (options.open && !nameOrQuery) {
100
+ openInBrowser("https://substrate.georgedrury.co.uk/docs");
101
+ return;
102
+ }
130
103
  formatList(registry.items, nameOrQuery?.toLowerCase());
131
104
  return;
132
105
  }
133
- const item = registry.items.find((i) => i.name === nameOrQuery);
106
+ const query = nameOrQuery.toLowerCase();
107
+ const item = registry.items.find((i) => i.name === query) ??
108
+ (() => {
109
+ const matches = registry.items.filter((i) => matchesQuery(i, query));
110
+ return matches.length === 1 ? matches[0] : undefined;
111
+ })();
134
112
  if (!item) {
135
- const matches = registry.items.filter((i) => i.name.includes(nameOrQuery.toLowerCase()) ||
136
- (i.title || "").toLowerCase().includes(nameOrQuery.toLowerCase()));
137
- if (matches.length === 1) {
138
- formatComponent(matches[0]);
139
- }
140
- else if (matches.length > 1) {
113
+ const matches = registry.items.filter((i) => matchesQuery(i, query));
114
+ if (matches.length > 1) {
141
115
  log.warn(`No exact match for "${nameOrQuery}". Did you mean:`);
142
116
  console.log();
143
117
  for (const m of matches.slice(0, 10)) {
@@ -147,9 +121,14 @@ export async function docs(nameOrQuery, options = {}) {
147
121
  }
148
122
  else {
149
123
  log.error(`Component "${nameOrQuery}" not found in registry`);
124
+ process.exitCode = 1;
150
125
  }
151
126
  return;
152
127
  }
128
+ if (options.open) {
129
+ openInBrowser(docsUrl(item.name));
130
+ return;
131
+ }
153
132
  formatComponent(item);
154
133
  }
155
134
  //# sourceMappingURL=docs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"docs.js","sourceRoot":"","sources":["../../src/commands/docs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"docs.js","sourceRoot":"","sources":["../../src/commands/docs.ts"],"names":[],"mappings":"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"}