forgebook 0.1.3 → 0.1.5

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 (379) hide show
  1. package/README.md +99 -6
  2. package/dist/bin/forgebook/agentClient.d.ts +17 -0
  3. package/dist/bin/forgebook/agentClient.d.ts.map +1 -1
  4. package/dist/bin/forgebook/agentClient.js +21 -0
  5. package/dist/bin/forgebook/agentClient.js.map +1 -1
  6. package/dist/bin/forgebook/agentLoopCommands.d.mts +9 -0
  7. package/dist/bin/forgebook/agentLoopCommands.d.mts.map +1 -0
  8. package/dist/bin/forgebook/agentLoopCommands.mjs +217 -0
  9. package/dist/bin/forgebook/agentLoopCommands.mjs.map +1 -0
  10. package/dist/bin/forgebook/agentText.d.ts +37 -1
  11. package/dist/bin/forgebook/agentText.d.ts.map +1 -1
  12. package/dist/bin/forgebook/agentText.js +49 -2
  13. package/dist/bin/forgebook/agentText.js.map +1 -1
  14. package/dist/bin/forgebook/agents.md +51 -0
  15. package/dist/bin/forgebook/agentsText.d.ts +29 -0
  16. package/dist/bin/forgebook/agentsText.d.ts.map +1 -0
  17. package/dist/bin/forgebook/agentsText.js +48 -0
  18. package/dist/bin/forgebook/agentsText.js.map +1 -0
  19. package/dist/bin/forgebook/catalogueCommands.d.ts +51 -0
  20. package/dist/bin/forgebook/catalogueCommands.d.ts.map +1 -0
  21. package/dist/bin/forgebook/catalogueCommands.js +90 -0
  22. package/dist/bin/forgebook/catalogueCommands.js.map +1 -0
  23. package/dist/bin/forgebook/errorsRun.d.ts +27 -0
  24. package/dist/bin/forgebook/errorsRun.d.ts.map +1 -0
  25. package/dist/bin/forgebook/errorsRun.js +60 -0
  26. package/dist/bin/forgebook/errorsRun.js.map +1 -0
  27. package/dist/bin/forgebook/forgebook.mjs +121 -86
  28. package/dist/bin/forgebook/forgebook.mjs.map +1 -1
  29. package/dist/bin/forgebook/importers/storybook.d.ts +53 -0
  30. package/dist/bin/forgebook/importers/storybook.d.ts.map +1 -0
  31. package/dist/bin/forgebook/importers/storybook.js +318 -0
  32. package/dist/bin/forgebook/importers/storybook.js.map +1 -0
  33. package/dist/bin/forgebook/initCommands.d.mts +9 -0
  34. package/dist/bin/forgebook/initCommands.d.mts.map +1 -0
  35. package/dist/bin/forgebook/initCommands.mjs +86 -0
  36. package/dist/bin/forgebook/initCommands.mjs.map +1 -0
  37. package/dist/bin/forgebook/initConfig.d.ts +22 -0
  38. package/dist/bin/forgebook/initConfig.d.ts.map +1 -0
  39. package/dist/bin/forgebook/initConfig.js +51 -0
  40. package/dist/bin/forgebook/initConfig.js.map +1 -0
  41. package/dist/bin/forgebook/mcpTools.d.ts +29 -3
  42. package/dist/bin/forgebook/mcpTools.d.ts.map +1 -1
  43. package/dist/bin/forgebook/mcpTools.js +130 -7
  44. package/dist/bin/forgebook/mcpTools.js.map +1 -1
  45. package/dist/bin/forgebook/newStories.d.ts +27 -0
  46. package/dist/bin/forgebook/newStories.d.ts.map +1 -0
  47. package/dist/bin/forgebook/newStories.js +109 -0
  48. package/dist/bin/forgebook/newStories.js.map +1 -0
  49. package/dist/bin/forgebook/newStoriesFile.d.ts +18 -0
  50. package/dist/bin/forgebook/newStoriesFile.d.ts.map +1 -0
  51. package/dist/bin/forgebook/newStoriesFile.js +58 -0
  52. package/dist/bin/forgebook/newStoriesFile.js.map +1 -0
  53. package/dist/bin/forgebook/storyCheckRun.d.ts +49 -0
  54. package/dist/bin/forgebook/storyCheckRun.d.ts.map +1 -0
  55. package/dist/bin/forgebook/storyCheckRun.js +178 -0
  56. package/dist/bin/forgebook/storyCheckRun.js.map +1 -0
  57. package/dist/bin/forgebook/touchWindowRun.d.ts +17 -0
  58. package/dist/bin/forgebook/touchWindowRun.d.ts.map +1 -0
  59. package/dist/bin/forgebook/touchWindowRun.js +21 -0
  60. package/dist/bin/forgebook/touchWindowRun.js.map +1 -0
  61. package/dist/bin/forgebook-docs/catalogueDocs.d.ts +24 -0
  62. package/dist/bin/forgebook-docs/catalogueDocs.d.ts.map +1 -0
  63. package/dist/bin/forgebook-docs/catalogueDocs.js +71 -0
  64. package/dist/bin/forgebook-docs/catalogueDocs.js.map +1 -0
  65. package/dist/bin/forgebook-docs/catalogueDocs.types.d.ts +8 -0
  66. package/dist/bin/forgebook-docs/catalogueDocs.types.d.ts.map +1 -1
  67. package/dist/bin/forgebook-docs/catalogueMarkdown.d.ts +3 -1
  68. package/dist/bin/forgebook-docs/catalogueMarkdown.d.ts.map +1 -1
  69. package/dist/bin/forgebook-docs/catalogueMarkdown.js +62 -42
  70. package/dist/bin/forgebook-docs/catalogueMarkdown.js.map +1 -1
  71. package/dist/bin/forgebook-docs/catalogueOptions.d.ts +39 -0
  72. package/dist/bin/forgebook-docs/catalogueOptions.d.ts.map +1 -0
  73. package/dist/bin/forgebook-docs/catalogueOptions.js +76 -0
  74. package/dist/bin/forgebook-docs/catalogueOptions.js.map +1 -0
  75. package/dist/bin/forgebook-docs/collectDocs.d.ts +3 -1
  76. package/dist/bin/forgebook-docs/collectDocs.d.ts.map +1 -1
  77. package/dist/bin/forgebook-docs/collectDocs.js +37 -13
  78. package/dist/bin/forgebook-docs/collectDocs.js.map +1 -1
  79. package/dist/bin/forgebook-docs/forgebook-docs.mjs +17 -80
  80. package/dist/bin/forgebook-docs/forgebook-docs.mjs.map +1 -1
  81. package/dist/bin/forgebook-docs/llmsText.d.ts +24 -0
  82. package/dist/bin/forgebook-docs/llmsText.d.ts.map +1 -0
  83. package/dist/bin/forgebook-docs/llmsText.js +33 -0
  84. package/dist/bin/forgebook-docs/llmsText.js.map +1 -0
  85. package/dist/bin/forgebook-docs/sourceId.d.ts +9 -0
  86. package/dist/bin/forgebook-docs/sourceId.d.ts.map +1 -0
  87. package/dist/bin/forgebook-docs/sourceId.js +45 -0
  88. package/dist/bin/forgebook-docs/sourceId.js.map +1 -0
  89. package/dist/bin/frameworkDocs.d.ts +10 -0
  90. package/dist/bin/frameworkDocs.d.ts.map +1 -0
  91. package/dist/bin/frameworkDocs.js +43 -0
  92. package/dist/bin/frameworkDocs.js.map +1 -0
  93. package/dist/src/argTypes.d.ts +23 -0
  94. package/dist/src/argTypes.d.ts.map +1 -1
  95. package/dist/src/argTypes.js +27 -0
  96. package/dist/src/argTypes.js.map +1 -1
  97. package/dist/src/catalogue.d.ts +70 -3
  98. package/dist/src/catalogue.d.ts.map +1 -1
  99. package/dist/src/catalogue.js +85 -3
  100. package/dist/src/catalogue.js.map +1 -1
  101. package/dist/src/controlKeys.d.ts +85 -0
  102. package/dist/src/controlKeys.d.ts.map +1 -0
  103. package/dist/src/controlKeys.js +118 -0
  104. package/dist/src/controlKeys.js.map +1 -0
  105. package/dist/src/frame/frame.css +33 -2
  106. package/dist/src/frame/frameView.d.ts +2 -2
  107. package/dist/src/frame/frameView.d.ts.map +1 -1
  108. package/dist/src/frame/frameView.js +7 -3
  109. package/dist/src/frame/frameView.js.map +1 -1
  110. package/dist/src/frame/mountFrame.d.ts.map +1 -1
  111. package/dist/src/frame/mountFrame.js +30 -2
  112. package/dist/src/frame/mountFrame.js.map +1 -1
  113. package/dist/src/frame/spillOutline.d.ts +10 -0
  114. package/dist/src/frame/spillOutline.d.ts.map +1 -0
  115. package/dist/src/frame/spillOutline.js +80 -0
  116. package/dist/src/frame/spillOutline.js.map +1 -0
  117. package/dist/src/frame/touchDots.d.ts +32 -0
  118. package/dist/src/frame/touchDots.d.ts.map +1 -0
  119. package/dist/src/frame/touchDots.js +52 -0
  120. package/dist/src/frame/touchDots.js.map +1 -0
  121. package/dist/src/frame/touchEvents.d.ts +66 -0
  122. package/dist/src/frame/touchEvents.d.ts.map +1 -0
  123. package/dist/src/frame/touchEvents.js +152 -0
  124. package/dist/src/frame/touchEvents.js.map +1 -0
  125. package/dist/src/frame/touchGesture.d.ts +80 -0
  126. package/dist/src/frame/touchGesture.d.ts.map +1 -0
  127. package/dist/src/frame/touchGesture.js +87 -0
  128. package/dist/src/frame/touchGesture.js.map +1 -0
  129. package/dist/src/frame/touchLayer.d.ts +7 -0
  130. package/dist/src/frame/touchLayer.d.ts.map +1 -0
  131. package/dist/src/frame/touchLayer.js +399 -0
  132. package/dist/src/frame/touchLayer.js.map +1 -0
  133. package/dist/src/frame/touchScroll.d.ts +51 -0
  134. package/dist/src/frame/touchScroll.d.ts.map +1 -0
  135. package/dist/src/frame/touchScroll.js +137 -0
  136. package/dist/src/frame/touchScroll.js.map +1 -0
  137. package/dist/src/liveErrors.d.ts +57 -0
  138. package/dist/src/liveErrors.d.ts.map +1 -0
  139. package/dist/src/liveErrors.js +52 -0
  140. package/dist/src/liveErrors.js.map +1 -0
  141. package/dist/src/messages.d.ts +12 -0
  142. package/dist/src/messages.d.ts.map +1 -1
  143. package/dist/src/messages.js +4 -0
  144. package/dist/src/messages.js.map +1 -1
  145. package/dist/src/namedViews.d.ts +80 -0
  146. package/dist/src/namedViews.d.ts.map +1 -0
  147. package/dist/src/namedViews.js +88 -0
  148. package/dist/src/namedViews.js.map +1 -0
  149. package/dist/src/realTouch.d.ts +21 -0
  150. package/dist/src/realTouch.d.ts.map +1 -0
  151. package/dist/src/realTouch.js +16 -0
  152. package/dist/src/realTouch.js.map +1 -0
  153. package/dist/src/shell/AppearanceMenu.d.ts +15 -0
  154. package/dist/src/shell/AppearanceMenu.d.ts.map +1 -0
  155. package/dist/src/shell/AppearanceMenu.js +28 -0
  156. package/dist/src/shell/AppearanceMenu.js.map +1 -0
  157. package/dist/src/shell/BoxWidth.d.ts +40 -0
  158. package/dist/src/shell/BoxWidth.d.ts.map +1 -0
  159. package/dist/src/shell/BoxWidth.js +56 -0
  160. package/dist/src/shell/BoxWidth.js.map +1 -0
  161. package/dist/src/shell/ComponentPage.d.ts +17 -1
  162. package/dist/src/shell/ComponentPage.d.ts.map +1 -1
  163. package/dist/src/shell/ComponentPage.js +19 -54
  164. package/dist/src/shell/ComponentPage.js.map +1 -1
  165. package/dist/src/shell/ControlKeyField.d.ts +21 -0
  166. package/dist/src/shell/ControlKeyField.d.ts.map +1 -0
  167. package/dist/src/shell/ControlKeyField.js +46 -0
  168. package/dist/src/shell/ControlKeyField.js.map +1 -0
  169. package/dist/src/shell/ControlRow.d.ts +31 -0
  170. package/dist/src/shell/ControlRow.d.ts.map +1 -0
  171. package/dist/src/shell/ControlRow.js +30 -0
  172. package/dist/src/shell/ControlRow.js.map +1 -0
  173. package/dist/src/shell/Example.d.ts +58 -0
  174. package/dist/src/shell/Example.d.ts.map +1 -0
  175. package/dist/src/shell/Example.js +89 -0
  176. package/dist/src/shell/Example.js.map +1 -0
  177. package/dist/src/shell/InfoTip.d.ts +23 -0
  178. package/dist/src/shell/InfoTip.d.ts.map +1 -0
  179. package/dist/src/shell/InfoTip.js +51 -0
  180. package/dist/src/shell/InfoTip.js.map +1 -0
  181. package/dist/src/shell/NamedViews.d.ts +23 -0
  182. package/dist/src/shell/NamedViews.d.ts.map +1 -0
  183. package/dist/src/shell/NamedViews.js +49 -0
  184. package/dist/src/shell/NamedViews.js.map +1 -0
  185. package/dist/src/shell/PinnedControl.d.ts +25 -0
  186. package/dist/src/shell/PinnedControl.d.ts.map +1 -0
  187. package/dist/src/shell/PinnedControl.js +82 -0
  188. package/dist/src/shell/PinnedControl.js.map +1 -0
  189. package/dist/src/shell/PropsTab.d.ts +5 -2
  190. package/dist/src/shell/PropsTab.d.ts.map +1 -1
  191. package/dist/src/shell/PropsTab.js +12 -15
  192. package/dist/src/shell/PropsTab.js.map +1 -1
  193. package/dist/src/shell/Shell.d.ts.map +1 -1
  194. package/dist/src/shell/Shell.js +27 -2
  195. package/dist/src/shell/Shell.js.map +1 -1
  196. package/dist/src/shell/Sidebar.d.ts +11 -9
  197. package/dist/src/shell/Sidebar.d.ts.map +1 -1
  198. package/dist/src/shell/Sidebar.js +48 -42
  199. package/dist/src/shell/Sidebar.js.map +1 -1
  200. package/dist/src/shell/SidebarEntries.d.ts +50 -0
  201. package/dist/src/shell/SidebarEntries.d.ts.map +1 -0
  202. package/dist/src/shell/SidebarEntries.js +51 -0
  203. package/dist/src/shell/SidebarEntries.js.map +1 -0
  204. package/dist/src/shell/Stage.d.ts.map +1 -1
  205. package/dist/src/shell/Stage.js +19 -2
  206. package/dist/src/shell/Stage.js.map +1 -1
  207. package/dist/src/shell/Toolbar.d.ts +7 -3
  208. package/dist/src/shell/Toolbar.d.ts.map +1 -1
  209. package/dist/src/shell/Toolbar.js +38 -68
  210. package/dist/src/shell/Toolbar.js.map +1 -1
  211. package/dist/src/shell/ToolbarControl.d.ts +47 -0
  212. package/dist/src/shell/ToolbarControl.d.ts.map +1 -0
  213. package/dist/src/shell/ToolbarControl.js +150 -0
  214. package/dist/src/shell/ToolbarControl.js.map +1 -0
  215. package/dist/src/shell/UsedIn.d.ts +38 -0
  216. package/dist/src/shell/UsedIn.d.ts.map +1 -0
  217. package/dist/src/shell/UsedIn.js +77 -0
  218. package/dist/src/shell/UsedIn.js.map +1 -0
  219. package/dist/src/shell/ViewMenu.d.ts +37 -0
  220. package/dist/src/shell/ViewMenu.d.ts.map +1 -0
  221. package/dist/src/shell/ViewMenu.js +219 -0
  222. package/dist/src/shell/ViewMenu.js.map +1 -0
  223. package/dist/src/shell/controlCycle.d.ts +28 -0
  224. package/dist/src/shell/controlCycle.d.ts.map +1 -0
  225. package/dist/src/shell/controlCycle.js +51 -0
  226. package/dist/src/shell/controlCycle.js.map +1 -0
  227. package/dist/src/shell/dockTabs.d.ts +3 -0
  228. package/dist/src/shell/dockTabs.d.ts.map +1 -1
  229. package/dist/src/shell/dockTabs.js +1 -1
  230. package/dist/src/shell/dockTabs.js.map +1 -1
  231. package/dist/src/shell/icons.d.ts +7 -0
  232. package/dist/src/shell/icons.d.ts.map +1 -1
  233. package/dist/src/shell/icons.js +8 -1
  234. package/dist/src/shell/icons.js.map +1 -1
  235. package/dist/src/shell/keyboard.d.ts +2 -1
  236. package/dist/src/shell/keyboard.d.ts.map +1 -1
  237. package/dist/src/shell/keyboard.js +5 -2
  238. package/dist/src/shell/keyboard.js.map +1 -1
  239. package/dist/src/shell/shell.css +876 -244
  240. package/dist/src/shell/strings.d.ts +46 -0
  241. package/dist/src/shell/strings.d.ts.map +1 -1
  242. package/dist/src/shell/strings.js +46 -0
  243. package/dist/src/shell/strings.js.map +1 -1
  244. package/dist/src/shell/useAppearance.d.ts +17 -0
  245. package/dist/src/shell/useAppearance.d.ts.map +1 -0
  246. package/dist/src/shell/useAppearance.js +36 -0
  247. package/dist/src/shell/useAppearance.js.map +1 -0
  248. package/dist/src/shell/useControlKeys.d.ts +23 -0
  249. package/dist/src/shell/useControlKeys.d.ts.map +1 -0
  250. package/dist/src/shell/useControlKeys.js +44 -0
  251. package/dist/src/shell/useControlKeys.js.map +1 -0
  252. package/dist/src/shell/useFold.d.ts +27 -0
  253. package/dist/src/shell/useFold.d.ts.map +1 -0
  254. package/dist/src/shell/useFold.js +87 -0
  255. package/dist/src/shell/useFold.js.map +1 -0
  256. package/dist/src/shell/useFrameMessages.d.ts +2 -0
  257. package/dist/src/shell/useFrameMessages.d.ts.map +1 -1
  258. package/dist/src/shell/useFrameMessages.js +3 -0
  259. package/dist/src/shell/useFrameMessages.js.map +1 -1
  260. package/dist/src/shell/useFullPage.d.ts +45 -0
  261. package/dist/src/shell/useFullPage.d.ts.map +1 -0
  262. package/dist/src/shell/useFullPage.js +149 -0
  263. package/dist/src/shell/useFullPage.js.map +1 -0
  264. package/dist/src/shell/usePopover.d.ts +17 -3
  265. package/dist/src/shell/usePopover.d.ts.map +1 -1
  266. package/dist/src/shell/usePopover.js +65 -4
  267. package/dist/src/shell/usePopover.js.map +1 -1
  268. package/dist/src/shell/useStored.d.ts +13 -2
  269. package/dist/src/shell/useStored.d.ts.map +1 -1
  270. package/dist/src/shell/useStored.js +1 -1
  271. package/dist/src/shell/useStored.js.map +1 -1
  272. package/dist/src/shell/useToolbarLayout.d.ts +39 -0
  273. package/dist/src/shell/useToolbarLayout.d.ts.map +1 -0
  274. package/dist/src/shell/useToolbarLayout.js +58 -0
  275. package/dist/src/shell/useToolbarLayout.js.map +1 -0
  276. package/dist/src/shell/useToolbarOverflow.d.ts +31 -0
  277. package/dist/src/shell/useToolbarOverflow.d.ts.map +1 -0
  278. package/dist/src/shell/useToolbarOverflow.js +62 -0
  279. package/dist/src/shell/useToolbarOverflow.js.map +1 -0
  280. package/dist/src/shell/useWorstCase.d.ts +46 -0
  281. package/dist/src/shell/useWorstCase.d.ts.map +1 -0
  282. package/dist/src/shell/useWorstCase.js +42 -0
  283. package/dist/src/shell/useWorstCase.js.map +1 -0
  284. package/dist/src/shell/worstArgs.d.ts +42 -0
  285. package/dist/src/shell/worstArgs.d.ts.map +1 -0
  286. package/dist/src/shell/worstArgs.js +47 -0
  287. package/dist/src/shell/worstArgs.js.map +1 -0
  288. package/dist/src/spills.d.ts +31 -0
  289. package/dist/src/spills.d.ts.map +1 -0
  290. package/dist/src/spills.js +65 -0
  291. package/dist/src/spills.js.map +1 -0
  292. package/dist/src/storyCheck.d.ts +105 -0
  293. package/dist/src/storyCheck.d.ts.map +1 -0
  294. package/dist/src/storyCheck.js +63 -0
  295. package/dist/src/storyCheck.js.map +1 -0
  296. package/dist/src/switches.d.ts +26 -4
  297. package/dist/src/switches.d.ts.map +1 -1
  298. package/dist/src/switches.js +50 -5
  299. package/dist/src/switches.js.map +1 -1
  300. package/dist/src/toolbarLayout.d.ts +119 -0
  301. package/dist/src/toolbarLayout.d.ts.map +1 -0
  302. package/dist/src/toolbarLayout.js +155 -0
  303. package/dist/src/toolbarLayout.js.map +1 -0
  304. package/dist/src/usedIn.d.ts +60 -0
  305. package/dist/src/usedIn.d.ts.map +1 -0
  306. package/dist/src/usedIn.js +92 -0
  307. package/dist/src/usedIn.js.map +1 -0
  308. package/dist/src/viewState.d.ts +9 -11
  309. package/dist/src/viewState.d.ts.map +1 -1
  310. package/dist/src/viewState.js +24 -20
  311. package/dist/src/viewState.js.map +1 -1
  312. package/dist/src/viewWords.d.ts +26 -0
  313. package/dist/src/viewWords.d.ts.map +1 -0
  314. package/dist/src/viewWords.js +29 -0
  315. package/dist/src/viewWords.js.map +1 -0
  316. package/dist/src/vite/adapter.d.ts +13 -4
  317. package/dist/src/vite/adapter.d.ts.map +1 -1
  318. package/dist/src/vite/adapter.js +4 -2
  319. package/dist/src/vite/adapter.js.map +1 -1
  320. package/dist/src/vite/agent.types.d.ts +32 -2
  321. package/dist/src/vite/agent.types.d.ts.map +1 -1
  322. package/dist/src/vite/agentApi.d.ts +15 -3
  323. package/dist/src/vite/agentApi.d.ts.map +1 -1
  324. package/dist/src/vite/agentApi.js +63 -9
  325. package/dist/src/vite/agentApi.js.map +1 -1
  326. package/dist/src/vite/agentRoutes.d.ts +8 -3
  327. package/dist/src/vite/agentRoutes.d.ts.map +1 -1
  328. package/dist/src/vite/agentRoutes.js +84 -23
  329. package/dist/src/vite/agentRoutes.js.map +1 -1
  330. package/dist/src/vite/configFile.d.ts +2 -1
  331. package/dist/src/vite/configFile.d.ts.map +1 -1
  332. package/dist/src/vite/configFile.js +29 -11
  333. package/dist/src/vite/configFile.js.map +1 -1
  334. package/dist/src/vite/docsExtractor.d.ts +26 -2
  335. package/dist/src/vite/docsExtractor.d.ts.map +1 -1
  336. package/dist/src/vite/docsExtractor.js +12 -9
  337. package/dist/src/vite/docsExtractor.js.map +1 -1
  338. package/dist/src/vite/docsWorker.js +18 -2
  339. package/dist/src/vite/docsWorker.js.map +1 -1
  340. package/dist/src/vite/forcedStates.d.ts +6 -2
  341. package/dist/src/vite/forcedStates.d.ts.map +1 -1
  342. package/dist/src/vite/forcedStates.js +20 -4
  343. package/dist/src/vite/forcedStates.js.map +1 -1
  344. package/dist/src/vite/forgebookPlugin.d.ts.map +1 -1
  345. package/dist/src/vite/forgebookPlugin.js +104 -16
  346. package/dist/src/vite/forgebookPlugin.js.map +1 -1
  347. package/dist/src/vite/indexStoryFile.d.ts +14 -0
  348. package/dist/src/vite/indexStoryFile.d.ts.map +1 -1
  349. package/dist/src/vite/indexStoryFile.js +13 -4
  350. package/dist/src/vite/indexStoryFile.js.map +1 -1
  351. package/dist/src/vite/mcpProtocol.d.ts +9 -0
  352. package/dist/src/vite/mcpProtocol.d.ts.map +1 -1
  353. package/dist/src/vite/mcpProtocol.js +6 -3
  354. package/dist/src/vite/mcpProtocol.js.map +1 -1
  355. package/dist/src/vite/storyFilesModule.d.ts +44 -1
  356. package/dist/src/vite/storyFilesModule.d.ts.map +1 -1
  357. package/dist/src/vite/storyFilesModule.js +49 -14
  358. package/dist/src/vite/storyFilesModule.js.map +1 -1
  359. package/dist/src/vite/touchMedia.d.ts +35 -0
  360. package/dist/src/vite/touchMedia.d.ts.map +1 -0
  361. package/dist/src/vite/touchMedia.js +187 -0
  362. package/dist/src/vite/touchMedia.js.map +1 -0
  363. package/dist/src/vite/usageGraph.d.ts +45 -0
  364. package/dist/src/vite/usageGraph.d.ts.map +1 -0
  365. package/dist/src/vite/usageGraph.js +246 -0
  366. package/dist/src/vite/usageGraph.js.map +1 -0
  367. package/dist/src/vite/usageModule.d.ts +33 -0
  368. package/dist/src/vite/usageModule.d.ts.map +1 -0
  369. package/dist/src/vite/usageModule.js +135 -0
  370. package/dist/src/vite/usageModule.js.map +1 -0
  371. package/dist/src/worstCase.d.ts +16 -0
  372. package/dist/src/worstCase.d.ts.map +1 -0
  373. package/dist/src/worstCase.js +16 -0
  374. package/dist/src/worstCase.js.map +1 -0
  375. package/package.json +18 -2
  376. package/dist/src/shell/SchemeSwitches.d.ts +0 -24
  377. package/dist/src/shell/SchemeSwitches.d.ts.map +0 -1
  378. package/dist/src/shell/SchemeSwitches.js +0 -36
  379. package/dist/src/shell/SchemeSwitches.js.map +0 -1
