@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,324 +0,0 @@
1
- /**
2
- * E2E Test: skillsmith search command
3
- *
4
- * Tests the search command including interactive mode
5
- * in a clean Codespace environment.
6
- *
7
- * User Journey: Find and explore skills
8
- */
9
- import { describe, it, expect, beforeAll, afterAll } from 'vitest';
10
- import { spawn } from 'child_process';
11
- import { existsSync, rmSync, mkdirSync } from 'fs';
12
- import { join, dirname } from 'path';
13
- import { tmpdir } from 'os';
14
- import { fileURLToPath } from 'url';
15
- import { scanCommandOutput } from './utils/hardcoded-detector.js';
16
- import { recordTiming, measureAsync } from './utils/baseline-collector.js';
17
- import { queueIssue } from './utils/linear-reporter.js';
18
- import { createDatabase, initializeSchema, SkillRepository } from '@skillsmith/core';
19
- import { buildRepoUrl, buildAnthropicRepoUrl } from './test-config.js';
20
- // ESM compatibility for __dirname
21
- const __filename = fileURLToPath(import.meta.url);
22
- const __dirname = dirname(__filename);
23
- // Test configuration
24
- const TEST_DIR = join(tmpdir(), 'skillsmith-e2e-search');
25
- const TEST_DB_PATH = join(TEST_DIR, 'search-test.db');
26
- const CLI_PATH = join(__dirname, '../../dist/src/index.js');
27
- // Seed data for search tests
28
- // Uses configurable URLs from test-config.ts to avoid hardcoded values
29
- const SEED_SKILLS = [
30
- {
31
- id: 'anthropic/commit',
32
- name: 'commit',
33
- description: 'Generate semantic commit messages following conventional commits',
34
- author: 'anthropic',
35
- repoUrl: buildAnthropicRepoUrl('commit'),
36
- qualityScore: 0.95,
37
- trustTier: 'verified',
38
- tags: ['development', 'git', 'commit'],
39
- },
40
- {
41
- id: 'community/jest-helper',
42
- name: 'jest-helper',
43
- description: 'Generate Jest test cases for React components',
44
- author: 'community',
45
- repoUrl: buildRepoUrl('jest-helper'),
46
- qualityScore: 0.87,
47
- trustTier: 'community',
48
- tags: ['testing', 'jest', 'react'],
49
- },
50
- {
51
- id: 'community/docker-compose',
52
- name: 'docker-compose',
53
- description: 'Generate and manage Docker Compose configurations',
54
- author: 'community',
55
- repoUrl: buildRepoUrl('docker-compose'),
56
- qualityScore: 0.84,
57
- trustTier: 'community',
58
- tags: ['devops', 'docker'],
59
- },
60
- {
61
- id: 'experimental/ai-debug',
62
- name: 'ai-debug',
63
- description: 'AI-powered debugging assistant for complex issues',
64
- author: 'experimental',
65
- repoUrl: buildRepoUrl('ai-debug'),
66
- qualityScore: 0.65,
67
- trustTier: 'experimental',
68
- tags: ['debugging', 'ai'],
69
- },
70
- ];
71
- /**
72
- * Execute CLI command and capture output
73
- */
74
- async function runCommand(args, timeoutMs = 30000) {
75
- return new Promise((resolve, reject) => {
76
- const startTime = Date.now();
77
- let stdout = '';
78
- let stderr = '';
79
- const proc = spawn('node', [CLI_PATH, ...args], {
80
- env: {
81
- ...process.env,
82
- NODE_ENV: 'test',
83
- SKILLSMITH_E2E: 'true',
84
- },
85
- });
86
- const timeout = setTimeout(() => {
87
- proc.kill('SIGTERM');
88
- reject(new Error(`Command timed out after ${timeoutMs}ms`));
89
- }, timeoutMs);
90
- proc.stdout.on('data', (data) => {
91
- stdout += data.toString();
92
- });
93
- proc.stderr.on('data', (data) => {
94
- stderr += data.toString();
95
- });
96
- proc.on('close', (code) => {
97
- clearTimeout(timeout);
98
- resolve({
99
- exitCode: code ?? 1,
100
- stdout,
101
- stderr,
102
- durationMs: Date.now() - startTime,
103
- });
104
- });
105
- proc.on('error', (error) => {
106
- clearTimeout(timeout);
107
- reject(error);
108
- });
109
- });
110
- }
111
- /**
112
- * Assert no hardcoded values in command output
113
- */
114
- function assertNoHardcoded(result, command, testName, testFile) {
115
- const detection = scanCommandOutput(result.stdout, result.stderr, command);
116
- if (!detection.passed) {
117
- const failure = {
118
- testName,
119
- testFile,
120
- command,
121
- error: `Hardcoded values detected`,
122
- stdout: result.stdout,
123
- stderr: result.stderr,
124
- hardcodedIssues: detection.issues,
125
- duration: result.durationMs,
126
- timestamp: new Date().toISOString(),
127
- };
128
- queueIssue(failure);
129
- const errorDetails = detection.issues
130
- .filter((i) => i.severity === 'error')
131
- .map((i) => ` - ${i.type}: ${i.value}`)
132
- .join('\n');
133
- expect.fail(`Hardcoded values detected:\n${errorDetails}`);
134
- }
135
- }
136
- describe('E2E: skillsmith search', () => {
137
- beforeAll(() => {
138
- // Create test directory and seed database
139
- if (existsSync(TEST_DIR)) {
140
- rmSync(TEST_DIR, { recursive: true, force: true });
141
- }
142
- mkdirSync(TEST_DIR, { recursive: true });
143
- // Initialize and seed database
144
- const db = createDatabase(TEST_DB_PATH);
145
- initializeSchema(db);
146
- const skillRepo = new SkillRepository(db);
147
- for (const skill of SEED_SKILLS) {
148
- skillRepo.create(skill);
149
- }
150
- db.close();
151
- });
152
- afterAll(() => {
153
- if (existsSync(TEST_DIR)) {
154
- rmSync(TEST_DIR, { recursive: true, force: true });
155
- }
156
- });
157
- describe('Basic Search', () => {
158
- it('should display help without errors', async () => {
159
- const result = await runCommand(['search', '--help']);
160
- expect(result.exitCode).toBe(0);
161
- expect(result.stdout).toContain('Search for skills');
162
- expect(result.stdout).toContain('--limit');
163
- // Skip hardcoded check for help output since it includes default values (e.g., database path)
164
- if (!result.stdout.includes('Usage:')) {
165
- assertNoHardcoded(result, 'skillsmith search --help', 'search: help', __filename);
166
- }
167
- });
168
- it('should search for skills by query', async () => {
169
- const result = await runCommand(['search', 'commit', '-d', TEST_DB_PATH]);
170
- recordTiming('search:query', 'skillsmith search commit', result.durationMs);
171
- expect(result.exitCode).toBe(0);
172
- expect(result.stdout).toContain('commit');
173
- assertNoHardcoded(result, 'skillsmith search commit', 'search: basic query', __filename);
174
- });
175
- it('should return results within performance threshold', async () => {
176
- const { durationMs } = await measureAsync('search:performance', 'skillsmith search test', async () => runCommand(['search', 'test', '-d', TEST_DB_PATH]));
177
- // Search should complete in under 2000ms for seeded data
178
- // CI environments have variable performance, so we use a generous threshold
179
- expect(durationMs).toBeLessThan(2000);
180
- });
181
- it('should handle empty results gracefully', async () => {
182
- const result = await runCommand(['search', 'nonexistentquery12345', '-d', TEST_DB_PATH]);
183
- // Should not crash, may show "no results" message
184
- expect(result.exitCode).toBe(0);
185
- assertNoHardcoded(result, 'skillsmith search nonexistent', 'search: empty results', __filename);
186
- });
187
- });
188
- describe('Filter Options', () => {
189
- it('should filter by trust tier', async () => {
190
- const result = await runCommand(['search', 'test', '-d', TEST_DB_PATH, '-t', 'verified']);
191
- expect(result.exitCode).toBe(0);
192
- // If results shown, should only be verified tier
193
- if (result.stdout.includes('anthropic/commit')) {
194
- expect(result.stdout).not.toContain('experimental');
195
- }
196
- assertNoHardcoded(result, 'skillsmith search -t verified', 'search: trust tier filter', __filename);
197
- });
198
- it('should filter by minimum score', async () => {
199
- const result = await runCommand(['search', 'docker', '-d', TEST_DB_PATH, '-s', '80']);
200
- expect(result.exitCode).toBe(0);
201
- assertNoHardcoded(result, 'skillsmith search -s 80', 'search: min score filter', __filename);
202
- });
203
- it('should respect limit parameter', async () => {
204
- const result = await runCommand(['search', 'test', '-d', TEST_DB_PATH, '-l', '1']);
205
- expect(result.exitCode).toBe(0);
206
- assertNoHardcoded(result, 'skillsmith search -l 1', 'search: limit', __filename);
207
- });
208
- });
209
- describe('Output Format', () => {
210
- it('should display skill information in readable format', async () => {
211
- const result = await runCommand(['search', 'commit', '-d', TEST_DB_PATH]);
212
- expect(result.exitCode).toBe(0);
213
- // Output should contain skill details
214
- const output = result.stdout;
215
- expect(output).toMatch(/commit|Commit/i);
216
- assertNoHardcoded(result, 'skillsmith search output', 'search: output format', __filename);
217
- });
218
- it('should not expose internal paths in output', async () => {
219
- const result = await runCommand(['search', 'commit', '-d', TEST_DB_PATH]);
220
- const output = result.stdout + result.stderr;
221
- // Should not expose file system paths
222
- expect(output).not.toMatch(/\/Users\/[a-zA-Z0-9_-]+\//);
223
- expect(output).not.toMatch(/node_modules/);
224
- expect(output).not.toMatch(/dist\//);
225
- });
226
- });
227
- describe('Error Handling', () => {
228
- it('should reject empty query', async () => {
229
- const result = await runCommand(['search', '', '-d', TEST_DB_PATH]);
230
- // Should fail or prompt for query
231
- assertNoHardcoded(result, 'skillsmith search ""', 'search: empty query', __filename);
232
- });
233
- // Note: Single character query test removed per ADR-019.
234
- // Filter-only search allows single character queries.
235
- // See 'Filter-only search' > 'should accept single character query' for current behavior.
236
- it('should handle missing database gracefully', async () => {
237
- const result = await runCommand(['search', 'test', '-d', '/nonexistent/db.db']);
238
- // Should fail gracefully
239
- expect(result.exitCode).not.toBe(0);
240
- assertNoHardcoded(result, 'skillsmith search -d missing', 'search: missing db', __filename);
241
- });
242
- it('should handle invalid trust tier', async () => {
243
- const result = await runCommand(['search', 'test', '-d', TEST_DB_PATH, '-t', 'invalid']);
244
- // Should either fail or ignore invalid tier
245
- assertNoHardcoded(result, 'skillsmith search -t invalid', 'search: invalid tier', __filename);
246
- });
247
- });
248
- /**
249
- * Filter-only search tests (ADR-019)
250
- *
251
- * These tests validate the ability to search with filters alone,
252
- * without requiring a query string. This enables browsing by tier
253
- * or category.
254
- *
255
- * TDD RED PHASE: These tests are expected to FAIL until implementation.
256
- */
257
- describe('Filter-only search', () => {
258
- it('should search with --tier flag only (no query)', async () => {
259
- const result = await runCommand(['search', '--tier', 'verified', '-d', TEST_DB_PATH]);
260
- // Should return results or "no results" message, not an error
261
- expect(result.exitCode).toBe(0);
262
- expect(result.stderr).not.toContain('Error');
263
- assertNoHardcoded(result, 'skillsmith search --tier verified', 'search: tier-only filter', __filename);
264
- });
265
- it('should search with --category flag only (no query)', async () => {
266
- const result = await runCommand(['search', '--category', 'testing', '-d', TEST_DB_PATH]);
267
- // Should return results or "no results" message, not an error
268
- expect(result.exitCode).toBe(0);
269
- expect(result.stderr).not.toContain('Error');
270
- assertNoHardcoded(result, 'skillsmith search --category testing', 'search: category-only filter', __filename);
271
- });
272
- it('should show guidance when no query and no filters', async () => {
273
- const result = await runCommand(['search', '-d', TEST_DB_PATH]);
274
- // Should prompt user for query or suggest using filters or interactive mode
275
- const output = result.stdout + result.stderr;
276
- expect(output).toMatch(/query|filter|-i|interactive/i);
277
- });
278
- it('should accept single character query', async () => {
279
- const result = await runCommand(['search', 'a', '-d', TEST_DB_PATH]);
280
- // Should succeed - single char queries are now allowed
281
- expect(result.exitCode).toBe(0);
282
- // Should NOT show the "at least 2 characters" validation error
283
- expect(result.stderr).not.toContain('2 characters');
284
- expect(result.stderr).not.toContain('at least');
285
- assertNoHardcoded(result, 'skillsmith search a', 'search: single char query', __filename);
286
- });
287
- it('should combine query with filters', async () => {
288
- const result = await runCommand(['search', 'test', '--tier', 'community', '-d', TEST_DB_PATH]);
289
- expect(result.exitCode).toBe(0);
290
- assertNoHardcoded(result, 'skillsmith search test --tier community', 'search: query with filter', __filename);
291
- });
292
- it('should search with multiple filters (tier + category)', async () => {
293
- const result = await runCommand([
294
- 'search',
295
- '--tier',
296
- 'community',
297
- '--category',
298
- 'testing',
299
- '-d',
300
- TEST_DB_PATH,
301
- ]);
302
- expect(result.exitCode).toBe(0);
303
- expect(result.stderr).not.toContain('Error');
304
- assertNoHardcoded(result, 'skillsmith search --tier community --category testing', 'search: multi-filter', __filename);
305
- });
306
- });
307
- describe('Hardcoded Value Regression', () => {
308
- it('should not contain hardcoded database paths', async () => {
309
- const result = await runCommand(['search', 'docker', '-d', TEST_DB_PATH]);
310
- const output = result.stdout + result.stderr;
311
- // Check for common hardcoded DB paths
312
- expect(output).not.toContain('.skillsmith/skills.db');
313
- expect(output).not.toMatch(/~\/\.skillsmith/);
314
- });
315
- it('should not expose environment variables', async () => {
316
- const result = await runCommand(['search', 'test', '-d', TEST_DB_PATH]);
317
- const output = result.stdout + result.stderr;
318
- // Should not expose env var values
319
- expect(output).not.toMatch(/GITHUB_TOKEN=/);
320
- expect(output).not.toMatch(/LINEAR_API_KEY=/);
321
- });
322
- });
323
- });
324
- //# sourceMappingURL=search.e2e.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"search.e2e.test.js","sourceRoot":"","sources":["../../../tests/e2e/search.e2e.test.ts"],"names":[],"mappings":"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"}
@@ -1,39 +0,0 @@
1
- /**
2
- * E2E Test Configuration
3
- *
4
- * Centralizes configurable values for E2E tests to avoid hardcoded URLs
5
- * and make tests adaptable to different environments.
6
- */
7
- /**
8
- * Base URL for test repository references.
9
- * Used to construct mock skill repository URLs in seed data.
10
- *
11
- * Can be overridden via TEST_REPO_URL_BASE environment variable.
12
- *
13
- * @default 'https://github.com/skillsmith-community'
14
- */
15
- export declare const TEST_REPO_URL_BASE: string;
16
- /**
17
- * Anthropic official skills repository base URL.
18
- * Used for verified/official skill references.
19
- *
20
- * Can be overridden via TEST_ANTHROPIC_REPO_URL environment variable.
21
- *
22
- * @default 'https://github.com/anthropics/claude-code/tree/main/skills'
23
- */
24
- export declare const TEST_ANTHROPIC_REPO_URL: string;
25
- /**
26
- * Build a skill repository URL using the configured base.
27
- *
28
- * @param skillName - Name of the skill (e.g., 'jest-helper')
29
- * @returns Full repository URL
30
- */
31
- export declare function buildRepoUrl(skillName: string): string;
32
- /**
33
- * Build an Anthropic official skill repository URL.
34
- *
35
- * @param skillName - Name of the skill (e.g., 'commit')
36
- * @returns Full repository URL
37
- */
38
- export declare function buildAnthropicRepoUrl(skillName: string): string;
39
- //# sourceMappingURL=test-config.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"test-config.d.ts","sourceRoot":"","sources":["../../../tests/e2e/test-config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;;;;GAOG;AACH,eAAO,MAAM,kBAAkB,QACiD,CAAA;AAEhF;;;;;;;GAOG;AACH,eAAO,MAAM,uBAAuB,QAE0B,CAAA;AAE9D;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAE/D"}
@@ -1,44 +0,0 @@
1
- /**
2
- * E2E Test Configuration
3
- *
4
- * Centralizes configurable values for E2E tests to avoid hardcoded URLs
5
- * and make tests adaptable to different environments.
6
- */
7
- /**
8
- * Base URL for test repository references.
9
- * Used to construct mock skill repository URLs in seed data.
10
- *
11
- * Can be overridden via TEST_REPO_URL_BASE environment variable.
12
- *
13
- * @default 'https://github.com/skillsmith-community'
14
- */
15
- export const TEST_REPO_URL_BASE = process.env['TEST_REPO_URL_BASE'] || 'https://github.com/skillsmith-community';
16
- /**
17
- * Anthropic official skills repository base URL.
18
- * Used for verified/official skill references.
19
- *
20
- * Can be overridden via TEST_ANTHROPIC_REPO_URL environment variable.
21
- *
22
- * @default 'https://github.com/anthropics/claude-code/tree/main/skills'
23
- */
24
- export const TEST_ANTHROPIC_REPO_URL = process.env['TEST_ANTHROPIC_REPO_URL'] ||
25
- 'https://github.com/anthropics/claude-code/tree/main/skills';
26
- /**
27
- * Build a skill repository URL using the configured base.
28
- *
29
- * @param skillName - Name of the skill (e.g., 'jest-helper')
30
- * @returns Full repository URL
31
- */
32
- export function buildRepoUrl(skillName) {
33
- return `${TEST_REPO_URL_BASE}/${skillName}`;
34
- }
35
- /**
36
- * Build an Anthropic official skill repository URL.
37
- *
38
- * @param skillName - Name of the skill (e.g., 'commit')
39
- * @returns Full repository URL
40
- */
41
- export function buildAnthropicRepoUrl(skillName) {
42
- return `${TEST_ANTHROPIC_REPO_URL}/${skillName}`;
43
- }
44
- //# sourceMappingURL=test-config.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"test-config.js","sourceRoot":"","sources":["../../../tests/e2e/test-config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAC7B,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,IAAI,yCAAyC,CAAA;AAEhF;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAClC,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC;IACtC,4DAA4D,CAAA;AAE9D;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,SAAiB;IAC5C,OAAO,GAAG,kBAAkB,IAAI,SAAS,EAAE,CAAA;AAC7C,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CAAC,SAAiB;IACrD,OAAO,GAAG,uBAAuB,IAAI,SAAS,EAAE,CAAA;AAClD,CAAC"}
@@ -1,107 +0,0 @@
1
- /**
2
- * Performance Baseline Collector
3
- *
4
- * Captures timing and resource metrics during E2E tests
5
- * to establish baselines for future performance tracking.
6
- *
7
- * @see docs/testing/e2e-testing-plan.md
8
- */
9
- export interface TimingMetric {
10
- name: string;
11
- command: string;
12
- durationMs: number;
13
- timestamp: string;
14
- }
15
- export interface MemoryMetric {
16
- name: string;
17
- command: string;
18
- heapUsedMB: number;
19
- heapTotalMB: number;
20
- externalMB: number;
21
- timestamp: string;
22
- }
23
- export interface PercentileStats {
24
- min: number;
25
- max: number;
26
- median: number;
27
- mean: number;
28
- p95: number;
29
- p99: number;
30
- count: number;
31
- }
32
- export interface BaselineReport {
33
- timestamp: string;
34
- environment: {
35
- type: string;
36
- nodeVersion: string;
37
- platform: string;
38
- arch: string;
39
- };
40
- baselines: {
41
- [category: string]: {
42
- [metric: string]: PercentileStats | number;
43
- };
44
- };
45
- rawMetrics: {
46
- timing: TimingMetric[];
47
- memory: MemoryMetric[];
48
- };
49
- }
50
- /**
51
- * Record timing for a command execution
52
- */
53
- export declare function recordTiming(name: string, command: string, durationMs: number): void;
54
- /**
55
- * Record memory usage for a command execution
56
- */
57
- export declare function recordMemory(name: string, command: string): void;
58
- /**
59
- * Measure async function execution time
60
- */
61
- export declare function measureAsync<T>(name: string, command: string, fn: () => Promise<T>): Promise<{
62
- result: T;
63
- durationMs: number;
64
- }>;
65
- /**
66
- * Measure sync function execution time
67
- */
68
- export declare function measureSync<T>(name: string, command: string, fn: () => T): {
69
- result: T;
70
- durationMs: number;
71
- };
72
- /**
73
- * Generate baseline report from collected metrics
74
- */
75
- export declare function generateBaselineReport(): BaselineReport;
76
- /**
77
- * Export baseline report as JSON
78
- */
79
- export declare function exportBaselineJSON(): string;
80
- /**
81
- * Export baseline report as Markdown
82
- */
83
- export declare function exportBaselineMarkdown(): string;
84
- /**
85
- * Clear all collected metrics (for test isolation)
86
- */
87
- export declare function clearMetrics(): void;
88
- /**
89
- * Get current metrics count
90
- */
91
- export declare function getMetricsCount(): {
92
- timing: number;
93
- memory: number;
94
- };
95
- declare const _default: {
96
- recordTiming: typeof recordTiming;
97
- recordMemory: typeof recordMemory;
98
- measureAsync: typeof measureAsync;
99
- measureSync: typeof measureSync;
100
- generateBaselineReport: typeof generateBaselineReport;
101
- exportBaselineJSON: typeof exportBaselineJSON;
102
- exportBaselineMarkdown: typeof exportBaselineMarkdown;
103
- clearMetrics: typeof clearMetrics;
104
- getMetricsCount: typeof getMetricsCount;
105
- };
106
- export default _default;
107
- //# sourceMappingURL=baseline-collector.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"baseline-collector.d.ts","sourceRoot":"","sources":["../../../../tests/e2e/utils/baseline-collector.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE;QACX,IAAI,EAAE,MAAM,CAAA;QACZ,WAAW,EAAE,MAAM,CAAA;QACnB,QAAQ,EAAE,MAAM,CAAA;QAChB,IAAI,EAAE,MAAM,CAAA;KACb,CAAA;IACD,SAAS,EAAE;QACT,CAAC,QAAQ,EAAE,MAAM,GAAG;YAClB,CAAC,MAAM,EAAE,MAAM,GAAG,eAAe,GAAG,MAAM,CAAA;SAC3C,CAAA;KACF,CAAA;IACD,UAAU,EAAE;QACV,MAAM,EAAE,YAAY,EAAE,CAAA;QACtB,MAAM,EAAE,YAAY,EAAE,CAAA;KACvB,CAAA;CACF;AAMD;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAOpF;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAUhE;AAED;;GAEG;AACH,wBAAsB,YAAY,CAAC,CAAC,EAClC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GACnB,OAAO,CAAC;IAAE,MAAM,EAAE,CAAC,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC,CAS5C;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAC3B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,EAAE,EAAE,MAAM,CAAC,GACV;IAAE,MAAM,EAAE,CAAC,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CASnC;AAiDD;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,cAAc,CAmCvD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CAE3C;AAED;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,MAAM,CA+C/C;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,IAAI,CAGnC;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAKpE;;;;;;;;;;;;AAED,wBAUC"}