@skillsmith/cli 0.7.2 → 0.7.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.
Files changed (560) hide show
  1. package/CHANGELOG.md +5 -0
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/cli.js +44039 -0
  4. package/package.json +21 -11
  5. package/dist/src/commands/__meta__/telemetry-coverage.test.d.ts +0 -20
  6. package/dist/src/commands/__meta__/telemetry-coverage.test.d.ts.map +0 -1
  7. package/dist/src/commands/__meta__/telemetry-coverage.test.js +0 -118
  8. package/dist/src/commands/__meta__/telemetry-coverage.test.js.map +0 -1
  9. package/dist/src/commands/ab-test.d.ts +0 -29
  10. package/dist/src/commands/ab-test.d.ts.map +0 -1
  11. package/dist/src/commands/ab-test.js +0 -226
  12. package/dist/src/commands/ab-test.js.map +0 -1
  13. package/dist/src/commands/ab-test.test.d.ts +0 -7
  14. package/dist/src/commands/ab-test.test.d.ts.map +0 -1
  15. package/dist/src/commands/ab-test.test.js +0 -255
  16. package/dist/src/commands/ab-test.test.js.map +0 -1
  17. package/dist/src/commands/analyze.d.ts +0 -14
  18. package/dist/src/commands/analyze.d.ts.map +0 -1
  19. package/dist/src/commands/analyze.js +0 -191
  20. package/dist/src/commands/analyze.js.map +0 -1
  21. package/dist/src/commands/audit-collisions.d.ts +0 -68
  22. package/dist/src/commands/audit-collisions.d.ts.map +0 -1
  23. package/dist/src/commands/audit-collisions.js +0 -309
  24. package/dist/src/commands/audit-collisions.js.map +0 -1
  25. package/dist/src/commands/audit-sources.action.d.ts +0 -37
  26. package/dist/src/commands/audit-sources.action.d.ts.map +0 -1
  27. package/dist/src/commands/audit-sources.action.js +0 -321
  28. package/dist/src/commands/audit-sources.action.js.map +0 -1
  29. package/dist/src/commands/audit-sources.d.ts +0 -37
  30. package/dist/src/commands/audit-sources.d.ts.map +0 -1
  31. package/dist/src/commands/audit-sources.js +0 -55
  32. package/dist/src/commands/audit-sources.js.map +0 -1
  33. package/dist/src/commands/audit-sources.test.d.ts +0 -9
  34. package/dist/src/commands/audit-sources.test.d.ts.map +0 -1
  35. package/dist/src/commands/audit-sources.test.js +0 -228
  36. package/dist/src/commands/audit-sources.test.js.map +0 -1
  37. package/dist/src/commands/audit.d.ts +0 -40
  38. package/dist/src/commands/audit.d.ts.map +0 -1
  39. package/dist/src/commands/audit.js +0 -223
  40. package/dist/src/commands/audit.js.map +0 -1
  41. package/dist/src/commands/audit.test.d.ts +0 -8
  42. package/dist/src/commands/audit.test.d.ts.map +0 -1
  43. package/dist/src/commands/audit.test.js +0 -97
  44. package/dist/src/commands/audit.test.js.map +0 -1
  45. package/dist/src/commands/author/index.d.ts +0 -17
  46. package/dist/src/commands/author/index.d.ts.map +0 -1
  47. package/dist/src/commands/author/index.js +0 -21
  48. package/dist/src/commands/author/index.js.map +0 -1
  49. package/dist/src/commands/author/init.action.d.ts +0 -29
  50. package/dist/src/commands/author/init.action.d.ts.map +0 -1
  51. package/dist/src/commands/author/init.action.js +0 -131
  52. package/dist/src/commands/author/init.action.js.map +0 -1
  53. package/dist/src/commands/author/init.d.ts +0 -36
  54. package/dist/src/commands/author/init.d.ts.map +0 -1
  55. package/dist/src/commands/author/init.helpers.d.ts +0 -80
  56. package/dist/src/commands/author/init.helpers.d.ts.map +0 -1
  57. package/dist/src/commands/author/init.helpers.js +0 -107
  58. package/dist/src/commands/author/init.helpers.js.map +0 -1
  59. package/dist/src/commands/author/init.js +0 -320
  60. package/dist/src/commands/author/init.js.map +0 -1
  61. package/dist/src/commands/author/mcp-init.d.ts +0 -21
  62. package/dist/src/commands/author/mcp-init.d.ts.map +0 -1
  63. package/dist/src/commands/author/mcp-init.js +0 -202
  64. package/dist/src/commands/author/mcp-init.js.map +0 -1
  65. package/dist/src/commands/author/subagent.d.ts +0 -23
  66. package/dist/src/commands/author/subagent.d.ts.map +0 -1
  67. package/dist/src/commands/author/subagent.js +0 -174
  68. package/dist/src/commands/author/subagent.js.map +0 -1
  69. package/dist/src/commands/author/transform.d.ts +0 -23
  70. package/dist/src/commands/author/transform.d.ts.map +0 -1
  71. package/dist/src/commands/author/transform.js +0 -149
  72. package/dist/src/commands/author/transform.js.map +0 -1
  73. package/dist/src/commands/author/utils.d.ts +0 -27
  74. package/dist/src/commands/author/utils.d.ts.map +0 -1
  75. package/dist/src/commands/author/utils.js +0 -118
  76. package/dist/src/commands/author/utils.js.map +0 -1
  77. package/dist/src/commands/config.d.ts +0 -57
  78. package/dist/src/commands/config.d.ts.map +0 -1
  79. package/dist/src/commands/config.js +0 -226
  80. package/dist/src/commands/config.js.map +0 -1
  81. package/dist/src/commands/create.d.ts +0 -43
  82. package/dist/src/commands/create.d.ts.map +0 -1
  83. package/dist/src/commands/create.js +0 -336
  84. package/dist/src/commands/create.js.map +0 -1
  85. package/dist/src/commands/diff.d.ts +0 -21
  86. package/dist/src/commands/diff.d.ts.map +0 -1
  87. package/dist/src/commands/diff.js +0 -227
  88. package/dist/src/commands/diff.js.map +0 -1
  89. package/dist/src/commands/diff.test.d.ts +0 -6
  90. package/dist/src/commands/diff.test.d.ts.map +0 -1
  91. package/dist/src/commands/diff.test.js +0 -327
  92. package/dist/src/commands/diff.test.js.map +0 -1
  93. package/dist/src/commands/import-local.d.ts +0 -28
  94. package/dist/src/commands/import-local.d.ts.map +0 -1
  95. package/dist/src/commands/import-local.helpers.d.ts +0 -28
  96. package/dist/src/commands/import-local.helpers.d.ts.map +0 -1
  97. package/dist/src/commands/import-local.helpers.js +0 -166
  98. package/dist/src/commands/import-local.helpers.js.map +0 -1
  99. package/dist/src/commands/import-local.js +0 -273
  100. package/dist/src/commands/import-local.js.map +0 -1
  101. package/dist/src/commands/import-local.types.d.ts +0 -59
  102. package/dist/src/commands/import-local.types.d.ts.map +0 -1
  103. package/dist/src/commands/import-local.types.js +0 -2
  104. package/dist/src/commands/import-local.types.js.map +0 -1
  105. package/dist/src/commands/import.d.ts +0 -47
  106. package/dist/src/commands/import.d.ts.map +0 -1
  107. package/dist/src/commands/import.js +0 -314
  108. package/dist/src/commands/import.js.map +0 -1
  109. package/dist/src/commands/index.d.ts +0 -28
  110. package/dist/src/commands/index.d.ts.map +0 -1
  111. package/dist/src/commands/index.js +0 -50
  112. package/dist/src/commands/index.js.map +0 -1
  113. package/dist/src/commands/info.d.ts +0 -19
  114. package/dist/src/commands/info.d.ts.map +0 -1
  115. package/dist/src/commands/info.js +0 -110
  116. package/dist/src/commands/info.js.map +0 -1
  117. package/dist/src/commands/install-skill.d.ts +0 -16
  118. package/dist/src/commands/install-skill.d.ts.map +0 -1
  119. package/dist/src/commands/install-skill.js +0 -155
  120. package/dist/src/commands/install-skill.js.map +0 -1
  121. package/dist/src/commands/install.d.ts +0 -34
  122. package/dist/src/commands/install.d.ts.map +0 -1
  123. package/dist/src/commands/install.js +0 -311
  124. package/dist/src/commands/install.js.map +0 -1
  125. package/dist/src/commands/inventory.action.d.ts +0 -55
  126. package/dist/src/commands/inventory.action.d.ts.map +0 -1
  127. package/dist/src/commands/inventory.action.js +0 -179
  128. package/dist/src/commands/inventory.action.js.map +0 -1
  129. package/dist/src/commands/inventory.action.test.d.ts +0 -19
  130. package/dist/src/commands/inventory.action.test.d.ts.map +0 -1
  131. package/dist/src/commands/inventory.action.test.js +0 -371
  132. package/dist/src/commands/inventory.action.test.js.map +0 -1
  133. package/dist/src/commands/inventory.d.ts +0 -21
  134. package/dist/src/commands/inventory.d.ts.map +0 -1
  135. package/dist/src/commands/inventory.js +0 -42
  136. package/dist/src/commands/inventory.js.map +0 -1
  137. package/dist/src/commands/login.d.ts +0 -7
  138. package/dist/src/commands/login.d.ts.map +0 -1
  139. package/dist/src/commands/login.js +0 -323
  140. package/dist/src/commands/login.js.map +0 -1
  141. package/dist/src/commands/login.test-helpers.d.ts +0 -7
  142. package/dist/src/commands/login.test-helpers.d.ts.map +0 -1
  143. package/dist/src/commands/login.test-helpers.js +0 -44
  144. package/dist/src/commands/login.test-helpers.js.map +0 -1
  145. package/dist/src/commands/login.test.d.ts +0 -2
  146. package/dist/src/commands/login.test.d.ts.map +0 -1
  147. package/dist/src/commands/login.test.js +0 -387
  148. package/dist/src/commands/login.test.js.map +0 -1
  149. package/dist/src/commands/logout.d.ts +0 -15
  150. package/dist/src/commands/logout.d.ts.map +0 -1
  151. package/dist/src/commands/logout.js +0 -54
  152. package/dist/src/commands/logout.js.map +0 -1
  153. package/dist/src/commands/logout.test.d.ts +0 -8
  154. package/dist/src/commands/logout.test.d.ts.map +0 -1
  155. package/dist/src/commands/logout.test.js +0 -137
  156. package/dist/src/commands/logout.test.js.map +0 -1
  157. package/dist/src/commands/manage.d.ts +0 -19
  158. package/dist/src/commands/manage.d.ts.map +0 -1
  159. package/dist/src/commands/manage.js +0 -346
  160. package/dist/src/commands/manage.js.map +0 -1
  161. package/dist/src/commands/merge.d.ts +0 -24
  162. package/dist/src/commands/merge.d.ts.map +0 -1
  163. package/dist/src/commands/merge.js +0 -168
  164. package/dist/src/commands/merge.js.map +0 -1
  165. package/dist/src/commands/pin.d.ts +0 -26
  166. package/dist/src/commands/pin.d.ts.map +0 -1
  167. package/dist/src/commands/pin.js +0 -138
  168. package/dist/src/commands/pin.js.map +0 -1
  169. package/dist/src/commands/pin.test.d.ts +0 -6
  170. package/dist/src/commands/pin.test.d.ts.map +0 -1
  171. package/dist/src/commands/pin.test.js +0 -206
  172. package/dist/src/commands/pin.test.js.map +0 -1
  173. package/dist/src/commands/recommend-scoring.d.ts +0 -29
  174. package/dist/src/commands/recommend-scoring.d.ts.map +0 -1
  175. package/dist/src/commands/recommend-scoring.js +0 -141
  176. package/dist/src/commands/recommend-scoring.js.map +0 -1
  177. package/dist/src/commands/recommend.d.ts +0 -15
  178. package/dist/src/commands/recommend.d.ts.map +0 -1
  179. package/dist/src/commands/recommend.helpers.d.ts +0 -44
  180. package/dist/src/commands/recommend.helpers.d.ts.map +0 -1
  181. package/dist/src/commands/recommend.helpers.js +0 -303
  182. package/dist/src/commands/recommend.helpers.js.map +0 -1
  183. package/dist/src/commands/recommend.js +0 -198
  184. package/dist/src/commands/recommend.js.map +0 -1
  185. package/dist/src/commands/recommend.types.d.ts +0 -66
  186. package/dist/src/commands/recommend.types.d.ts.map +0 -1
  187. package/dist/src/commands/recommend.types.js +0 -14
  188. package/dist/src/commands/recommend.types.js.map +0 -1
  189. package/dist/src/commands/run-registry-sync.d.ts +0 -31
  190. package/dist/src/commands/run-registry-sync.d.ts.map +0 -1
  191. package/dist/src/commands/run-registry-sync.js +0 -45
  192. package/dist/src/commands/run-registry-sync.js.map +0 -1
  193. package/dist/src/commands/search-formatters.d.ts +0 -36
  194. package/dist/src/commands/search-formatters.d.ts.map +0 -1
  195. package/dist/src/commands/search-formatters.js +0 -132
  196. package/dist/src/commands/search-formatters.js.map +0 -1
  197. package/dist/src/commands/search-types.d.ts +0 -46
  198. package/dist/src/commands/search-types.d.ts.map +0 -1
  199. package/dist/src/commands/search-types.js +0 -12
  200. package/dist/src/commands/search-types.js.map +0 -1
  201. package/dist/src/commands/search.action.d.ts +0 -16
  202. package/dist/src/commands/search.action.d.ts.map +0 -1
  203. package/dist/src/commands/search.action.js +0 -384
  204. package/dist/src/commands/search.action.js.map +0 -1
  205. package/dist/src/commands/search.d.ts +0 -18
  206. package/dist/src/commands/search.d.ts.map +0 -1
  207. package/dist/src/commands/search.helpers.d.ts +0 -52
  208. package/dist/src/commands/search.helpers.d.ts.map +0 -1
  209. package/dist/src/commands/search.helpers.js +0 -95
  210. package/dist/src/commands/search.helpers.js.map +0 -1
  211. package/dist/src/commands/search.js +0 -48
  212. package/dist/src/commands/search.js.map +0 -1
  213. package/dist/src/commands/search.test.d.ts +0 -10
  214. package/dist/src/commands/search.test.d.ts.map +0 -1
  215. package/dist/src/commands/search.test.js +0 -179
  216. package/dist/src/commands/search.test.js.map +0 -1
  217. package/dist/src/commands/sync.action.d.ts +0 -39
  218. package/dist/src/commands/sync.action.d.ts.map +0 -1
  219. package/dist/src/commands/sync.action.js +0 -353
  220. package/dist/src/commands/sync.action.js.map +0 -1
  221. package/dist/src/commands/sync.d.ts +0 -24
  222. package/dist/src/commands/sync.d.ts.map +0 -1
  223. package/dist/src/commands/sync.helpers.d.ts +0 -55
  224. package/dist/src/commands/sync.helpers.d.ts.map +0 -1
  225. package/dist/src/commands/sync.helpers.js +0 -90
  226. package/dist/src/commands/sync.helpers.js.map +0 -1
  227. package/dist/src/commands/sync.js +0 -101
  228. package/dist/src/commands/sync.js.map +0 -1
  229. package/dist/src/commands/telemetry.action.d.ts +0 -38
  230. package/dist/src/commands/telemetry.action.d.ts.map +0 -1
  231. package/dist/src/commands/telemetry.action.js +0 -350
  232. package/dist/src/commands/telemetry.action.js.map +0 -1
  233. package/dist/src/commands/telemetry.d.ts +0 -30
  234. package/dist/src/commands/telemetry.d.ts.map +0 -1
  235. package/dist/src/commands/telemetry.helpers.d.ts +0 -58
  236. package/dist/src/commands/telemetry.helpers.d.ts.map +0 -1
  237. package/dist/src/commands/telemetry.helpers.js +0 -173
  238. package/dist/src/commands/telemetry.helpers.js.map +0 -1
  239. package/dist/src/commands/telemetry.helpers.test.d.ts +0 -15
  240. package/dist/src/commands/telemetry.helpers.test.d.ts.map +0 -1
  241. package/dist/src/commands/telemetry.helpers.test.js +0 -240
  242. package/dist/src/commands/telemetry.helpers.test.js.map +0 -1
  243. package/dist/src/commands/telemetry.js +0 -65
  244. package/dist/src/commands/telemetry.js.map +0 -1
  245. package/dist/src/commands/telemetry.test.d.ts +0 -18
  246. package/dist/src/commands/telemetry.test.d.ts.map +0 -1
  247. package/dist/src/commands/telemetry.test.js +0 -401
  248. package/dist/src/commands/telemetry.test.js.map +0 -1
  249. package/dist/src/commands/whoami.d.ts +0 -15
  250. package/dist/src/commands/whoami.d.ts.map +0 -1
  251. package/dist/src/commands/whoami.js +0 -55
  252. package/dist/src/commands/whoami.js.map +0 -1
  253. package/dist/src/commands/whoami.test.d.ts +0 -8
  254. package/dist/src/commands/whoami.test.d.ts.map +0 -1
  255. package/dist/src/commands/whoami.test.js +0 -133
  256. package/dist/src/commands/whoami.test.js.map +0 -1
  257. package/dist/src/config.d.ts +0 -29
  258. package/dist/src/config.d.ts.map +0 -1
  259. package/dist/src/config.js +0 -34
  260. package/dist/src/config.js.map +0 -1
  261. package/dist/src/index.d.ts +0 -22
  262. package/dist/src/index.d.ts.map +0 -1
  263. package/dist/src/index.js +0 -117
  264. package/dist/src/index.js.map +0 -1
  265. package/dist/src/templates/changelog.md.template.d.ts +0 -8
  266. package/dist/src/templates/changelog.md.template.d.ts.map +0 -1
  267. package/dist/src/templates/changelog.md.template.js +0 -19
  268. package/dist/src/templates/changelog.md.template.js.map +0 -1
  269. package/dist/src/templates/index.d.ts +0 -11
  270. package/dist/src/templates/index.d.ts.map +0 -1
  271. package/dist/src/templates/index.js +0 -11
  272. package/dist/src/templates/index.js.map +0 -1
  273. package/dist/src/templates/mcp-server.template.d.ts +0 -82
  274. package/dist/src/templates/mcp-server.template.d.ts.map +0 -1
  275. package/dist/src/templates/mcp-server.template.js +0 -430
  276. package/dist/src/templates/mcp-server.template.js.map +0 -1
  277. package/dist/src/templates/mcp-server.template.snippets.d.ts +0 -51
  278. package/dist/src/templates/mcp-server.template.snippets.d.ts.map +0 -1
  279. package/dist/src/templates/mcp-server.template.snippets.js +0 -162
  280. package/dist/src/templates/mcp-server.template.snippets.js.map +0 -1
  281. package/dist/src/templates/mcp-template-handlers.d.ts +0 -33
  282. package/dist/src/templates/mcp-template-handlers.d.ts.map +0 -1
  283. package/dist/src/templates/mcp-template-handlers.js +0 -106
  284. package/dist/src/templates/mcp-template-handlers.js.map +0 -1
  285. package/dist/src/templates/mcp-template-types.d.ts +0 -48
  286. package/dist/src/templates/mcp-template-types.d.ts.map +0 -1
  287. package/dist/src/templates/mcp-template-types.js +0 -18
  288. package/dist/src/templates/mcp-template-types.js.map +0 -1
  289. package/dist/src/templates/readme.md.template.d.ts +0 -8
  290. package/dist/src/templates/readme.md.template.d.ts.map +0 -1
  291. package/dist/src/templates/readme.md.template.js +0 -86
  292. package/dist/src/templates/readme.md.template.js.map +0 -1
  293. package/dist/src/templates/skill.md.template.d.ts +0 -8
  294. package/dist/src/templates/skill.md.template.d.ts.map +0 -1
  295. package/dist/src/templates/skill.md.template.js +0 -97
  296. package/dist/src/templates/skill.md.template.js.map +0 -1
  297. package/dist/src/templates/subagent.md.template.d.ts +0 -38
  298. package/dist/src/templates/subagent.md.template.d.ts.map +0 -1
  299. package/dist/src/templates/subagent.md.template.js +0 -128
  300. package/dist/src/templates/subagent.md.template.js.map +0 -1
  301. package/dist/src/utils/errors.d.ts +0 -52
  302. package/dist/src/utils/errors.d.ts.map +0 -1
  303. package/dist/src/utils/errors.js +0 -58
  304. package/dist/src/utils/errors.js.map +0 -1
  305. package/dist/src/utils/formatters.d.ts +0 -39
  306. package/dist/src/utils/formatters.d.ts.map +0 -1
  307. package/dist/src/utils/formatters.js +0 -69
  308. package/dist/src/utils/formatters.js.map +0 -1
  309. package/dist/src/utils/license-types.d.ts +0 -88
  310. package/dist/src/utils/license-types.d.ts.map +0 -1
  311. package/dist/src/utils/license-types.js +0 -60
  312. package/dist/src/utils/license-types.js.map +0 -1
  313. package/dist/src/utils/license-validation.d.ts +0 -61
  314. package/dist/src/utils/license-validation.d.ts.map +0 -1
  315. package/dist/src/utils/license-validation.js +0 -198
  316. package/dist/src/utils/license-validation.js.map +0 -1
  317. package/dist/src/utils/license.d.ts +0 -56
  318. package/dist/src/utils/license.d.ts.map +0 -1
  319. package/dist/src/utils/license.js +0 -163
  320. package/dist/src/utils/license.js.map +0 -1
  321. package/dist/src/utils/license.test.d.ts +0 -7
  322. package/dist/src/utils/license.test.d.ts.map +0 -1
  323. package/dist/src/utils/license.test.js +0 -308
  324. package/dist/src/utils/license.test.js.map +0 -1
  325. package/dist/src/utils/manifest.d.ts +0 -121
  326. package/dist/src/utils/manifest.d.ts.map +0 -1
  327. package/dist/src/utils/manifest.js +0 -133
  328. package/dist/src/utils/manifest.js.map +0 -1
  329. package/dist/src/utils/manifest.test.d.ts +0 -20
  330. package/dist/src/utils/manifest.test.d.ts.map +0 -1
  331. package/dist/src/utils/manifest.test.js +0 -344
  332. package/dist/src/utils/manifest.test.js.map +0 -1
  333. package/dist/src/utils/node-version.d.ts +0 -41
  334. package/dist/src/utils/node-version.d.ts.map +0 -1
  335. package/dist/src/utils/node-version.js +0 -123
  336. package/dist/src/utils/node-version.js.map +0 -1
  337. package/dist/src/utils/open-database.d.ts +0 -35
  338. package/dist/src/utils/open-database.d.ts.map +0 -1
  339. package/dist/src/utils/open-database.js +0 -73
  340. package/dist/src/utils/open-database.js.map +0 -1
  341. package/dist/src/utils/require-tier.d.ts +0 -38
  342. package/dist/src/utils/require-tier.d.ts.map +0 -1
  343. package/dist/src/utils/require-tier.js +0 -74
  344. package/dist/src/utils/require-tier.js.map +0 -1
  345. package/dist/src/utils/sanitize.d.ts +0 -30
  346. package/dist/src/utils/sanitize.d.ts.map +0 -1
  347. package/dist/src/utils/sanitize.js +0 -45
  348. package/dist/src/utils/sanitize.js.map +0 -1
  349. package/dist/src/utils/skill-name.d.ts +0 -19
  350. package/dist/src/utils/skill-name.d.ts.map +0 -1
  351. package/dist/src/utils/skill-name.js +0 -26
  352. package/dist/src/utils/skill-name.js.map +0 -1
  353. package/dist/src/utils/skills-directory.d.ts +0 -95
  354. package/dist/src/utils/skills-directory.d.ts.map +0 -1
  355. package/dist/src/utils/skills-directory.js +0 -285
  356. package/dist/src/utils/skills-directory.js.map +0 -1
  357. package/dist/src/utils/startup-header-gate.d.ts +0 -29
  358. package/dist/src/utils/startup-header-gate.d.ts.map +0 -1
  359. package/dist/src/utils/startup-header-gate.js +0 -44
  360. package/dist/src/utils/startup-header-gate.js.map +0 -1
  361. package/dist/src/utils/startup-header-gate.test.d.ts +0 -2
  362. package/dist/src/utils/startup-header-gate.test.d.ts.map +0 -1
  363. package/dist/src/utils/startup-header-gate.test.js +0 -46
  364. package/dist/src/utils/startup-header-gate.test.js.map +0 -1
  365. package/dist/src/utils/tool-analyzer.d.ts +0 -54
  366. package/dist/src/utils/tool-analyzer.d.ts.map +0 -1
  367. package/dist/src/utils/tool-analyzer.js +0 -156
  368. package/dist/src/utils/tool-analyzer.js.map +0 -1
  369. package/dist/src/version.d.ts +0 -2
  370. package/dist/src/version.d.ts.map +0 -1
  371. package/dist/src/version.js +0 -24
  372. package/dist/src/version.js.map +0 -1
  373. package/dist/tests/audit-collisions.test.d.ts +0 -42
  374. package/dist/tests/audit-collisions.test.d.ts.map +0 -1
  375. package/dist/tests/audit-collisions.test.js +0 -370
  376. package/dist/tests/audit-collisions.test.js.map +0 -1
  377. package/dist/tests/audit-restructure.test.d.ts +0 -15
  378. package/dist/tests/audit-restructure.test.d.ts.map +0 -1
  379. package/dist/tests/audit-restructure.test.js +0 -151
  380. package/dist/tests/audit-restructure.test.js.map +0 -1
  381. package/dist/tests/author.test.d.ts +0 -5
  382. package/dist/tests/author.test.d.ts.map +0 -1
  383. package/dist/tests/author.test.js +0 -653
  384. package/dist/tests/author.test.js.map +0 -1
  385. package/dist/tests/config.test.d.ts +0 -33
  386. package/dist/tests/config.test.d.ts.map +0 -1
  387. package/dist/tests/config.test.js +0 -240
  388. package/dist/tests/config.test.js.map +0 -1
  389. package/dist/tests/create.test.d.ts +0 -5
  390. package/dist/tests/create.test.d.ts.map +0 -1
  391. package/dist/tests/create.test.js +0 -449
  392. package/dist/tests/create.test.js.map +0 -1
  393. package/dist/tests/e2e/audit-sources-affix.test.d.ts +0 -11
  394. package/dist/tests/e2e/audit-sources-affix.test.d.ts.map +0 -1
  395. package/dist/tests/e2e/audit-sources-affix.test.js +0 -121
  396. package/dist/tests/e2e/audit-sources-affix.test.js.map +0 -1
  397. package/dist/tests/e2e/audit-sources-apply.test.d.ts +0 -13
  398. package/dist/tests/e2e/audit-sources-apply.test.d.ts.map +0 -1
  399. package/dist/tests/e2e/audit-sources-apply.test.js +0 -166
  400. package/dist/tests/e2e/audit-sources-apply.test.js.map +0 -1
  401. package/dist/tests/e2e/audit-sources-recovery.test.d.ts +0 -15
  402. package/dist/tests/e2e/audit-sources-recovery.test.d.ts.map +0 -1
  403. package/dist/tests/e2e/audit-sources-recovery.test.js +0 -179
  404. package/dist/tests/e2e/audit-sources-recovery.test.js.map +0 -1
  405. package/dist/tests/e2e/audit-sources-roundtrip.test.d.ts +0 -23
  406. package/dist/tests/e2e/audit-sources-roundtrip.test.d.ts.map +0 -1
  407. package/dist/tests/e2e/audit-sources-roundtrip.test.js +0 -139
  408. package/dist/tests/e2e/audit-sources-roundtrip.test.js.map +0 -1
  409. package/dist/tests/e2e/author.e2e.test.d.ts +0 -9
  410. package/dist/tests/e2e/author.e2e.test.d.ts.map +0 -1
  411. package/dist/tests/e2e/author.e2e.test.js +0 -666
  412. package/dist/tests/e2e/author.e2e.test.js.map +0 -1
  413. package/dist/tests/e2e/import.e2e.test.d.ts +0 -10
  414. package/dist/tests/e2e/import.e2e.test.d.ts.map +0 -1
  415. package/dist/tests/e2e/import.e2e.test.js +0 -213
  416. package/dist/tests/e2e/import.e2e.test.js.map +0 -1
  417. package/dist/tests/e2e/manage.e2e.test.d.ts +0 -9
  418. package/dist/tests/e2e/manage.e2e.test.d.ts.map +0 -1
  419. package/dist/tests/e2e/manage.e2e.test.js +0 -277
  420. package/dist/tests/e2e/manage.e2e.test.js.map +0 -1
  421. package/dist/tests/e2e/search.e2e.test.d.ts +0 -10
  422. package/dist/tests/e2e/search.e2e.test.d.ts.map +0 -1
  423. package/dist/tests/e2e/search.e2e.test.js +0 -324
  424. package/dist/tests/e2e/search.e2e.test.js.map +0 -1
  425. package/dist/tests/e2e/test-config.d.ts +0 -39
  426. package/dist/tests/e2e/test-config.d.ts.map +0 -1
  427. package/dist/tests/e2e/test-config.js +0 -44
  428. package/dist/tests/e2e/test-config.js.map +0 -1
  429. package/dist/tests/e2e/utils/baseline-collector.d.ts +0 -107
  430. package/dist/tests/e2e/utils/baseline-collector.d.ts.map +0 -1
  431. package/dist/tests/e2e/utils/baseline-collector.js +0 -211
  432. package/dist/tests/e2e/utils/baseline-collector.js.map +0 -1
  433. package/dist/tests/e2e/utils/hardcoded-detector.d.ts +0 -46
  434. package/dist/tests/e2e/utils/hardcoded-detector.d.ts.map +0 -1
  435. package/dist/tests/e2e/utils/hardcoded-detector.js +0 -238
  436. package/dist/tests/e2e/utils/hardcoded-detector.js.map +0 -1
  437. package/dist/tests/e2e/utils/index.d.ts +0 -12
  438. package/dist/tests/e2e/utils/index.d.ts.map +0 -1
  439. package/dist/tests/e2e/utils/index.js +0 -12
  440. package/dist/tests/e2e/utils/index.js.map +0 -1
  441. package/dist/tests/e2e/utils/linear-reporter.d.ts +0 -60
  442. package/dist/tests/e2e/utils/linear-reporter.d.ts.map +0 -1
  443. package/dist/tests/e2e/utils/linear-reporter.js +0 -223
  444. package/dist/tests/e2e/utils/linear-reporter.js.map +0 -1
  445. package/dist/tests/e2e/utils/mock-github.d.ts +0 -23
  446. package/dist/tests/e2e/utils/mock-github.d.ts.map +0 -1
  447. package/dist/tests/e2e/utils/mock-github.js +0 -60
  448. package/dist/tests/e2e/utils/mock-github.js.map +0 -1
  449. package/dist/tests/e2e/utils/mock-prompts.d.ts +0 -19
  450. package/dist/tests/e2e/utils/mock-prompts.d.ts.map +0 -1
  451. package/dist/tests/e2e/utils/mock-prompts.js +0 -48
  452. package/dist/tests/e2e/utils/mock-prompts.js.map +0 -1
  453. package/dist/tests/e2e/utils/source-recovery-fixture.d.ts +0 -49
  454. package/dist/tests/e2e/utils/source-recovery-fixture.d.ts.map +0 -1
  455. package/dist/tests/e2e/utils/source-recovery-fixture.js +0 -106
  456. package/dist/tests/e2e/utils/source-recovery-fixture.js.map +0 -1
  457. package/dist/tests/embedding-probe-stdio.test.d.ts +0 -11
  458. package/dist/tests/embedding-probe-stdio.test.d.ts.map +0 -1
  459. package/dist/tests/embedding-probe-stdio.test.js +0 -58
  460. package/dist/tests/embedding-probe-stdio.test.js.map +0 -1
  461. package/dist/tests/import.test.d.ts +0 -5
  462. package/dist/tests/import.test.d.ts.map +0 -1
  463. package/dist/tests/import.test.js +0 -11
  464. package/dist/tests/import.test.js.map +0 -1
  465. package/dist/tests/init.test.d.ts +0 -30
  466. package/dist/tests/init.test.d.ts.map +0 -1
  467. package/dist/tests/init.test.js +0 -357
  468. package/dist/tests/init.test.js.map +0 -1
  469. package/dist/tests/install-multi-client.test.d.ts +0 -2
  470. package/dist/tests/install-multi-client.test.d.ts.map +0 -1
  471. package/dist/tests/install-multi-client.test.js +0 -202
  472. package/dist/tests/install-multi-client.test.js.map +0 -1
  473. package/dist/tests/install-quarantine.test.d.ts +0 -10
  474. package/dist/tests/install-quarantine.test.d.ts.map +0 -1
  475. package/dist/tests/install-quarantine.test.js +0 -86
  476. package/dist/tests/install-quarantine.test.js.map +0 -1
  477. package/dist/tests/install-skill.test.d.ts +0 -8
  478. package/dist/tests/install-skill.test.d.ts.map +0 -1
  479. package/dist/tests/install-skill.test.js +0 -414
  480. package/dist/tests/install-skill.test.js.map +0 -1
  481. package/dist/tests/integration/import-local.test.d.ts +0 -2
  482. package/dist/tests/integration/import-local.test.d.ts.map +0 -1
  483. package/dist/tests/integration/import-local.test.js +0 -158
  484. package/dist/tests/integration/import-local.test.js.map +0 -1
  485. package/dist/tests/license-validation.test.d.ts +0 -8
  486. package/dist/tests/license-validation.test.d.ts.map +0 -1
  487. package/dist/tests/license-validation.test.js +0 -186
  488. package/dist/tests/license-validation.test.js.map +0 -1
  489. package/dist/tests/manage.test.d.ts +0 -5
  490. package/dist/tests/manage.test.d.ts.map +0 -1
  491. package/dist/tests/manage.test.js +0 -495
  492. package/dist/tests/manage.test.js.map +0 -1
  493. package/dist/tests/mcp-server-template.test.d.ts +0 -7
  494. package/dist/tests/mcp-server-template.test.d.ts.map +0 -1
  495. package/dist/tests/mcp-server-template.test.js +0 -372
  496. package/dist/tests/mcp-server-template.test.js.map +0 -1
  497. package/dist/tests/node-version.test.d.ts +0 -8
  498. package/dist/tests/node-version.test.d.ts.map +0 -1
  499. package/dist/tests/node-version.test.js +0 -200
  500. package/dist/tests/node-version.test.js.map +0 -1
  501. package/dist/tests/open-database.test.d.ts +0 -2
  502. package/dist/tests/open-database.test.d.ts.map +0 -1
  503. package/dist/tests/open-database.test.js +0 -77
  504. package/dist/tests/open-database.test.js.map +0 -1
  505. package/dist/tests/recommend-helpers.test.d.ts +0 -9
  506. package/dist/tests/recommend-helpers.test.d.ts.map +0 -1
  507. package/dist/tests/recommend-helpers.test.js +0 -308
  508. package/dist/tests/recommend-helpers.test.js.map +0 -1
  509. package/dist/tests/recommend-scoring.test.d.ts +0 -8
  510. package/dist/tests/recommend-scoring.test.d.ts.map +0 -1
  511. package/dist/tests/recommend-scoring.test.js +0 -184
  512. package/dist/tests/recommend-scoring.test.js.map +0 -1
  513. package/dist/tests/recommend.errors.test.d.ts +0 -8
  514. package/dist/tests/recommend.errors.test.d.ts.map +0 -1
  515. package/dist/tests/recommend.errors.test.js +0 -232
  516. package/dist/tests/recommend.errors.test.js.map +0 -1
  517. package/dist/tests/recommend.filters.test.d.ts +0 -9
  518. package/dist/tests/recommend.filters.test.d.ts.map +0 -1
  519. package/dist/tests/recommend.filters.test.js +0 -235
  520. package/dist/tests/recommend.filters.test.js.map +0 -1
  521. package/dist/tests/recommend.test-helpers.d.ts +0 -66
  522. package/dist/tests/recommend.test-helpers.d.ts.map +0 -1
  523. package/dist/tests/recommend.test-helpers.js +0 -79
  524. package/dist/tests/recommend.test-helpers.js.map +0 -1
  525. package/dist/tests/recommend.test.d.ts +0 -11
  526. package/dist/tests/recommend.test.d.ts.map +0 -1
  527. package/dist/tests/recommend.test.js +0 -320
  528. package/dist/tests/recommend.test.js.map +0 -1
  529. package/dist/tests/search-helpers.test.d.ts +0 -2
  530. package/dist/tests/search-helpers.test.d.ts.map +0 -1
  531. package/dist/tests/search-helpers.test.js +0 -110
  532. package/dist/tests/search-helpers.test.js.map +0 -1
  533. package/dist/tests/search.test.d.ts +0 -5
  534. package/dist/tests/search.test.d.ts.map +0 -1
  535. package/dist/tests/search.test.js +0 -91
  536. package/dist/tests/search.test.js.map +0 -1
  537. package/dist/tests/skills-directory-per-harness.test.d.ts +0 -2
  538. package/dist/tests/skills-directory-per-harness.test.d.ts.map +0 -1
  539. package/dist/tests/skills-directory-per-harness.test.js +0 -116
  540. package/dist/tests/skills-directory-per-harness.test.js.map +0 -1
  541. package/dist/tests/skills-directory.test.d.ts +0 -2
  542. package/dist/tests/skills-directory.test.d.ts.map +0 -1
  543. package/dist/tests/skills-directory.test.js +0 -108
  544. package/dist/tests/skills-directory.test.js.map +0 -1
  545. package/dist/tests/sync.auth-ux.test.d.ts +0 -14
  546. package/dist/tests/sync.auth-ux.test.d.ts.map +0 -1
  547. package/dist/tests/sync.auth-ux.test.js +0 -148
  548. package/dist/tests/sync.auth-ux.test.js.map +0 -1
  549. package/dist/tests/tool-analyzer.test.d.ts +0 -8
  550. package/dist/tests/tool-analyzer.test.d.ts.map +0 -1
  551. package/dist/tests/tool-analyzer.test.js +0 -149
  552. package/dist/tests/tool-analyzer.test.js.map +0 -1
  553. package/dist/tests/unit/commands/install.test.d.ts +0 -7
  554. package/dist/tests/unit/commands/install.test.d.ts.map +0 -1
  555. package/dist/tests/unit/commands/install.test.js +0 -482
  556. package/dist/tests/unit/commands/install.test.js.map +0 -1
  557. package/dist/tests/unit/import-local.helpers.test.d.ts +0 -2
  558. package/dist/tests/unit/import-local.helpers.test.d.ts.map +0 -1
  559. package/dist/tests/unit/import-local.helpers.test.js +0 -96
  560. package/dist/tests/unit/import-local.helpers.test.js.map +0 -1