@@ -1,106 +1,37 @@
1
1
  #!/usr/bin/env node
2
2
  /**
3
3
  * The `forgebook` command: runs a catalogue from its `forgebook.config.ts` (`dev`, the dev server) or builds it into
4
- * static files (`build`), with no page or Vite configuration of the app's own; and answers tools and agents
5
- * (`stories`, `story`) with what the catalogue shows.
4
+ * static files (`build`), with no page or Vite configuration of the app's own; answers tools and agents with what the
5
+ * catalogue shows (`stories`, `story`, `mcp`); and writes what a project keeps (`docs`, `new`, `agents`).
6
6
  *
7
7
  * @module
8
8
  */
9
- import { resolve } from "node:path";
9
+ import { existsSync, writeFileSync } from "node:fs";
10
+ import { relative, resolve } from "node:path";
10
11
  import { createInterface } from "node:readline";
11
12
  import { defineCommands } from "@ensiria/cli-kit/commands";
12
- import { EXIT } from "@ensiria/cli-kit/constants";
13
- import { formatJson, readPackageVersion } from "@ensiria/cli-kit/files";
13
+ import { readPackageVersion } from "@ensiria/cli-kit/files";
14
14
  import { ScriptError } from "@ensiria/cli-kit/script";
15
15
  import { build, createServer } from "vite";
