@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.
- package/CHANGELOG.md +5 -0
- package/dist/.tsbuildinfo +1 -1
- package/dist/cli.js +44039 -0
- package/package.json +21 -11
- package/dist/src/commands/__meta__/telemetry-coverage.test.d.ts +0 -20
- package/dist/src/commands/__meta__/telemetry-coverage.test.d.ts.map +0 -1
- package/dist/src/commands/__meta__/telemetry-coverage.test.js +0 -118
- package/dist/src/commands/__meta__/telemetry-coverage.test.js.map +0 -1
- package/dist/src/commands/ab-test.d.ts +0 -29
- package/dist/src/commands/ab-test.d.ts.map +0 -1
- package/dist/src/commands/ab-test.js +0 -226
- package/dist/src/commands/ab-test.js.map +0 -1
- package/dist/src/commands/ab-test.test.d.ts +0 -7
- package/dist/src/commands/ab-test.test.d.ts.map +0 -1
- package/dist/src/commands/ab-test.test.js +0 -255
- package/dist/src/commands/ab-test.test.js.map +0 -1
- package/dist/src/commands/analyze.d.ts +0 -14
- package/dist/src/commands/analyze.d.ts.map +0 -1
- package/dist/src/commands/analyze.js +0 -191
- package/dist/src/commands/analyze.js.map +0 -1
- package/dist/src/commands/audit-collisions.d.ts +0 -68
- package/dist/src/commands/audit-collisions.d.ts.map +0 -1
- package/dist/src/commands/audit-collisions.js +0 -309
- package/dist/src/commands/audit-collisions.js.map +0 -1
- package/dist/src/commands/audit-sources.action.d.ts +0 -37
- package/dist/src/commands/audit-sources.action.d.ts.map +0 -1
- package/dist/src/commands/audit-sources.action.js +0 -321
- package/dist/src/commands/audit-sources.action.js.map +0 -1
- package/dist/src/commands/audit-sources.d.ts +0 -37
- package/dist/src/commands/audit-sources.d.ts.map +0 -1
- package/dist/src/commands/audit-sources.js +0 -55
- package/dist/src/commands/audit-sources.js.map +0 -1
- package/dist/src/commands/audit-sources.test.d.ts +0 -9
- package/dist/src/commands/audit-sources.test.d.ts.map +0 -1
- package/dist/src/commands/audit-sources.test.js +0 -228
- package/dist/src/commands/audit-sources.test.js.map +0 -1
- package/dist/src/commands/audit.d.ts +0 -40
- package/dist/src/commands/audit.d.ts.map +0 -1
- package/dist/src/commands/audit.js +0 -223
- package/dist/src/commands/audit.js.map +0 -1
- package/dist/src/commands/audit.test.d.ts +0 -8
- package/dist/src/commands/audit.test.d.ts.map +0 -1
- package/dist/src/commands/audit.test.js +0 -97
- package/dist/src/commands/audit.test.js.map +0 -1
- package/dist/src/commands/author/index.d.ts +0 -17
- package/dist/src/commands/author/index.d.ts.map +0 -1
- package/dist/src/commands/author/index.js +0 -21
- package/dist/src/commands/author/index.js.map +0 -1
- package/dist/src/commands/author/init.action.d.ts +0 -29
- package/dist/src/commands/author/init.action.d.ts.map +0 -1
- package/dist/src/commands/author/init.action.js +0 -131
- package/dist/src/commands/author/init.action.js.map +0 -1
- package/dist/src/commands/author/init.d.ts +0 -36
- package/dist/src/commands/author/init.d.ts.map +0 -1
- package/dist/src/commands/author/init.helpers.d.ts +0 -80
- package/dist/src/commands/author/init.helpers.d.ts.map +0 -1
- package/dist/src/commands/author/init.helpers.js +0 -107
- package/dist/src/commands/author/init.helpers.js.map +0 -1
- package/dist/src/commands/author/init.js +0 -320
- package/dist/src/commands/author/init.js.map +0 -1
- package/dist/src/commands/author/mcp-init.d.ts +0 -21
- package/dist/src/commands/author/mcp-init.d.ts.map +0 -1
- package/dist/src/commands/author/mcp-init.js +0 -202
- package/dist/src/commands/author/mcp-init.js.map +0 -1
- package/dist/src/commands/author/subagent.d.ts +0 -23
- package/dist/src/commands/author/subagent.d.ts.map +0 -1
- package/dist/src/commands/author/subagent.js +0 -174
- package/dist/src/commands/author/subagent.js.map +0 -1
- package/dist/src/commands/author/transform.d.ts +0 -23
- package/dist/src/commands/author/transform.d.ts.map +0 -1
- package/dist/src/commands/author/transform.js +0 -149
- package/dist/src/commands/author/transform.js.map +0 -1
- package/dist/src/commands/author/utils.d.ts +0 -27
- package/dist/src/commands/author/utils.d.ts.map +0 -1
- package/dist/src/commands/author/utils.js +0 -118
- package/dist/src/commands/author/utils.js.map +0 -1
- package/dist/src/commands/config.d.ts +0 -57
- package/dist/src/commands/config.d.ts.map +0 -1
- package/dist/src/commands/config.js +0 -226
- package/dist/src/commands/config.js.map +0 -1
- package/dist/src/commands/create.d.ts +0 -43
- package/dist/src/commands/create.d.ts.map +0 -1
- package/dist/src/commands/create.js +0 -336
- package/dist/src/commands/create.js.map +0 -1
- package/dist/src/commands/diff.d.ts +0 -21
- package/dist/src/commands/diff.d.ts.map +0 -1
- package/dist/src/commands/diff.js +0 -227
- package/dist/src/commands/diff.js.map +0 -1
- package/dist/src/commands/diff.test.d.ts +0 -6
- package/dist/src/commands/diff.test.d.ts.map +0 -1
- package/dist/src/commands/diff.test.js +0 -327
- package/dist/src/commands/diff.test.js.map +0 -1
- package/dist/src/commands/import-local.d.ts +0 -28
- package/dist/src/commands/import-local.d.ts.map +0 -1
- package/dist/src/commands/import-local.helpers.d.ts +0 -28
- package/dist/src/commands/import-local.helpers.d.ts.map +0 -1
- package/dist/src/commands/import-local.helpers.js +0 -166
- package/dist/src/commands/import-local.helpers.js.map +0 -1
- package/dist/src/commands/import-local.js +0 -273
- package/dist/src/commands/import-local.js.map +0 -1
- package/dist/src/commands/import-local.types.d.ts +0 -59
- package/dist/src/commands/import-local.types.d.ts.map +0 -1
- package/dist/src/commands/import-local.types.js +0 -2
- package/dist/src/commands/import-local.types.js.map +0 -1
- package/dist/src/commands/import.d.ts +0 -47
- package/dist/src/commands/import.d.ts.map +0 -1
- package/dist/src/commands/import.js +0 -314
- package/dist/src/commands/import.js.map +0 -1
- package/dist/src/commands/index.d.ts +0 -28
- package/dist/src/commands/index.d.ts.map +0 -1
- package/dist/src/commands/index.js +0 -50
- package/dist/src/commands/index.js.map +0 -1
- package/dist/src/commands/info.d.ts +0 -19
- package/dist/src/commands/info.d.ts.map +0 -1
- package/dist/src/commands/info.js +0 -110
- package/dist/src/commands/info.js.map +0 -1
- package/dist/src/commands/install-skill.d.ts +0 -16
- package/dist/src/commands/install-skill.d.ts.map +0 -1
- package/dist/src/commands/install-skill.js +0 -155
- package/dist/src/commands/install-skill.js.map +0 -1
- package/dist/src/commands/install.d.ts +0 -34
- package/dist/src/commands/install.d.ts.map +0 -1
- package/dist/src/commands/install.js +0 -311
- package/dist/src/commands/install.js.map +0 -1
- package/dist/src/commands/inventory.action.d.ts +0 -55
- package/dist/src/commands/inventory.action.d.ts.map +0 -1
- package/dist/src/commands/inventory.action.js +0 -179
- package/dist/src/commands/inventory.action.js.map +0 -1
- package/dist/src/commands/inventory.action.test.d.ts +0 -19
- package/dist/src/commands/inventory.action.test.d.ts.map +0 -1
- package/dist/src/commands/inventory.action.test.js +0 -371
- package/dist/src/commands/inventory.action.test.js.map +0 -1
- package/dist/src/commands/inventory.d.ts +0 -21
- package/dist/src/commands/inventory.d.ts.map +0 -1
- package/dist/src/commands/inventory.js +0 -42
- package/dist/src/commands/inventory.js.map +0 -1
- package/dist/src/commands/login.d.ts +0 -7
- package/dist/src/commands/login.d.ts.map +0 -1
- package/dist/src/commands/login.js +0 -323
- package/dist/src/commands/login.js.map +0 -1
- package/dist/src/commands/login.test-helpers.d.ts +0 -7
- package/dist/src/commands/login.test-helpers.d.ts.map +0 -1
- package/dist/src/commands/login.test-helpers.js +0 -44
- package/dist/src/commands/login.test-helpers.js.map +0 -1
- package/dist/src/commands/login.test.d.ts +0 -2
- package/dist/src/commands/login.test.d.ts.map +0 -1
- package/dist/src/commands/login.test.js +0 -387
- package/dist/src/commands/login.test.js.map +0 -1
- package/dist/src/commands/logout.d.ts +0 -15
- package/dist/src/commands/logout.d.ts.map +0 -1
- package/dist/src/commands/logout.js +0 -54
- package/dist/src/commands/logout.js.map +0 -1
- package/dist/src/commands/logout.test.d.ts +0 -8
- package/dist/src/commands/logout.test.d.ts.map +0 -1
- package/dist/src/commands/logout.test.js +0 -137
- package/dist/src/commands/logout.test.js.map +0 -1
- package/dist/src/commands/manage.d.ts +0 -19
- package/dist/src/commands/manage.d.ts.map +0 -1
- package/dist/src/commands/manage.js +0 -346
- package/dist/src/commands/manage.js.map +0 -1
- package/dist/src/commands/merge.d.ts +0 -24
- package/dist/src/commands/merge.d.ts.map +0 -1
- package/dist/src/commands/merge.js +0 -168
- package/dist/src/commands/merge.js.map +0 -1
- package/dist/src/commands/pin.d.ts +0 -26
- package/dist/src/commands/pin.d.ts.map +0 -1
- package/dist/src/commands/pin.js +0 -138
- package/dist/src/commands/pin.js.map +0 -1
- package/dist/src/commands/pin.test.d.ts +0 -6
- package/dist/src/commands/pin.test.d.ts.map +0 -1
- package/dist/src/commands/pin.test.js +0 -206
- package/dist/src/commands/pin.test.js.map +0 -1
- package/dist/src/commands/recommend-scoring.d.ts +0 -29
- package/dist/src/commands/recommend-scoring.d.ts.map +0 -1
- package/dist/src/commands/recommend-scoring.js +0 -141
- package/dist/src/commands/recommend-scoring.js.map +0 -1
- package/dist/src/commands/recommend.d.ts +0 -15
- package/dist/src/commands/recommend.d.ts.map +0 -1
- package/dist/src/commands/recommend.helpers.d.ts +0 -44
- package/dist/src/commands/recommend.helpers.d.ts.map +0 -1
- package/dist/src/commands/recommend.helpers.js +0 -303
- package/dist/src/commands/recommend.helpers.js.map +0 -1
- package/dist/src/commands/recommend.js +0 -198
- package/dist/src/commands/recommend.js.map +0 -1
- package/dist/src/commands/recommend.types.d.ts +0 -66
- package/dist/src/commands/recommend.types.d.ts.map +0 -1
- package/dist/src/commands/recommend.types.js +0 -14
- package/dist/src/commands/recommend.types.js.map +0 -1
- package/dist/src/commands/run-registry-sync.d.ts +0 -31
- package/dist/src/commands/run-registry-sync.d.ts.map +0 -1
- package/dist/src/commands/run-registry-sync.js +0 -45
- package/dist/src/commands/run-registry-sync.js.map +0 -1
- package/dist/src/commands/search-formatters.d.ts +0 -36
- package/dist/src/commands/search-formatters.d.ts.map +0 -1
- package/dist/src/commands/search-formatters.js +0 -132
- package/dist/src/commands/search-formatters.js.map +0 -1
- package/dist/src/commands/search-types.d.ts +0 -46
- package/dist/src/commands/search-types.d.ts.map +0 -1
- package/dist/src/commands/search-types.js +0 -12
- package/dist/src/commands/search-types.js.map +0 -1
- package/dist/src/commands/search.action.d.ts +0 -16
- package/dist/src/commands/search.action.d.ts.map +0 -1
- package/dist/src/commands/search.action.js +0 -384
- package/dist/src/commands/search.action.js.map +0 -1
- package/dist/src/commands/search.d.ts +0 -18
- package/dist/src/commands/search.d.ts.map +0 -1
- package/dist/src/commands/search.helpers.d.ts +0 -52
- package/dist/src/commands/search.helpers.d.ts.map +0 -1
- package/dist/src/commands/search.helpers.js +0 -95
- package/dist/src/commands/search.helpers.js.map +0 -1
- package/dist/src/commands/search.js +0 -48
- package/dist/src/commands/search.js.map +0 -1
- package/dist/src/commands/search.test.d.ts +0 -10
- package/dist/src/commands/search.test.d.ts.map +0 -1
- package/dist/src/commands/search.test.js +0 -179
- package/dist/src/commands/search.test.js.map +0 -1
- package/dist/src/commands/sync.action.d.ts +0 -39
- package/dist/src/commands/sync.action.d.ts.map +0 -1
- package/dist/src/commands/sync.action.js +0 -353
- package/dist/src/commands/sync.action.js.map +0 -1
- package/dist/src/commands/sync.d.ts +0 -24
- package/dist/src/commands/sync.d.ts.map +0 -1
- package/dist/src/commands/sync.helpers.d.ts +0 -55
- package/dist/src/commands/sync.helpers.d.ts.map +0 -1
- package/dist/src/commands/sync.helpers.js +0 -90
- package/dist/src/commands/sync.helpers.js.map +0 -1
- package/dist/src/commands/sync.js +0 -101
- package/dist/src/commands/sync.js.map +0 -1
- package/dist/src/commands/telemetry.action.d.ts +0 -38
- package/dist/src/commands/telemetry.action.d.ts.map +0 -1
- package/dist/src/commands/telemetry.action.js +0 -350
- package/dist/src/commands/telemetry.action.js.map +0 -1
- package/dist/src/commands/telemetry.d.ts +0 -30
- package/dist/src/commands/telemetry.d.ts.map +0 -1
- package/dist/src/commands/telemetry.helpers.d.ts +0 -58
- package/dist/src/commands/telemetry.helpers.d.ts.map +0 -1
- package/dist/src/commands/telemetry.helpers.js +0 -173
- package/dist/src/commands/telemetry.helpers.js.map +0 -1
- package/dist/src/commands/telemetry.helpers.test.d.ts +0 -15
- package/dist/src/commands/telemetry.helpers.test.d.ts.map +0 -1
- package/dist/src/commands/telemetry.helpers.test.js +0 -240
- package/dist/src/commands/telemetry.helpers.test.js.map +0 -1
- package/dist/src/commands/telemetry.js +0 -65
- package/dist/src/commands/telemetry.js.map +0 -1
- package/dist/src/commands/telemetry.test.d.ts +0 -18
- package/dist/src/commands/telemetry.test.d.ts.map +0 -1
- package/dist/src/commands/telemetry.test.js +0 -401
- package/dist/src/commands/telemetry.test.js.map +0 -1
- package/dist/src/commands/whoami.d.ts +0 -15
- package/dist/src/commands/whoami.d.ts.map +0 -1
- package/dist/src/commands/whoami.js +0 -55
- package/dist/src/commands/whoami.js.map +0 -1
- package/dist/src/commands/whoami.test.d.ts +0 -8
- package/dist/src/commands/whoami.test.d.ts.map +0 -1
- package/dist/src/commands/whoami.test.js +0 -133
- package/dist/src/commands/whoami.test.js.map +0 -1
- package/dist/src/config.d.ts +0 -29
- package/dist/src/config.d.ts.map +0 -1
- package/dist/src/config.js +0 -34
- package/dist/src/config.js.map +0 -1
- package/dist/src/index.d.ts +0 -22
- package/dist/src/index.d.ts.map +0 -1
- package/dist/src/index.js +0 -117
- package/dist/src/index.js.map +0 -1
- package/dist/src/templates/changelog.md.template.d.ts +0 -8
- package/dist/src/templates/changelog.md.template.d.ts.map +0 -1
- package/dist/src/templates/changelog.md.template.js +0 -19
- package/dist/src/templates/changelog.md.template.js.map +0 -1
- package/dist/src/templates/index.d.ts +0 -11
- package/dist/src/templates/index.d.ts.map +0 -1
- package/dist/src/templates/index.js +0 -11
- package/dist/src/templates/index.js.map +0 -1
- package/dist/src/templates/mcp-server.template.d.ts +0 -82
- package/dist/src/templates/mcp-server.template.d.ts.map +0 -1
- package/dist/src/templates/mcp-server.template.js +0 -430
- package/dist/src/templates/mcp-server.template.js.map +0 -1
- package/dist/src/templates/mcp-server.template.snippets.d.ts +0 -51
- package/dist/src/templates/mcp-server.template.snippets.d.ts.map +0 -1
- package/dist/src/templates/mcp-server.template.snippets.js +0 -162
- package/dist/src/templates/mcp-server.template.snippets.js.map +0 -1
- package/dist/src/templates/mcp-template-handlers.d.ts +0 -33
- package/dist/src/templates/mcp-template-handlers.d.ts.map +0 -1
- package/dist/src/templates/mcp-template-handlers.js +0 -106
- package/dist/src/templates/mcp-template-handlers.js.map +0 -1
- package/dist/src/templates/mcp-template-types.d.ts +0 -48
- package/dist/src/templates/mcp-template-types.d.ts.map +0 -1
- package/dist/src/templates/mcp-template-types.js +0 -18
- package/dist/src/templates/mcp-template-types.js.map +0 -1
- package/dist/src/templates/readme.md.template.d.ts +0 -8
- package/dist/src/templates/readme.md.template.d.ts.map +0 -1
- package/dist/src/templates/readme.md.template.js +0 -86
- package/dist/src/templates/readme.md.template.js.map +0 -1
- package/dist/src/templates/skill.md.template.d.ts +0 -8
- package/dist/src/templates/skill.md.template.d.ts.map +0 -1
- package/dist/src/templates/skill.md.template.js +0 -97
- package/dist/src/templates/skill.md.template.js.map +0 -1
- package/dist/src/templates/subagent.md.template.d.ts +0 -38
- package/dist/src/templates/subagent.md.template.d.ts.map +0 -1
- package/dist/src/templates/subagent.md.template.js +0 -128
- package/dist/src/templates/subagent.md.template.js.map +0 -1
- package/dist/src/utils/errors.d.ts +0 -52
- package/dist/src/utils/errors.d.ts.map +0 -1
- package/dist/src/utils/errors.js +0 -58
- package/dist/src/utils/errors.js.map +0 -1
- package/dist/src/utils/formatters.d.ts +0 -39
- package/dist/src/utils/formatters.d.ts.map +0 -1
- package/dist/src/utils/formatters.js +0 -69
- package/dist/src/utils/formatters.js.map +0 -1
- package/dist/src/utils/license-types.d.ts +0 -88
- package/dist/src/utils/license-types.d.ts.map +0 -1
- package/dist/src/utils/license-types.js +0 -60
- package/dist/src/utils/license-types.js.map +0 -1
- package/dist/src/utils/license-validation.d.ts +0 -61
- package/dist/src/utils/license-validation.d.ts.map +0 -1
- package/dist/src/utils/license-validation.js +0 -198
- package/dist/src/utils/license-validation.js.map +0 -1
- package/dist/src/utils/license.d.ts +0 -56
- package/dist/src/utils/license.d.ts.map +0 -1
- package/dist/src/utils/license.js +0 -163
- package/dist/src/utils/license.js.map +0 -1
- package/dist/src/utils/license.test.d.ts +0 -7
- package/dist/src/utils/license.test.d.ts.map +0 -1
- package/dist/src/utils/license.test.js +0 -308
- package/dist/src/utils/license.test.js.map +0 -1
- package/dist/src/utils/manifest.d.ts +0 -121
- package/dist/src/utils/manifest.d.ts.map +0 -1
- package/dist/src/utils/manifest.js +0 -133
- package/dist/src/utils/manifest.js.map +0 -1
- package/dist/src/utils/manifest.test.d.ts +0 -20
- package/dist/src/utils/manifest.test.d.ts.map +0 -1
- package/dist/src/utils/manifest.test.js +0 -344
- package/dist/src/utils/manifest.test.js.map +0 -1
- package/dist/src/utils/node-version.d.ts +0 -41
- package/dist/src/utils/node-version.d.ts.map +0 -1
- package/dist/src/utils/node-version.js +0 -123
- package/dist/src/utils/node-version.js.map +0 -1
- package/dist/src/utils/open-database.d.ts +0 -35
- package/dist/src/utils/open-database.d.ts.map +0 -1
- package/dist/src/utils/open-database.js +0 -73
- package/dist/src/utils/open-database.js.map +0 -1
- package/dist/src/utils/require-tier.d.ts +0 -38
- package/dist/src/utils/require-tier.d.ts.map +0 -1
- package/dist/src/utils/require-tier.js +0 -74
- package/dist/src/utils/require-tier.js.map +0 -1
- package/dist/src/utils/sanitize.d.ts +0 -30
- package/dist/src/utils/sanitize.d.ts.map +0 -1
- package/dist/src/utils/sanitize.js +0 -45
- package/dist/src/utils/sanitize.js.map +0 -1
- package/dist/src/utils/skill-name.d.ts +0 -19
- package/dist/src/utils/skill-name.d.ts.map +0 -1
- package/dist/src/utils/skill-name.js +0 -26
- package/dist/src/utils/skill-name.js.map +0 -1
- package/dist/src/utils/skills-directory.d.ts +0 -95
- package/dist/src/utils/skills-directory.d.ts.map +0 -1
- package/dist/src/utils/skills-directory.js +0 -285
- package/dist/src/utils/skills-directory.js.map +0 -1
- package/dist/src/utils/startup-header-gate.d.ts +0 -29
- package/dist/src/utils/startup-header-gate.d.ts.map +0 -1
- package/dist/src/utils/startup-header-gate.js +0 -44
- package/dist/src/utils/startup-header-gate.js.map +0 -1
- package/dist/src/utils/startup-header-gate.test.d.ts +0 -2
- package/dist/src/utils/startup-header-gate.test.d.ts.map +0 -1
- package/dist/src/utils/startup-header-gate.test.js +0 -46
- package/dist/src/utils/startup-header-gate.test.js.map +0 -1
- package/dist/src/utils/tool-analyzer.d.ts +0 -54
- package/dist/src/utils/tool-analyzer.d.ts.map +0 -1
- package/dist/src/utils/tool-analyzer.js +0 -156
- package/dist/src/utils/tool-analyzer.js.map +0 -1
- package/dist/src/version.d.ts +0 -2
- package/dist/src/version.d.ts.map +0 -1
- package/dist/src/version.js +0 -24
- package/dist/src/version.js.map +0 -1
- package/dist/tests/audit-collisions.test.d.ts +0 -42
- package/dist/tests/audit-collisions.test.d.ts.map +0 -1
- package/dist/tests/audit-collisions.test.js +0 -370
- package/dist/tests/audit-collisions.test.js.map +0 -1
- package/dist/tests/audit-restructure.test.d.ts +0 -15
- package/dist/tests/audit-restructure.test.d.ts.map +0 -1
- package/dist/tests/audit-restructure.test.js +0 -151
- package/dist/tests/audit-restructure.test.js.map +0 -1
- package/dist/tests/author.test.d.ts +0 -5
- package/dist/tests/author.test.d.ts.map +0 -1
- package/dist/tests/author.test.js +0 -653
- package/dist/tests/author.test.js.map +0 -1
- package/dist/tests/config.test.d.ts +0 -33
- package/dist/tests/config.test.d.ts.map +0 -1
- package/dist/tests/config.test.js +0 -240
- package/dist/tests/config.test.js.map +0 -1
- package/dist/tests/create.test.d.ts +0 -5
- package/dist/tests/create.test.d.ts.map +0 -1
- package/dist/tests/create.test.js +0 -449
- package/dist/tests/create.test.js.map +0 -1
- package/dist/tests/e2e/audit-sources-affix.test.d.ts +0 -11
- package/dist/tests/e2e/audit-sources-affix.test.d.ts.map +0 -1
- package/dist/tests/e2e/audit-sources-affix.test.js +0 -121
- package/dist/tests/e2e/audit-sources-affix.test.js.map +0 -1
- package/dist/tests/e2e/audit-sources-apply.test.d.ts +0 -13
- package/dist/tests/e2e/audit-sources-apply.test.d.ts.map +0 -1
- package/dist/tests/e2e/audit-sources-apply.test.js +0 -166
- package/dist/tests/e2e/audit-sources-apply.test.js.map +0 -1
- package/dist/tests/e2e/audit-sources-recovery.test.d.ts +0 -15
- package/dist/tests/e2e/audit-sources-recovery.test.d.ts.map +0 -1
- package/dist/tests/e2e/audit-sources-recovery.test.js +0 -179
- package/dist/tests/e2e/audit-sources-recovery.test.js.map +0 -1
- package/dist/tests/e2e/audit-sources-roundtrip.test.d.ts +0 -23
- package/dist/tests/e2e/audit-sources-roundtrip.test.d.ts.map +0 -1
- package/dist/tests/e2e/audit-sources-roundtrip.test.js +0 -139
- package/dist/tests/e2e/audit-sources-roundtrip.test.js.map +0 -1
- package/dist/tests/e2e/author.e2e.test.d.ts +0 -9
- package/dist/tests/e2e/author.e2e.test.d.ts.map +0 -1
- package/dist/tests/e2e/author.e2e.test.js +0 -666
- package/dist/tests/e2e/author.e2e.test.js.map +0 -1
- package/dist/tests/e2e/import.e2e.test.d.ts +0 -10
- package/dist/tests/e2e/import.e2e.test.d.ts.map +0 -1
- package/dist/tests/e2e/import.e2e.test.js +0 -213
- package/dist/tests/e2e/import.e2e.test.js.map +0 -1
- package/dist/tests/e2e/manage.e2e.test.d.ts +0 -9
- package/dist/tests/e2e/manage.e2e.test.d.ts.map +0 -1
- package/dist/tests/e2e/manage.e2e.test.js +0 -277
- package/dist/tests/e2e/manage.e2e.test.js.map +0 -1
- package/dist/tests/e2e/search.e2e.test.d.ts +0 -10
- package/dist/tests/e2e/search.e2e.test.d.ts.map +0 -1
- package/dist/tests/e2e/search.e2e.test.js +0 -324
- package/dist/tests/e2e/search.e2e.test.js.map +0 -1
- package/dist/tests/e2e/test-config.d.ts +0 -39
- package/dist/tests/e2e/test-config.d.ts.map +0 -1
- package/dist/tests/e2e/test-config.js +0 -44
- package/dist/tests/e2e/test-config.js.map +0 -1
- package/dist/tests/e2e/utils/baseline-collector.d.ts +0 -107
- package/dist/tests/e2e/utils/baseline-collector.d.ts.map +0 -1
- package/dist/tests/e2e/utils/baseline-collector.js +0 -211
- package/dist/tests/e2e/utils/baseline-collector.js.map +0 -1
- package/dist/tests/e2e/utils/hardcoded-detector.d.ts +0 -46
- package/dist/tests/e2e/utils/hardcoded-detector.d.ts.map +0 -1
- package/dist/tests/e2e/utils/hardcoded-detector.js +0 -238
- package/dist/tests/e2e/utils/hardcoded-detector.js.map +0 -1
- package/dist/tests/e2e/utils/index.d.ts +0 -12
- package/dist/tests/e2e/utils/index.d.ts.map +0 -1
- package/dist/tests/e2e/utils/index.js +0 -12
- package/dist/tests/e2e/utils/index.js.map +0 -1
- package/dist/tests/e2e/utils/linear-reporter.d.ts +0 -60
- package/dist/tests/e2e/utils/linear-reporter.d.ts.map +0 -1
- package/dist/tests/e2e/utils/linear-reporter.js +0 -223
- package/dist/tests/e2e/utils/linear-reporter.js.map +0 -1
- package/dist/tests/e2e/utils/mock-github.d.ts +0 -23
- package/dist/tests/e2e/utils/mock-github.d.ts.map +0 -1
- package/dist/tests/e2e/utils/mock-github.js +0 -60
- package/dist/tests/e2e/utils/mock-github.js.map +0 -1
- package/dist/tests/e2e/utils/mock-prompts.d.ts +0 -19
- package/dist/tests/e2e/utils/mock-prompts.d.ts.map +0 -1
- package/dist/tests/e2e/utils/mock-prompts.js +0 -48
- package/dist/tests/e2e/utils/mock-prompts.js.map +0 -1
- package/dist/tests/e2e/utils/source-recovery-fixture.d.ts +0 -49
- package/dist/tests/e2e/utils/source-recovery-fixture.d.ts.map +0 -1
- package/dist/tests/e2e/utils/source-recovery-fixture.js +0 -106
- package/dist/tests/e2e/utils/source-recovery-fixture.js.map +0 -1
- package/dist/tests/embedding-probe-stdio.test.d.ts +0 -11
- package/dist/tests/embedding-probe-stdio.test.d.ts.map +0 -1
- package/dist/tests/embedding-probe-stdio.test.js +0 -58
- package/dist/tests/embedding-probe-stdio.test.js.map +0 -1
- package/dist/tests/import.test.d.ts +0 -5
- package/dist/tests/import.test.d.ts.map +0 -1
- package/dist/tests/import.test.js +0 -11
- package/dist/tests/import.test.js.map +0 -1
- package/dist/tests/init.test.d.ts +0 -30
- package/dist/tests/init.test.d.ts.map +0 -1
- package/dist/tests/init.test.js +0 -357
- package/dist/tests/init.test.js.map +0 -1
- package/dist/tests/install-multi-client.test.d.ts +0 -2
- package/dist/tests/install-multi-client.test.d.ts.map +0 -1
- package/dist/tests/install-multi-client.test.js +0 -202
- package/dist/tests/install-multi-client.test.js.map +0 -1
- package/dist/tests/install-quarantine.test.d.ts +0 -10
- package/dist/tests/install-quarantine.test.d.ts.map +0 -1
- package/dist/tests/install-quarantine.test.js +0 -86
- package/dist/tests/install-quarantine.test.js.map +0 -1
- package/dist/tests/install-skill.test.d.ts +0 -8
- package/dist/tests/install-skill.test.d.ts.map +0 -1
- package/dist/tests/install-skill.test.js +0 -414
- package/dist/tests/install-skill.test.js.map +0 -1
- package/dist/tests/integration/import-local.test.d.ts +0 -2
- package/dist/tests/integration/import-local.test.d.ts.map +0 -1
- package/dist/tests/integration/import-local.test.js +0 -158
- package/dist/tests/integration/import-local.test.js.map +0 -1
- package/dist/tests/license-validation.test.d.ts +0 -8
- package/dist/tests/license-validation.test.d.ts.map +0 -1
- package/dist/tests/license-validation.test.js +0 -186
- package/dist/tests/license-validation.test.js.map +0 -1
- package/dist/tests/manage.test.d.ts +0 -5
- package/dist/tests/manage.test.d.ts.map +0 -1
- package/dist/tests/manage.test.js +0 -495
- package/dist/tests/manage.test.js.map +0 -1
- package/dist/tests/mcp-server-template.test.d.ts +0 -7
- package/dist/tests/mcp-server-template.test.d.ts.map +0 -1
- package/dist/tests/mcp-server-template.test.js +0 -372
- package/dist/tests/mcp-server-template.test.js.map +0 -1
- package/dist/tests/node-version.test.d.ts +0 -8
- package/dist/tests/node-version.test.d.ts.map +0 -1
- package/dist/tests/node-version.test.js +0 -200
- package/dist/tests/node-version.test.js.map +0 -1
- package/dist/tests/open-database.test.d.ts +0 -2
- package/dist/tests/open-database.test.d.ts.map +0 -1
- package/dist/tests/open-database.test.js +0 -77
- package/dist/tests/open-database.test.js.map +0 -1
- package/dist/tests/recommend-helpers.test.d.ts +0 -9
- package/dist/tests/recommend-helpers.test.d.ts.map +0 -1
- package/dist/tests/recommend-helpers.test.js +0 -308
- package/dist/tests/recommend-helpers.test.js.map +0 -1
- package/dist/tests/recommend-scoring.test.d.ts +0 -8
- package/dist/tests/recommend-scoring.test.d.ts.map +0 -1
- package/dist/tests/recommend-scoring.test.js +0 -184
- package/dist/tests/recommend-scoring.test.js.map +0 -1
- package/dist/tests/recommend.errors.test.d.ts +0 -8
- package/dist/tests/recommend.errors.test.d.ts.map +0 -1
- package/dist/tests/recommend.errors.test.js +0 -232
- package/dist/tests/recommend.errors.test.js.map +0 -1
- package/dist/tests/recommend.filters.test.d.ts +0 -9
- package/dist/tests/recommend.filters.test.d.ts.map +0 -1
- package/dist/tests/recommend.filters.test.js +0 -235
- package/dist/tests/recommend.filters.test.js.map +0 -1
- package/dist/tests/recommend.test-helpers.d.ts +0 -66
- package/dist/tests/recommend.test-helpers.d.ts.map +0 -1
- package/dist/tests/recommend.test-helpers.js +0 -79
- package/dist/tests/recommend.test-helpers.js.map +0 -1
- package/dist/tests/recommend.test.d.ts +0 -11
- package/dist/tests/recommend.test.d.ts.map +0 -1
- package/dist/tests/recommend.test.js +0 -320
- package/dist/tests/recommend.test.js.map +0 -1
- package/dist/tests/search-helpers.test.d.ts +0 -2
- package/dist/tests/search-helpers.test.d.ts.map +0 -1
- package/dist/tests/search-helpers.test.js +0 -110
- package/dist/tests/search-helpers.test.js.map +0 -1
- package/dist/tests/search.test.d.ts +0 -5
- package/dist/tests/search.test.d.ts.map +0 -1
- package/dist/tests/search.test.js +0 -91
- package/dist/tests/search.test.js.map +0 -1
- package/dist/tests/skills-directory-per-harness.test.d.ts +0 -2
- package/dist/tests/skills-directory-per-harness.test.d.ts.map +0 -1
- package/dist/tests/skills-directory-per-harness.test.js +0 -116
- package/dist/tests/skills-directory-per-harness.test.js.map +0 -1
- package/dist/tests/skills-directory.test.d.ts +0 -2
- package/dist/tests/skills-directory.test.d.ts.map +0 -1
- package/dist/tests/skills-directory.test.js +0 -108
- package/dist/tests/skills-directory.test.js.map +0 -1
- package/dist/tests/sync.auth-ux.test.d.ts +0 -14
- package/dist/tests/sync.auth-ux.test.d.ts.map +0 -1
- package/dist/tests/sync.auth-ux.test.js +0 -148
- package/dist/tests/sync.auth-ux.test.js.map +0 -1
- package/dist/tests/tool-analyzer.test.d.ts +0 -8
- package/dist/tests/tool-analyzer.test.d.ts.map +0 -1
- package/dist/tests/tool-analyzer.test.js +0 -149
- package/dist/tests/tool-analyzer.test.js.map +0 -1
- package/dist/tests/unit/commands/install.test.d.ts +0 -7
- package/dist/tests/unit/commands/install.test.d.ts.map +0 -1
- package/dist/tests/unit/commands/install.test.js +0 -482
- package/dist/tests/unit/commands/install.test.js.map +0 -1
- package/dist/tests/unit/import-local.helpers.test.d.ts +0 -2
- package/dist/tests/unit/import-local.helpers.test.d.ts.map +0 -1
- package/dist/tests/unit/import-local.helpers.test.js +0 -96
- 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"}
|