@@ -1,320 +0,0 @@
1
- /**
2
- * SMI-746: Skill Initialization Commands
3
- * SMI-1473: Non-interactive init command flags
4
- *
5
- * Commands for creating, validating, and publishing skills.
6
- */
7
- import { input, confirm, select } from '@inquirer/prompts';
8
- import chalk from 'chalk';
9
- import ora from 'ora';
10
- import { mkdir, writeFile, readFile, stat, readdir } from 'fs/promises';
11
- import { dirname, join, resolve } from 'path';
12
- import { createHash } from 'crypto';
13
- import { SkillParser } from '@skillsmith/core';
14
- import { sanitizeError } from '../../utils/sanitize.js';
15
- import { InitSkillError } from '../../utils/errors.js';
16
- import { validateSkillName } from '../../utils/skill-name.js';
17
- import { printValidationResult } from './utils.js';
18
- import { scaffoldSkillDirectory } from './init.helpers.js';
19
- /**
20
- * Valid categories for skill initialization
21
- */
22
- export const VALID_CATEGORIES = [
23
- 'development',
24
- 'productivity',
25
- 'communication',
26
- 'data',
27
- 'security',
28
- 'other',
29
- ];
30
- /**
31
- * Initialize a new skill directory
32
- */
33
- export async function initSkill(name, targetPath, options = {}) {
34
- // Interactive prompts if name not provided
35
- const skillName = name ||
36
- (await input({
37
- message: 'Skill name:',
38
- validate: validateSkillName,
39
- }));
40
- if (name && validateSkillName(skillName) !== true) {
41
- // SMI-4314: throw typed error; the wrapper prints exactly once and exits.
42
- throw new InitSkillError(chalk.red(`Invalid skill name: ${validateSkillName(skillName)}`));
43
- }
44
- // Use provided options or prompt interactively
45
- const description = options.description ||
46
- (await input({
47
- message: 'Description:',
48
- default: `A Claude skill for ${skillName}`,
49
- }));
50
- const author = options.author ||
51
- (await input({
52
- message: 'Author:',
53
- default: process.env['USER'] || 'author',
54
- }));
55
- // Validate category if provided via CLI
56
- if (options.category && !VALID_CATEGORIES.includes(options.category)) {
57
- // SMI-4314: throw typed error; the wrapper prints exactly once and exits.
58
- throw new InitSkillError(chalk.red(`Invalid category: ${options.category}. Valid categories: ${VALID_CATEGORIES.join(', ')}`));
59
- }
60
- const category = options.category ||
61
- (await select({
62
- message: 'Category:',
63
- choices: [
64
- { name: 'Development', value: 'development' },
65
- { name: 'Productivity', value: 'productivity' },
66
- { name: 'Communication', value: 'communication' },
67
- { name: 'Data', value: 'data' },
68
- { name: 'Security', value: 'security' },
69
- { name: 'Other', value: 'other' },
70
- ],
71
- }));
72
- const skillDir = resolve(targetPath, skillName);
73
- // SMI-4289: Track whether this invocation created the directory fresh.
74
- // Used by the scaffold helper to decide if rollback can safely rm -rf
75
- // on mid-scaffold failure. When false (user confirmed overwrite of
76
- // pre-existing dir), rollback MUST no-op to protect the user's files.
77
- let skillDirPreExisted = false;
78
- try {
79
- await stat(skillDir);
80
- skillDirPreExisted = true;
81
- // Skip confirmation if --yes flag is set
82
- if (!options.yes) {
83
- const overwrite = await confirm({
84
- message: `Directory ${skillDir} already exists. Overwrite?`,
85
- default: false,
86
- });
87
- if (!overwrite) {
88
- console.log(chalk.yellow('Initialization cancelled'));
89
- return;
90
- }
91
- }
92
- }
93
- catch {
94
- // Directory doesn't exist, continue
95
- }
96
- const spinner = ora('Creating skill structure...').start();
97
- // SMI-4289: mkdir is outside the scaffold helper so we can detect EACCES
98
- // / EPERM / ENOSPC here and set createdFresh appropriately. If mkdir
99
- // itself fails on a fresh path, there is no partial directory to roll
100
- // back — we simply report the error.
101
- let createdFresh = false;
102
- try {
103
- await mkdir(skillDir, { recursive: true });
104
- createdFresh = !skillDirPreExisted;
105
- }
106
- catch (error) {
107
- // SMI-4314: stop spinner silently and throw typed error. The wrapper
108
- // prints the message exactly once (spinner.fail + console.error would
109
- // double-print the same text in the real CLI path).
110
- spinner.stop();
111
- throw new InitSkillError(chalk.red(`Failed to create skill: ${sanitizeError(error)}`), 1, {
112
- cause: error,
113
- });
114
- }
115
- const result = await scaffoldSkillDirectory({
116
- skillDir,
117
- skillName,
118
- description,
119
- author,
120
- category,
121
- createdFresh,
122
- });
123
- if (!result.ok) {
124
- // SMI-4314: stop spinner silently and throw typed error. The wrapper
125
- // prints the sanitized message exactly once.
126
- spinner.stop();
127
- throw new InitSkillError(chalk.red(`Failed to create skill: ${result.error}`));
128
- }
129
- spinner.succeed(`Created skill at ${skillDir}`);
130
- console.log(chalk.bold('\nNext steps:'));
131
- console.log(chalk.dim(` 1. cd ${skillDir}`));
132
- console.log(chalk.dim(' 2. Edit SKILL.md to customize your skill'));
133
- console.log(chalk.dim(' 3. Add scripts to the scripts/ directory'));
134
- console.log(chalk.dim(' 4. Run skillsmith validate to check your skill'));
135
- console.log(chalk.dim(' 5. Run skillsmith publish to prepare for sharing'));
136
- console.log();
137
- }
138
- /**
139
- * Validate a local SKILL.md file
140
- */
141
- export async function validateSkill(skillPath) {
142
- const spinner = ora('Validating skill...').start();
143
- try {
144
- // Resolve path
145
- let filePath = resolve(skillPath);
146
- // Check if it's a directory, look for SKILL.md
147
- try {
148
- const stats = await stat(filePath);
149
- if (stats.isDirectory()) {
150
- filePath = join(filePath, 'SKILL.md');
151
- }
152
- }
153
- catch {
154
- // If path doesn't exist, try adding SKILL.md
155
- if (!filePath.endsWith('.md')) {
156
- filePath = join(filePath, 'SKILL.md');
157
- }
158
- }
159
- // Read file
160
- const content = await readFile(filePath, 'utf-8');
161
- // Parse and validate
162
- const parser = new SkillParser({ requireName: true });
163
- const { validation, metadata, frontmatter } = parser.parseWithValidation(content);
164
- spinner.stop();
165
- printValidationResult(validation, filePath);
166
- if (metadata) {
167
- console.log(chalk.bold('Parsed Metadata:'));
168
- console.log(chalk.dim(` Name: ${metadata.name}`));
169
- console.log(chalk.dim(` Description: ${metadata.description || 'N/A'}`));
170
- console.log(chalk.dim(` Author: ${metadata.author || 'N/A'}`));
171
- console.log(chalk.dim(` Version: ${metadata.version || 'N/A'}`));
172
- console.log(chalk.dim(` Tags: ${metadata.tags.join(', ') || 'None'}`));
173
- console.log(chalk.dim(` Trust Tier: ${parser.inferTrustTier(metadata)}`));
174
- console.log();
175
- }
176
- if (frontmatter) {
177
- console.log(chalk.bold('Frontmatter Fields:'));
178
- for (const [key, value] of Object.entries(frontmatter)) {
179
- if (value !== undefined && value !== null) {
180
- const displayValue = Array.isArray(value) ? value.join(', ') : String(value);
181
- console.log(chalk.dim(` ${key}: ${displayValue}`));
182
- }
183
- }
184
- console.log();
185
- }
186
- return validation.valid;
187
- }
188
- catch (error) {
189
- spinner.fail(`Validation failed: ${sanitizeError(error)}`);
190
- return false;
191
- }
192
- }
193
- /**
194
- * Prepare skill for publishing
195
- * @returns true if publishing succeeded, false if validation failed
196
- */
197
- export async function publishSkill(skillPath, options = {}) {
198
- const spinner = ora('Preparing skill for publishing...').start();
199
- try {
200
- // Resolve path
201
- let dirPath = resolve(skillPath || '.');
202
- // Check if it's a file, get directory
203
- try {
204
- const stats = await stat(dirPath);
205
- if (!stats.isDirectory()) {
206
- dirPath = dirname(dirPath);
207
- }
208
- }
209
- catch {
210
- // Path doesn't exist
211
- spinner.fail(`Directory not found: ${dirPath}`);
212
- return false;
213
- }
214
- const skillMdPath = join(dirPath, 'SKILL.md');
215
- // Validate first
216
- spinner.text = 'Validating skill...';
217
- const content = await readFile(skillMdPath, 'utf-8');
218
- const parser = new SkillParser({ requireName: true });
219
- const { validation, metadata } = parser.parseWithValidation(content);
220
- if (!validation.valid) {
221
- spinner.fail('Skill validation failed');
222
- printValidationResult(validation, skillMdPath);
223
- return false;
224
- }
225
- if (!metadata) {
226
- spinner.fail('Could not parse skill metadata');
227
- return false;
228
- }
229
- // Generate checksum
230
- spinner.text = 'Generating checksum...';
231
- const checksum = createHash('sha256').update(content).digest('hex');
232
- // Create publish info
233
- const publishInfo = {
234
- name: metadata.name,
235
- version: metadata.version || '1.0.0',
236
- checksum,
237
- publishedAt: new Date().toISOString(),
238
- trustTier: parser.inferTrustTier(metadata),
239
- };
240
- // SMI-2439: Check for project-specific references
241
- if (options.checkReferences) {
242
- spinner.text = 'Scanning for project-specific references...';
243
- // Read all .md files in skill directory (max 20)
244
- const allFiles = await readdir(dirPath, { recursive: true });
245
- const mdFiles = allFiles.filter((f) => f.endsWith('.md')).slice(0, 20);
246
- if (allFiles.filter((f) => f.endsWith('.md')).length > 20) {
247
- console.log(chalk.yellow('\n ⚠️ More than 20 .md files found — scanning first 20 only'));
248
- }
249
- // Parse custom patterns if provided
250
- const customPatterns = options.referencePatterns
251
- ?.map((p) => {
252
- if (p.length > 200) {
253
- console.log(chalk.yellow(` ⚠️ Regex pattern too long (max 200 chars): ${p.slice(0, 40)}...`));
254
- return null;
255
- }
256
- try {
257
- return new RegExp(p, 'g');
258
- }
259
- catch {
260
- console.log(chalk.yellow(` ⚠️ Invalid regex pattern: ${p}`));
261
- return null;
262
- }
263
- })
264
- .filter((p) => p !== null);
265
- let totalWarnings = 0;
266
- for (const mdFile of mdFiles) {
267
- const filePath = join(dirPath, mdFile);
268
- const fileContent = await readFile(filePath, 'utf-8');
269
- const result = SkillParser.checkReferences(fileContent, customPatterns);
270
- if (result.matches.length > 0) {
271
- totalWarnings += result.matches.length;
272
- spinner.stop();
273
- console.log(chalk.yellow(`\n References in ${mdFile}:`));
274
- for (const match of result.matches) {
275
- const truncated = match.text.length > 80 ? match.text.slice(0, 80) + '...' : match.text;
276
- console.log(chalk.dim(` L${match.line}: ${truncated} (${match.pattern})`));
277
- }
278
- spinner.start();
279
- }
280
- }
281
- if (totalWarnings > 0) {
282
- spinner.stop();
283
- console.log(chalk.yellow(`\n ⚠️ Found ${totalWarnings} project-specific reference(s) across ${mdFiles.length} file(s)`));
284
- console.log(chalk.dim(' These may leak internal project details. Review before publishing.'));
285
- spinner.start();
286
- }
287
- }
288
- // Write publish manifest
289
- const manifestPath = join(dirPath, '.skillsmith-publish.json');
290
- await writeFile(manifestPath, JSON.stringify(publishInfo, null, 2), 'utf-8');
291
- spinner.succeed('Skill prepared for publishing');
292
- console.log(chalk.bold('\nPublish Information:'));
293
- console.log(chalk.dim(` Name: ${publishInfo.name}`));
294
- console.log(chalk.dim(` Version: ${publishInfo.version}`));
295
- console.log(chalk.dim(` Checksum: ${publishInfo.checksum.slice(0, 16)}...`));
296
- console.log(chalk.dim(` Trust Tier: ${publishInfo.trustTier}`));
297
- console.log();
298
- console.log(chalk.bold('To share this skill:'));
299
- console.log(chalk.cyan('\n Option 1: GitHub'));
300
- console.log(chalk.dim(' 1. Push to a GitHub repository'));
301
- console.log(chalk.dim(' 2. Add topic "claude-skill" to the repository'));
302
- console.log(chalk.dim(' 3. The skill will be automatically discovered'));
303
- console.log(chalk.cyan('\n Option 2: Manual Installation'));
304
- console.log(chalk.dim(` 1. Share the ${dirPath} directory`));
305
- console.log(chalk.dim(' 2. Users can copy to ~/.claude/skills/'));
306
- console.log(chalk.cyan('\n Option 3: Archive'));
307
- console.log(chalk.dim(` 1. Create archive: tar -czf ${metadata.name}.tar.gz ${dirPath}`));
308
- console.log(chalk.dim(' 2. Share the archive'));
309
- console.log();
310
- return true;
311
- }
312
- catch (error) {
313
- spinner.fail(`Publishing failed: ${sanitizeError(error)}`);
314
- return false;
315
- }
316
- }
317
- // SMI-5129: the `init` / `validate` / `publish` command factories + their
318
- // withTelemetry-wrapped actions live in ./init.action.ts (sibling-split to keep
319
- // this file under the 500-LOC gate). They import the logic functions above.
320
- //# sourceMappingURL=init.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../../../src/commands/author/init.ts"],"names":[],"mappings":"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"}
@@ -1,21 +0,0 @@
1
- /**
2
- * SMI-1433: MCP Server Scaffolding
3
- *
4
- * Initialize new MCP server projects with proper structure.
5
- */
6
- import { Command } from 'commander';
7
- export interface McpInitOptions {
8
- output?: string | undefined;
9
- tools?: string | undefined;
10
- force?: boolean | undefined;
11
- }
12
- /**
13
- * SMI-1433: Initialize a new MCP server project
14
- */
15
- export declare function initMcpServer(name: string | undefined, options: McpInitOptions): Promise<void>;
16
- export declare const mcpInitAction: (name: string | undefined, opts: Record<string, string | boolean | undefined>) => Promise<void>;
17
- /**
18
- * Create mcp-init command
19
- */
20
- export declare function createMcpInitCommand(): Command;
21
- //# sourceMappingURL=mcp-init.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mcp-init.d.ts","sourceRoot":"","sources":["../../../../src/commands/author/mcp-init.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAWnC,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC1B,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;CAC5B;AAED;;GAEG;AACH,wBAAsB,aAAa,CACjC,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,IAAI,CAAC,CAkLf;AAmBD,eAAO,MAAM,aAAa,iGAIxB,CAAA;AAEF;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,OAAO,CAQ9C"}
@@ -1,202 +0,0 @@
1
- /**
2
- * SMI-1433: MCP Server Scaffolding
3
- *
4
- * Initialize new MCP server projects with proper structure.
5
- */
6
- import { Command } from 'commander';
7
- import { input, confirm } from '@inquirer/prompts';
8
- import chalk from 'chalk';
9
- import { withTelemetry } from '@skillsmith/core/telemetry';
10
- import ora from 'ora';
11
- import { mkdir, writeFile, stat } from 'fs/promises';
12
- import { dirname, join, resolve } from 'path';
13
- import { renderMcpServerTemplates } from '../../templates/index.js';
14
- import { sanitizeError } from '../../utils/sanitize.js';
15
- /**
16
- * SMI-1433: Initialize a new MCP server project
17
- */
18
- export async function initMcpServer(name, options) {
19
- // Interactive prompts if name not provided
20
- const serverName = name ||
21
- (await input({
22
- message: 'MCP server name:',
23
- validate: (value) => {
24
- if (!value.trim())
25
- return 'Name is required';
26
- if (!/^[a-z][a-z0-9-]*$/.test(value)) {
27
- return 'Name must be lowercase, start with a letter, and contain only letters, numbers, and hyphens';
28
- }
29
- return true;
30
- },
31
- }));
32
- // Validate CLI-provided name (interactive path already validates via prompt)
33
- if (name) {
34
- if (!name.trim()) {
35
- console.error(chalk.red('Invalid server name: Name is required'));
36
- process.exit(1);
37
- }
38
- if (!/^[a-z][a-z0-9-]*$/.test(name)) {
39
- console.error(chalk.red('Invalid server name: must be lowercase, start with a letter, and contain only letters, numbers, and hyphens'));
40
- process.exit(1);
41
- }
42
- }
43
- const description = await input({
44
- message: 'Description:',
45
- default: `An MCP server for ${serverName}`,
46
- });
47
- const author = await input({
48
- message: 'Author:',
49
- default: process.env['USER'] || 'author',
50
- });
51
- // Parse initial tools if provided
52
- const initialTools = [];
53
- const toolNameRegex = /^[a-z][a-z0-9_-]*$/;
54
- if (options.tools) {
55
- const toolNames = options.tools
56
- .split(',')
57
- .map((t) => t.trim())
58
- .filter((t) => t.length > 0);
59
- for (const toolName of toolNames) {
60
- if (!toolNameRegex.test(toolName)) {
61
- console.log(chalk.red(`Invalid tool name: ${toolName}. Must be lowercase, start with a letter, and contain only letters, numbers, underscores, and hyphens.`));
62
- return;
63
- }
64
- initialTools.push({
65
- name: toolName,
66
- description: `${toolName} tool`,
67
- parameters: [],
68
- });
69
- }
70
- }
71
- // Ask about tools if none specified
72
- if (initialTools.length === 0) {
73
- const addTools = await confirm({
74
- message: 'Would you like to define initial tools interactively?',
75
- default: false,
76
- });
77
- if (addTools) {
78
- let addMore = true;
79
- while (addMore) {
80
- const toolName = await input({
81
- message: 'Tool name:',
82
- validate: (value) => {
83
- if (!value.trim())
84
- return 'Tool name is required';
85
- if (!/^[a-z][a-z0-9_-]*$/.test(value)) {
86
- return 'Tool name must be lowercase with letters, numbers, underscores, and hyphens';
87
- }
88
- return true;
89
- },
90
- });
91
- const toolDescription = await input({
92
- message: 'Tool description:',
93
- default: `${toolName} tool`,
94
- });
95
- initialTools.push({
96
- name: toolName,
97
- description: toolDescription,
98
- parameters: [],
99
- });
100
- addMore = await confirm({
101
- message: 'Add another tool?',
102
- default: false,
103
- });
104
- }
105
- }
106
- }
107
- const targetDir = options.output ? resolve(options.output) : resolve('.', serverName);
108
- // Check if directory already exists
109
- try {
110
- await stat(targetDir);
111
- if (!options.force) {
112
- const overwrite = await confirm({
113
- message: `Directory ${targetDir} already exists. Overwrite?`,
114
- default: false,
115
- });
116
- if (!overwrite) {
117
- console.log(chalk.yellow('Initialization cancelled'));
118
- return;
119
- }
120
- }
121
- }
122
- catch {
123
- // Directory doesn't exist, continue
124
- }
125
- const spinner = ora('Creating MCP server...').start();
126
- try {
127
- // Generate templates
128
- const files = renderMcpServerTemplates({
129
- name: serverName,
130
- description,
131
- tools: initialTools,
132
- author,
133
- });
134
- // Create directory structure
135
- await mkdir(targetDir, { recursive: true });
136
- await mkdir(join(targetDir, 'src'), { recursive: true });
137
- await mkdir(join(targetDir, 'src', 'tools'), { recursive: true });
138
- // Write all files
139
- for (const [filePath, content] of files) {
140
- const fullPath = join(targetDir, filePath);
141
- const dir = dirname(fullPath);
142
- await mkdir(dir, { recursive: true });
143
- await writeFile(fullPath, content, 'utf-8');
144
- }
145
- spinner.succeed(`Created MCP server at ${targetDir}`);
146
- console.log(chalk.bold('\nNext steps:'));
147
- console.log(chalk.dim(` 1. cd ${targetDir}`));
148
- console.log(chalk.dim(' 2. npm install'));
149
- console.log(chalk.dim(' 3. npm run dev # Run in development mode'));
150
- console.log(chalk.dim(' 4. Edit src/tools/ to add your tool implementations'));
151
- console.log();
152
- console.log(chalk.bold('Configure in Claude Code:'));
153
- console.log(chalk.cyan('─'.repeat(50)));
154
- console.log(chalk.dim(`Add to ~/.claude/settings.json:`));
155
- console.log(chalk.white(`{
156
- "mcpServers": {
157
- "${serverName}": {
158
- "command": "npx",
159
- "args": ["tsx", "${join(targetDir, 'src', 'index.ts')}"]
160
- }
161
- }
162
- }`));
163
- console.log(chalk.cyan('─'.repeat(50)));
164
- console.log();
165
- }
166
- catch (error) {
167
- spinner.fail(`Failed to create MCP server: ${sanitizeError(error)}`);
168
- throw error;
169
- }
170
- }
171
- // SMI-5129: extracted from inline .action() closure so withTelemetry can wrap it.
172
- async function mcpInitActionImpl(name, opts) {
173
- try {
174
- await initMcpServer(name, {
175
- output: opts['output'],
176
- tools: opts['tools'],
177
- force: opts['force'],
178
- });
179
- }
180
- catch (error) {
181
- console.error(chalk.red('Error creating MCP server:'), sanitizeError(error));
182
- process.exit(1);
183
- }
184
- }
185
- export const mcpInitAction = withTelemetry(mcpInitActionImpl, {
186
- source: 'cli',
187
- extractSkillId: () => 'author mcp-init',
188
- extractFramework: () => 'cli',
189
- });
190
- /**
191
- * Create mcp-init command
192
- */
193
- export function createMcpInitCommand() {
194
- return new Command('mcp-init')
195
- .description('Scaffold a new MCP server project')
196
- .argument('[name]', 'MCP server name')
197
- .option('-o, --output <path>', 'Output directory')
198
- .option('--tools <tools>', 'Initial tools (comma-separated)')
199
- .option('--force', 'Overwrite existing directory')
200
- .action(mcpInitAction);
201
- }
202
- //# sourceMappingURL=mcp-init.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mcp-init.js","sourceRoot":"","sources":["../../../../src/commands/author/mcp-init.ts"],"names":[],"mappings":"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"}
@@ -1,23 +0,0 @@
1
- /**
2
- * SMI-1389: Subagent Generation Command
3
- *
4
- * Generate companion subagent definitions for skills.
5
- */
6
- import { Command } from 'commander';
7
- export interface SubagentOptions {
8
- output?: string | undefined;
9
- tools?: string | undefined;
10
- model?: string | undefined;
11
- skipClaudeMd?: boolean | undefined;
12
- force?: boolean | undefined;
13
- }
14
- /**
15
- * SMI-1389: Generate a companion subagent for a skill
16
- */
17
- export declare function generateSubagent(skillPath: string, options: SubagentOptions): Promise<void>;
18
- export declare const subagentAction: (skillPath: string, opts: Record<string, string | boolean | undefined>) => Promise<void>;
19
- /**
20
- * Create subagent command
21
- */
22
- export declare function createSubagentCommand(): Command;
23
- //# sourceMappingURL=subagent.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"subagent.d.ts","sourceRoot":"","sources":["../../../../src/commands/author/subagent.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAwBnC,MAAM,WAAW,eAAe;IAC9B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC1B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC1B,YAAY,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IAClC,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;CAC5B;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAsIjG;AAqBD,eAAO,MAAM,cAAc,0FAIzB,CAAA;AAEF;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,OAAO,CAU/C"}