16
16
  import { filteredStories, isStoriesDocument, isStoryDocument } from "../../src/vite/agentApi.js";
17
- import { CONFIG_FILES, findConfigFile, loadConfigFile } from "../../src/vite/configFile.js";
18
17
  import { answerMcpMessage, NEW_SESSION } from "../../src/vite/mcpProtocol.js";
18
+ import { catalogueDocs } from "../forgebook-docs/catalogueDocs.js";
19
19
  import { catalogueClient } from "./agentClient.js";
20
+ import { agentLoopCommands } from "./agentLoopCommands.mjs";
20
21
  import { storiesText, storyText } from "./agentText.js";
22
+ import { askCatalogue, COMMAND, configOf, FORGEBOOK_OPTIONS, printAnswer } from "./catalogueCommands.js";
21
23
  import { catalogueVite } from "./catalogueVite.js";
24
+ import { initCommands } from "./initCommands.mjs";
22
25
  import { catalogueTools } from "./mcpTools.js";
23
- /** The command, as the hints print it. */
24
- const COMMAND = "forgebook";
25
- /**
26
- * The catalogue's configuration: the file given, or the one in the folder the command runs in.
27
- *
28
- * @param file - the configuration file given; none to look in the current folder.
29
- * @throws a `ScriptError` when there is none, or it cannot be used.
30
- */
31
- const configOf = async (file) => {
32
- const found = file === undefined ? findConfigFile(process.cwd()) : resolve(file);
33
- if (found === undefined)
34
- throw new ScriptError(`No ${CONFIG_FILES[0]} here`, {
35
- hint: `Run ${COMMAND} in the catalogue's folder, or give --config`
36
- });
37
- try {
38
- return await loadConfigFile(found);
39
- }
40
- catch (error) {
41
- throw new ScriptError(error instanceof Error ? error.message : String(error));
42
- }
43
- };
44
- /**
45
- * Asks the catalogue one of its answers, from its running dev server or one started for the answer.
46
- *
47
- * @param config - the catalogue's configuration.
48
- * @param url - where `forgebook dev` runs, when not at Vite's default address.
49
- * @param route - the answer (`stories`, `story`).
50
- * @param params - its query.
51
- * @param log - where to say where the answer comes from.
52
- * @throws a `ScriptError` when the catalogue answers with an error.
53
- */
54
- const askCatalogue = async (config, url, route, params, log) => {
55
- const client = await catalogueClient(config, url);
56
- log.debug(client.runningAt === undefined
57
- ? "No catalogue running: answered by a server of its own"
58
- : `Asked ${client.runningAt}`);
59
- let answer;
60
- try {
61
- answer = await client.ask(route, params);
62
- }
63
- finally {
64
- await client.close();
65
- }
66
- if (answer.status !== 200) {
67
- const { body } = answer;
68
- const message = typeof body === "object" && body !== null && "error" in body && typeof body.error === "string"
69
- ? body.error
70
- : `The catalogue answered ${answer.status}`;
71
- throw new ScriptError(message);
72
- }
73
- return answer.body;
74
- };
75
- /**
76
- * Prints an answer, its JSON with `--json`, its problems as warnings, and ends with a failure when it has problems,
77
- * so a CI step fails on a broken story file.
78
- *
79
- * @param text - the answer as text for a terminal.
80
- * @param document - the answer as data.
81
- * @param problems - what is wrong in it.
82
- * @param context - the run's io, logger and `--json` mode.
83
- * @throws a reported `ScriptError` when there are problems.
84
- */
85
- const printAnswer = (text, document, problems, context) => {
86
- context.io.stdout.write(context.isJson ? formatJson(document) : `${text}\n`);
87
- for (const problem of problems)
88
- context.log.warn(problem);
89
- if (problems.length > 0)
90
- throw new ScriptError(`${problems.length} problems`, { exitCode: EXIT.failure, isReported: true });
91
- };
26
+ import { newStoriesFile } from "./newStoriesFile.js";
27
+ import { runStoryCheck, runStoryShot } from "./storyCheckRun.js";
28
+ import { openTouchWindow } from "./touchWindowRun.js";
92
29
  await defineCommands({
93
30
  name: "forgebook",
94
31
  command: COMMAND,
95
32
  summary: "Run a catalogue of stories from its forgebook.config.ts, build it, or answer tools and agents about it.",
96
33
  icon: "docs",
97
- options: {
98
- config: {
99
- type: "string",
100
- valueName: "file",
101
- description: "The configuration file; forgebook.config.ts in the current folder by default."
102
- }
103
- },
34
+ options: FORGEBOOK_OPTIONS,
104
35
  commands: (forgebook) => ({
105
36
  dev: forgebook.command({
106
37
  summary: "Run the catalogue's dev server.",
@@ -118,13 +49,20 @@ await defineCommands({
118
49
  force: {
119
50
  type: "boolean",
120
51
  description: "Pre-bundle the dependencies again, ignoring Vite's cache (as a first start does)."
52
+ },
53
+ touch: {
54
+ type: "boolean",
55
+ description: "Also open the catalogue in a Chromium window with Chromium's own touch emulation: the mouse makes real " +
56
+ "touch events, native scrolling included (needs @forgebook/testing and Playwright). Still a computer: no " +
57
+ "virtual keyboard, no iOS Safari; a device remains the last word."
121
58
  }
122
59
  },
123
60
  examples: [
124
61
  { command: `${COMMAND} dev`, description: "Run the catalogue of the folder you are in." },
125
- { command: `${COMMAND} dev --port 6006`, description: "On a given port." }
62
+ { command: `${COMMAND} dev --port 6006`, description: "On a given port." },
63
+ { command: `${COMMAND} dev --touch`, description: "And try the stories with Chromium's real touch." }
126
64
  ],
127
- run: async ({ options, onInterrupt }) => {
65
+ run: async ({ options, onInterrupt, log }) => {
128
66
  const config = await configOf(options.config);
129
67
  const port = options.port === undefined ? undefined : Number(options.port);
130
68
  if (port !== undefined && !Number.isInteger(port))
@@ -138,6 +76,8 @@ await defineCommands({
138
76
  }));
139
77
  await server.listen();
140
78
  server.printUrls();
79
+ if (options.touch === true)
80
+ await openTouchWindow(config.dir, server.resolvedUrls?.local[0], log);
141
81
  await new Promise((done) => {
142
82
  onInterrupt(() => {
143
83
  void server.close().then(done);
@@ -172,6 +112,10 @@ await defineCommands({
172
112
  valueName: "query",
173
113
  description: "The view the links open in, as the catalogue's address writes it (theme=dark&lang=it)."
174
114
  },
115
+ "used-in": {
116
+ type: "boolean",
117
+ description: "Add each component's \"Used in\": the components whose stories use it (reads the package's import graph)."
118
+ },
175
119
  url: {
176
120
  type: "string",
177
121
  env: "FORGEBOOK_URL",
@@ -181,11 +125,18 @@ await defineCommands({
181
125
  },
182
126
  examples: [
183
127
  { command: `${COMMAND} stories`, description: "Every story." },
128
+ {
129
+ command: `${COMMAND} stories --component select --used-in --json`,
130
+ description: "The selects, with the components whose stories use them."
131
+ },
184
132
  { command: `${COMMAND} stories --component button --json`, description: "The buttons, as JSON." }
185
133
  ],
186
134
  run: async ({ options, io, log, isJson, style }) => {
187
135
  const config = await configOf(options.config);
188
- const params = new URLSearchParams({ view: options.view ?? "" });
136
+ const params = new URLSearchParams({
137
+ view: options.view ?? "",
138
+ usedIn: String(options["used-in"] === true)
139
+ });
189
140
  const body = await askCatalogue(config, options.url, "stories", params, log);
190
141
  if (!isStoriesDocument(body))
191
142
  throw new ScriptError("The catalogue's answer has an unexpected shape");
@@ -193,6 +144,85 @@ await defineCommands({
193
144
  printAnswer(storiesText(document, style), document, document.problems, { io, log, isJson });
194
145
  }
195
146
  }),
147
+ docs: forgebook.command({
148
+ summary: "Write a package's CATALOG.md and llms.txt, for agents writing code with it; --check fails when stale.",
149
+ json: true,
150
+ options: {
151
+ package: {
152
+ type: "string",
153
+ default: ".",
154
+ valueName: "folder",
155
+ description: "The package's folder; the current folder by default."
156
+ },
157
+ framework: {
158
+ type: "string",
159
+ default: "react",
160
+ valueName: "name",
161
+ description: "The framework the stories are written for: its package, @forgebook/<name>, reads the props."
162
+ },
163
+ check: {
164
+ type: "boolean",
165
+ short: "c",
166
+ description: "Change nothing; fail when a file is stale or a file cannot be read (CI)."
167
+ }
168
+ },
169
+ examples: [
170
+ {
171
+ command: `${COMMAND} docs`,
172
+ description: "Rewrite the CATALOG.md and llms.txt of the package you are in."
173
+ },
174
+ { command: `${COMMAND} docs --check`, description: "Check them in CI." }
175
+ ],
176
+ run: ({ options, log }) => catalogueDocs({
177
+ packageDir: resolve(options.package),
178
+ framework: options.framework,
179
+ isCheck: options.check,
180
+ fixCommand: `${COMMAND} docs`
181
+ }, log)
182
+ }),
183
+ new: forgebook.command({
184
+ summary: "Write a component's first stories from its props: the main story, one per choice, the worst case.",
185
+ options: {
186
+ export: {
187
+ type: "string",
188
+ valueName: "name",
189
+ description: "The component to read; the file's only one by default."
190
+ },
191
+ framework: {
192
+ type: "string",
193
+ default: "react",
194
+ valueName: "name",
195
+ description: "The framework the stories are written for: its package, @forgebook/<name>, reads the props."
196
+ },
197
+ print: { type: "boolean", description: "Print the file instead of writing it." },
198
+ force: { type: "boolean", description: "Replace a stories file that exists." }
199
+ },
200
+ positionals: [{ name: "file", description: "The component's file.", required: true }],
201
+ examples: [
202
+ { command: `${COMMAND} new src/Badge.tsx`, description: "Write src/Badge.stories.tsx." },
203
+ {
204
+ command: `${COMMAND} new src/menu.tsx --export Menu --print`,
205
+ description: "One of several, printed."
206
+ }
207
+ ],
208
+ run: async ({ args, options, io, log }) => {
209
+ const written = await newStoriesFile(resolve(args.file), options.export, options.framework);
210
+ if (options.print) {
211
+ io.stdout.write(written.text);
212
+ return;
213
+ }
214
+ const shown = relative(process.cwd(), written.file);
215
+ if (existsSync(written.file) && options.force !== true)
216
+ throw new ScriptError(`${shown} exists`, {
217
+ hint: "Give --force to replace it, or --print to see it"
218
+ });
219
+ writeFileSync(written.file, written.text);
220
+ log.success(`${shown} written`);
221
+ log.info(`${COMMAND} stories --component ${written.text.match(/title: "([^"]*)"/)?.[1] ?? ""} lists them`);
222
+ }
223
+ }),
224
+ ...agentLoopCommands(forgebook),
225
+ ...initCommands(forgebook),
196
226
  mcp: forgebook.command({
197
227
  summary: "Serve the catalogue's stories to an agent over the Model Context Protocol, on stdin and stdout.",
198
228
  header: false,
@@ -218,7 +248,12 @@ await defineCommands({
218
248
  const server = {
219
249
  info: { name: "forgebook", version: readPackageVersion(import.meta.dirname) },
220
250
  instructions: `The stories of the Forgebook catalogue "${config.title}". list_stories finds a story's id, get_story gives its args and its component's props, story_address gives the links a person opens to see it.`,
221
- tools: catalogueTools(client.ask)
251
+ tools: catalogueTools({
252
+ ask: client.ask,
253
+ writeNew: (file, exportName) => newStoriesFile(resolve(config.dir, file), exportName, config.framework.name),
254
+ check: (input) => runStoryCheck(config, options.url, input),
255
+ shot: (input, outDir) => runStoryShot(config, options.url, input, outDir)
256
+ })
222
257
  };
223
258
  let session = NEW_SESSION;
224
259
  // stdout carries only the protocol's messages, one per line, answered in the order they came
@@ -1 +1 @@
1
- {"version":3,"file":"forgebook.mjs","sourceRoot":"","sources":["../../../bin/forgebook/forgebook.mts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"forgebook.mjs","sourceRoot":"","sources":["../../../bin/forgebook/forgebook.mts"],"names":[],"mappings":"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"}
@@ -0,0 +1,53 @@
1
+ import { type ViewSwitch } from "../../../src/switches.ts";
2
+ /** What a configuration takes from another tool's files. */
3
+ export type ImportedConfig = {
4
+ /** The catalogue's name: the package's, or the folder's. */
5
+ readonly title: string;
6
+ /** The story files, as globs from the project's folder. */
7
+ readonly stories: readonly string[];
8
+ /** The preview's path from the project's folder; none when the tool has none. */
9
+ readonly preview: string | undefined;
10
+ /** The switches read from the preview's `globalTypes`; none leaves Forgebook's theme and contrast. */
11
+ readonly switches: readonly ViewSwitch[] | undefined;
12
+ /** What was not read, each a sentence for the person who runs the command. */
13
+ readonly notes: readonly string[];
14
+ };
15
+ /**
16
+ * Every glob a glob with alternatives stands for: `@(a|b)` and `{a,b}` written out, nested ones too, so the
17
+ * configuration lists plain globs a person reads at a glance.
18
+ *
19
+ * @param glob - the glob.
20
+ */
21
+ export declare const expandedGlobs: (glob: string) => string[];
22
+ /**
23
+ * The story globs of Storybook's `stories`, from the project's folder: each entry a glob from the `.storybook` folder or
24
+ * a folder with its files, its alternatives written out, the documentation pages (`.mdx`) left out.
25
+ *
26
+ * @param entries - `main`'s `stories`.
27
+ * @param storybookDir - the `.storybook` folder, absolute.
28
+ * @param projectDir - the project's folder, absolute.
29
+ * @returns the globs, and what was not read.
30
+ */
31
+ export declare const storyGlobs: (entries: readonly unknown[], storybookDir: string, projectDir: string) => {
32
+ readonly globs: string[];
33
+ readonly notes: string[];
34
+ };
35
+ /**
36
+ * The switches a preview's `globalTypes` give, read from its source.
37
+ *
38
+ * @param text - the preview's source.
39
+ * @param file - its path, for the parser and the notes.
40
+ * @returns the switches (none when it declares no toolbar of its own), and what was not read.
41
+ */
42
+ export declare const previewSwitches: (text: string, file: string) => {
43
+ readonly switches: ViewSwitch[] | undefined;
44
+ readonly notes: string[];
45
+ };
46
+ /**
47
+ * Reads a project's Storybook configuration.
48
+ *
49
+ * @param projectDir - the project's folder, absolute.
50
+ * @returns what a Forgebook configuration takes from it, or why it cannot be read.
51
+ */
52
+ export declare const importStorybook: (projectDir: string) => Promise<ImportedConfig | string>;
53
+ //# sourceMappingURL=storybook.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storybook.d.ts","sourceRoot":"","sources":["../../../../bin/forgebook/importers/storybook.ts"],"names":[],"mappings":"AAmBA,OAAO,EAA2B,KAAK,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAGpF,4DAA4D;AAC5D,MAAM,MAAM,cAAc,GAAG;IAC3B,4DAA4D;IAC5D,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,2DAA2D;IAC3D,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,iFAAiF;IACjF,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,sGAAsG;IACtG,QAAQ,CAAC,QAAQ,EAAE,SAAS,UAAU,EAAE,GAAG,SAAS,CAAC;IACrD,8EAA8E;IAC9E,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;CACnC,CAAC;AAwBF;;;;;GAKG;AACH,eAAO,MAAM,aAAa,GAAI,MAAM,MAAM,KAAG,MAAM,EAyBlD,CAAC;AA0BF;;;;;;;;GAQG;AACH,eAAO,MAAM,UAAU,GACrB,SAAS,SAAS,OAAO,EAAE,EAC3B,cAAc,MAAM,EACpB,YAAY,MAAM,KACjB;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,CAAA;CAetD,CAAC;AAgHF;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,GAC1B,MAAM,MAAM,EACZ,MAAM,MAAM,KACX;IAAE,QAAQ,CAAC,QAAQ,EAAE,UAAU,EAAE,GAAG,SAAS,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,CAAA;CAoBzE,CAAC;AA4BF;;;;;GAKG;AACH,eAAO,MAAM,eAAe,GAAU,YAAY,MAAM,KAAG,OAAO,CAAC,cAAc,GAAG,MAAM,CA2BzF,CAAC"}