@skillsmith/cli 0.7.1 → 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 +9 -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 -283
- 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 -97
- 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,133 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* SMI-2715: Whoami Command Tests
|
|
3
|
-
*
|
|
4
|
-
* Tests for `skillsmith whoami` — unauthenticated state, each source label,
|
|
5
|
-
* and masked key display.
|
|
6
|
-
*/
|
|
7
|
-
import { describe, it, expect, vi, beforeEach, afterEach } from 'vitest';
|
|
8
|
-
// ---------------------------------------------------------------------------
|
|
9
|
-
// Mocks
|
|
10
|
-
// ---------------------------------------------------------------------------
|
|
11
|
-
vi.mock('@skillsmith/core', () => ({
|
|
12
|
-
getAuthStatus: vi.fn(),
|
|
13
|
-
}));
|
|
14
|
-
// ---------------------------------------------------------------------------
|
|
15
|
-
// Imports
|
|
16
|
-
// ---------------------------------------------------------------------------
|
|
17
|
-
import { createWhoamiCommand } from './whoami.js';
|
|
18
|
-
import { getAuthStatus } from '@skillsmith/core';
|
|
19
|
-
const mockGetAuthStatus = vi.mocked(getAuthStatus);
|
|
20
|
-
// ---------------------------------------------------------------------------
|
|
21
|
-
// Helpers
|
|
22
|
-
// ---------------------------------------------------------------------------
|
|
23
|
-
async function runCommand(args = []) {
|
|
24
|
-
const cmd = createWhoamiCommand();
|
|
25
|
-
await cmd.parseAsync(['node', 'whoami', ...args]);
|
|
26
|
-
}
|
|
27
|
-
// ---------------------------------------------------------------------------
|
|
28
|
-
// Tests
|
|
29
|
-
// ---------------------------------------------------------------------------
|
|
30
|
-
describe('createWhoamiCommand', () => {
|
|
31
|
-
let consoleLogSpy;
|
|
32
|
-
let processExitSpy;
|
|
33
|
-
beforeEach(() => {
|
|
34
|
-
// clearAllMocks resets call history on module-level mocks (declared above).
|
|
35
|
-
// Must run BEFORE setting up spies so the spy implementations are not cleared.
|
|
36
|
-
vi.clearAllMocks();
|
|
37
|
-
consoleLogSpy = vi.spyOn(console, 'log').mockImplementation(() => { });
|
|
38
|
-
processExitSpy = vi
|
|
39
|
-
.spyOn(process, 'exit')
|
|
40
|
-
.mockImplementation((code) => {
|
|
41
|
-
throw new Error(`process.exit(${code ?? 0})`);
|
|
42
|
-
});
|
|
43
|
-
});
|
|
44
|
-
afterEach(() => {
|
|
45
|
-
consoleLogSpy.mockRestore();
|
|
46
|
-
processExitSpy.mockRestore();
|
|
47
|
-
});
|
|
48
|
-
describe('command metadata', () => {
|
|
49
|
-
it('has the correct name', () => {
|
|
50
|
-
expect(createWhoamiCommand().name()).toBe('whoami');
|
|
51
|
-
});
|
|
52
|
-
it('has a description', () => {
|
|
53
|
-
expect(createWhoamiCommand().description()).toBeTruthy();
|
|
54
|
-
});
|
|
55
|
-
});
|
|
56
|
-
describe('unauthenticated state', () => {
|
|
57
|
-
it('prints login suggestion when not authenticated', async () => {
|
|
58
|
-
mockGetAuthStatus.mockResolvedValue({
|
|
59
|
-
authenticated: false,
|
|
60
|
-
keyPrefix: null,
|
|
61
|
-
source: 'none',
|
|
62
|
-
});
|
|
63
|
-
await expect(runCommand()).rejects.toThrow('process.exit(0)');
|
|
64
|
-
const output = consoleLogSpy.mock.calls.flat().join('\n');
|
|
65
|
-
expect(output).toContain('Not authenticated');
|
|
66
|
-
expect(output).toContain('skillsmith login');
|
|
67
|
-
});
|
|
68
|
-
});
|
|
69
|
-
describe('authenticated state', () => {
|
|
70
|
-
it('displays masked key (prefix + ellipsis)', async () => {
|
|
71
|
-
mockGetAuthStatus.mockResolvedValue({
|
|
72
|
-
authenticated: true,
|
|
73
|
-
keyPrefix: 'sk_live_xxxx',
|
|
74
|
-
source: 'keyring',
|
|
75
|
-
});
|
|
76
|
-
await expect(runCommand()).rejects.toThrow('process.exit(0)');
|
|
77
|
-
const output = consoleLogSpy.mock.calls.flat().join('\n');
|
|
78
|
-
expect(output).toContain('sk_live_xxxx...');
|
|
79
|
-
});
|
|
80
|
-
it('shows "OS keyring" source label for keyring source', async () => {
|
|
81
|
-
mockGetAuthStatus.mockResolvedValue({
|
|
82
|
-
authenticated: true,
|
|
83
|
-
keyPrefix: 'sk_live_xxxx',
|
|
84
|
-
source: 'keyring',
|
|
85
|
-
});
|
|
86
|
-
await expect(runCommand()).rejects.toThrow('process.exit(0)');
|
|
87
|
-
const output = consoleLogSpy.mock.calls.flat().join('\n');
|
|
88
|
-
expect(output).toContain('OS keyring');
|
|
89
|
-
});
|
|
90
|
-
it('shows config file source label for config source', async () => {
|
|
91
|
-
mockGetAuthStatus.mockResolvedValue({
|
|
92
|
-
authenticated: true,
|
|
93
|
-
keyPrefix: 'sk_live_xxxx',
|
|
94
|
-
source: 'config',
|
|
95
|
-
});
|
|
96
|
-
await expect(runCommand()).rejects.toThrow('process.exit(0)');
|
|
97
|
-
const output = consoleLogSpy.mock.calls.flat().join('\n');
|
|
98
|
-
expect(output).toContain('config file');
|
|
99
|
-
expect(output).toContain('~/.skillsmith/config.json');
|
|
100
|
-
});
|
|
101
|
-
it('shows env var source label for env source', async () => {
|
|
102
|
-
mockGetAuthStatus.mockResolvedValue({
|
|
103
|
-
authenticated: true,
|
|
104
|
-
keyPrefix: 'sk_live_xxxx',
|
|
105
|
-
source: 'env',
|
|
106
|
-
});
|
|
107
|
-
await expect(runCommand()).rejects.toThrow('process.exit(0)');
|
|
108
|
-
const output = consoleLogSpy.mock.calls.flat().join('\n');
|
|
109
|
-
expect(output).toContain('SKILLSMITH_API_KEY');
|
|
110
|
-
});
|
|
111
|
-
it('shows "Skillsmith CLI" heading when authenticated', async () => {
|
|
112
|
-
mockGetAuthStatus.mockResolvedValue({
|
|
113
|
-
authenticated: true,
|
|
114
|
-
keyPrefix: 'sk_live_xxxx',
|
|
115
|
-
source: 'config',
|
|
116
|
-
});
|
|
117
|
-
await expect(runCommand()).rejects.toThrow('process.exit(0)');
|
|
118
|
-
const output = consoleLogSpy.mock.calls.flat().join('\n');
|
|
119
|
-
expect(output).toContain('Skillsmith CLI');
|
|
120
|
-
});
|
|
121
|
-
it('shows "valid" format indicator', async () => {
|
|
122
|
-
mockGetAuthStatus.mockResolvedValue({
|
|
123
|
-
authenticated: true,
|
|
124
|
-
keyPrefix: 'sk_live_xxxx',
|
|
125
|
-
source: 'config',
|
|
126
|
-
});
|
|
127
|
-
await expect(runCommand()).rejects.toThrow('process.exit(0)');
|
|
128
|
-
const output = consoleLogSpy.mock.calls.flat().join('\n');
|
|
129
|
-
expect(output).toContain('valid');
|
|
130
|
-
});
|
|
131
|
-
});
|
|
132
|
-
});
|
|
133
|
-
//# sourceMappingURL=whoami.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"whoami.test.js","sourceRoot":"","sources":["../../../src/commands/whoami.test.ts"],"names":[],"mappings":"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"}
|
package/dist/src/config.d.ts
DELETED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* CLI Configuration
|
|
3
|
-
*
|
|
4
|
-
* Shared configuration constants for the Skillsmith CLI.
|
|
5
|
-
*/
|
|
6
|
-
/**
|
|
7
|
-
* Default database path: ~/.skillsmith/skills.db
|
|
8
|
-
* This matches the seed script and MCP server defaults.
|
|
9
|
-
*/
|
|
10
|
-
export declare const DEFAULT_DB_PATH: string;
|
|
11
|
-
/**
|
|
12
|
-
* Default skills installation directory.
|
|
13
|
-
*
|
|
14
|
-
* SMI-4578: routes through the canonical multi-client path table so the
|
|
15
|
-
* default-client (Claude Code) directory is defined in exactly one place.
|
|
16
|
-
* Callers that need a non-default client should call `getInstallPath(client)`
|
|
17
|
-
* from `@skillsmith/core/install` instead of overriding this constant.
|
|
18
|
-
*/
|
|
19
|
-
export declare const DEFAULT_SKILLS_DIR: string;
|
|
20
|
-
/**
|
|
21
|
-
* Default manifest path: ~/.skillsmith/manifest.json
|
|
22
|
-
*/
|
|
23
|
-
export declare const DEFAULT_MANIFEST_PATH: string;
|
|
24
|
-
/**
|
|
25
|
-
* Get the default database path.
|
|
26
|
-
* Returns ~/.skillsmith/skills.db
|
|
27
|
-
*/
|
|
28
|
-
export declare function getDefaultDbPath(): string;
|
|
29
|
-
//# sourceMappingURL=config.d.ts.map
|
package/dist/src/config.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH;;;GAGG;AACH,eAAO,MAAM,eAAe,QAA8C,CAAA;AAE1E;;;;;;;GAOG;AACH,eAAO,MAAM,kBAAkB,QAA4B,CAAA;AAE3D;;GAEG;AACH,eAAO,MAAM,qBAAqB,QAAkD,CAAA;AAEpF;;;GAGG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC"}
|
package/dist/src/config.js
DELETED
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* CLI Configuration
|
|
3
|
-
*
|
|
4
|
-
* Shared configuration constants for the Skillsmith CLI.
|
|
5
|
-
*/
|
|
6
|
-
import { join } from 'path';
|
|
7
|
-
import { homedir } from 'os';
|
|
8
|
-
import { getCanonicalInstallPath } from '@skillsmith/core/install';
|
|
9
|
-
/**
|
|
10
|
-
* Default database path: ~/.skillsmith/skills.db
|
|
11
|
-
* This matches the seed script and MCP server defaults.
|
|
12
|
-
*/
|
|
13
|
-
export const DEFAULT_DB_PATH = join(homedir(), '.skillsmith', 'skills.db');
|
|
14
|
-
/**
|
|
15
|
-
* Default skills installation directory.
|
|
16
|
-
*
|
|
17
|
-
* SMI-4578: routes through the canonical multi-client path table so the
|
|
18
|
-
* default-client (Claude Code) directory is defined in exactly one place.
|
|
19
|
-
* Callers that need a non-default client should call `getInstallPath(client)`
|
|
20
|
-
* from `@skillsmith/core/install` instead of overriding this constant.
|
|
21
|
-
*/
|
|
22
|
-
export const DEFAULT_SKILLS_DIR = getCanonicalInstallPath();
|
|
23
|
-
/**
|
|
24
|
-
* Default manifest path: ~/.skillsmith/manifest.json
|
|
25
|
-
*/
|
|
26
|
-
export const DEFAULT_MANIFEST_PATH = join(homedir(), '.skillsmith', 'manifest.json');
|
|
27
|
-
/**
|
|
28
|
-
* Get the default database path.
|
|
29
|
-
* Returns ~/.skillsmith/skills.db
|
|
30
|
-
*/
|
|
31
|
-
export function getDefaultDbPath() {
|
|
32
|
-
return DEFAULT_DB_PATH;
|
|
33
|
-
}
|
|
34
|
-
//# sourceMappingURL=config.js.map
|
package/dist/src/config.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAA;AAC5B,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAA;AAElE;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE,WAAW,CAAC,CAAA;AAE1E;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,uBAAuB,EAAE,CAAA;AAE3D;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE,eAAe,CAAC,CAAA;AAEpF;;;GAGG;AACH,MAAM,UAAU,gBAAgB;IAC9B,OAAO,eAAe,CAAA;AACxB,CAAC"}
|
package/dist/src/index.d.ts
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
/**
|
|
3
|
-
* Skillsmith CLI - Agent Skill Discovery Tools
|
|
4
|
-
*
|
|
5
|
-
* Commands:
|
|
6
|
-
* - import: Import skills from GitHub (SMI-580)
|
|
7
|
-
* - search: Search for skills with interactive mode (SMI-744)
|
|
8
|
-
* - list: List installed skills (SMI-745)
|
|
9
|
-
* - update: Update installed skills (SMI-745)
|
|
10
|
-
* - remove: Remove installed skills (SMI-745)
|
|
11
|
-
* - init: Initialize new skill project (SMI-746)
|
|
12
|
-
* - validate: Validate local SKILL.md (SMI-746)
|
|
13
|
-
* - publish: Prepare skill for sharing (SMI-746)
|
|
14
|
-
* - analyze: Analyze codebase for skill recommendations (SMI-1283)
|
|
15
|
-
* - author subagent: Generate companion subagent for a skill (SMI-1389)
|
|
16
|
-
* - author transform: Upgrade existing skill with subagent (SMI-1390)
|
|
17
|
-
* - author mcp-init: Scaffold a new MCP server project (SMI-1433)
|
|
18
|
-
* - install: Install a skill from registry or GitHub URL (SMI-3484)
|
|
19
|
-
* - setup: Install skillsmith skill for /skillsmith slash command (SMI-824, renamed from install-skill)
|
|
20
|
-
*/
|
|
21
|
-
export {};
|
|
22
|
-
//# sourceMappingURL=index.d.ts.map
|
package/dist/src/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;;;;GAkBG"}
|
package/dist/src/index.js
DELETED
|
@@ -1,117 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
/**
|
|
3
|
-
* Skillsmith CLI - Agent Skill Discovery Tools
|
|
4
|
-
*
|
|
5
|
-
* Commands:
|
|
6
|
-
* - import: Import skills from GitHub (SMI-580)
|
|
7
|
-
* - search: Search for skills with interactive mode (SMI-744)
|
|
8
|
-
* - list: List installed skills (SMI-745)
|
|
9
|
-
* - update: Update installed skills (SMI-745)
|
|
10
|
-
* - remove: Remove installed skills (SMI-745)
|
|
11
|
-
* - init: Initialize new skill project (SMI-746)
|
|
12
|
-
* - validate: Validate local SKILL.md (SMI-746)
|
|
13
|
-
* - publish: Prepare skill for sharing (SMI-746)
|
|
14
|
-
* - analyze: Analyze codebase for skill recommendations (SMI-1283)
|
|
15
|
-
* - author subagent: Generate companion subagent for a skill (SMI-1389)
|
|
16
|
-
* - author transform: Upgrade existing skill with subagent (SMI-1390)
|
|
17
|
-
* - author mcp-init: Scaffold a new MCP server project (SMI-1433)
|
|
18
|
-
* - install: Install a skill from registry or GitHub URL (SMI-3484)
|
|
19
|
-
* - setup: Install skillsmith skill for /skillsmith slash command (SMI-824, renamed from install-skill)
|
|
20
|
-
*/
|
|
21
|
-
import { Command } from 'commander';
|
|
22
|
-
import { createSearchCommand, createListCommand, createUpdateCommand, createRemoveCommand, createInitCommand, createValidateCommand, createPublishCommand, createSubagentCommand, createTransformCommand, createMcpInitCommand, createAnalyzeCommand, createRecommendCommand, createSyncCommand, createInstallCommand, createInstallSkillCommand, createLoginCommand, createLogoutCommand, createWhoamiCommand, createDiffCommand, createPinCommand, createUnpinCommand, createAuditCommand, createCreateCommand, createInfoCommand, createImportCommand, createImportLocalCommand, createConfigCommand, createTelemetryCommand, createInventoryCommand, } from './commands/index.js';
|
|
23
|
-
import { displayStartupHeader } from './utils/license.js';
|
|
24
|
-
import { resolveCommandPath, shouldShowStartupHeader } from './utils/startup-header-gate.js';
|
|
25
|
-
import { checkNodeVersion } from './utils/node-version.js';
|
|
26
|
-
import { readFileSync } from 'fs';
|
|
27
|
-
import { dirname, join } from 'path';
|
|
28
|
-
import { fileURLToPath } from 'url';
|
|
29
|
-
// SMI-1629: Check Node.js version before anything else
|
|
30
|
-
const versionError = checkNodeVersion();
|
|
31
|
-
if (versionError) {
|
|
32
|
-
console.error(versionError);
|
|
33
|
-
process.exit(1);
|
|
34
|
-
}
|
|
35
|
-
// Read version from package.json dynamically
|
|
36
|
-
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
37
|
-
const packageJsonPath = join(__dirname, '..', '..', 'package.json');
|
|
38
|
-
const packageJson = JSON.parse(readFileSync(packageJsonPath, 'utf-8'));
|
|
39
|
-
const CLI_VERSION = packageJson.version;
|
|
40
|
-
const program = new Command();
|
|
41
|
-
// Detect which command name was used (skillsmith or sklx)
|
|
42
|
-
const commandName = process.argv[1]?.endsWith('sklx') ? 'sklx' : 'skillsmith';
|
|
43
|
-
program
|
|
44
|
-
.name(commandName)
|
|
45
|
-
.description('Agent Skill Discovery and Management CLI (alias: sklx)')
|
|
46
|
-
.version(CLI_VERSION);
|
|
47
|
-
// Display startup header with license status before parsing commands.
|
|
48
|
-
// SMI-5427: gated by startup-header-gate — suppressed for non-TTY / piped use,
|
|
49
|
-
// auth commands, and machine-readable subcommands (matched by full parent+leaf
|
|
50
|
-
// path so a bare `status` does not over-exempt `sync status`/`telemetry status`).
|
|
51
|
-
program.hook('preAction', async (_thisCommand, actionCommand) => {
|
|
52
|
-
const path = resolveCommandPath(actionCommand.name(), actionCommand.parent?.name(), commandName);
|
|
53
|
-
if (!shouldShowStartupHeader(path, Boolean(process.stdout.isTTY)))
|
|
54
|
-
return;
|
|
55
|
-
await displayStartupHeader(CLI_VERSION);
|
|
56
|
-
});
|
|
57
|
-
// SMI-580: Import command (GitHub topic walker)
|
|
58
|
-
// SMI-4665: refactored from inline registration to addCommand pattern
|
|
59
|
-
program.addCommand(createImportCommand());
|
|
60
|
-
// SMI-4665: Filesystem-walking SKILL.md importer
|
|
61
|
-
program.addCommand(createImportLocalCommand());
|
|
62
|
-
// SMI-744: Search command with interactive mode
|
|
63
|
-
program.addCommand(createSearchCommand());
|
|
64
|
-
// SMI-745: Skill management commands
|
|
65
|
-
program.addCommand(createListCommand());
|
|
66
|
-
program.addCommand(createUpdateCommand());
|
|
67
|
-
program.addCommand(createRemoveCommand());
|
|
68
|
-
// SMI-3484: Install skill from registry or GitHub URL
|
|
69
|
-
program.addCommand(createInstallCommand());
|
|
70
|
-
// SMI-746: Skill authoring commands (under 'author' group)
|
|
71
|
-
// SMI-1389, SMI-1390: Subagent generation
|
|
72
|
-
// SMI-1433: MCP server scaffolding
|
|
73
|
-
const authorCommand = new Command('author')
|
|
74
|
-
.description('Skill authoring, subagent generation, and MCP server tools')
|
|
75
|
-
.addCommand(createInitCommand())
|
|
76
|
-
.addCommand(createValidateCommand())
|
|
77
|
-
.addCommand(createPublishCommand())
|
|
78
|
-
.addCommand(createSubagentCommand())
|
|
79
|
-
.addCommand(createTransformCommand())
|
|
80
|
-
.addCommand(createMcpInitCommand());
|
|
81
|
-
program.addCommand(authorCommand);
|
|
82
|
-
// Legacy aliases for backward compatibility (direct commands)
|
|
83
|
-
program.addCommand(createInitCommand().name('init'));
|
|
84
|
-
program.addCommand(createValidateCommand().name('validate'));
|
|
85
|
-
program.addCommand(createPublishCommand().name('publish'));
|
|
86
|
-
// SMI-1283: Codebase analysis
|
|
87
|
-
program.addCommand(createAnalyzeCommand());
|
|
88
|
-
// SMI-1299: Recommendations
|
|
89
|
-
program.addCommand(createRecommendCommand());
|
|
90
|
-
// Registry Sync
|
|
91
|
-
program.addCommand(createSyncCommand());
|
|
92
|
-
// SMI-824: Install skillsmith skill for /skillsmith slash command
|
|
93
|
-
// SMI-3484: Renamed from 'install-skill' to 'setup' to avoid confusion with 'install'
|
|
94
|
-
const setupCommand = createInstallSkillCommand();
|
|
95
|
-
program.addCommand(setupCommand);
|
|
96
|
-
// SMI-2715: CLI Login Device Flow
|
|
97
|
-
program.addCommand(createLoginCommand());
|
|
98
|
-
program.addCommand(createLogoutCommand());
|
|
99
|
-
program.addCommand(createWhoamiCommand());
|
|
100
|
-
// SMI-skill-version-tracking Wave 2: diff, pin, unpin
|
|
101
|
-
program.addCommand(createDiffCommand());
|
|
102
|
-
program.addCommand(createPinCommand());
|
|
103
|
-
program.addCommand(createUnpinCommand());
|
|
104
|
-
// SMI-skill-version-tracking Wave 3: Security Advisory Audit
|
|
105
|
-
program.addCommand(createAuditCommand());
|
|
106
|
-
// SMI-3083: Embedded skill scaffolding (also available as `sklx create`)
|
|
107
|
-
program.addCommand(createCreateCommand());
|
|
108
|
-
// SMI-3672: Skill info with SKILL.md content
|
|
109
|
-
program.addCommand(createInfoCommand());
|
|
110
|
-
// SMI-4590 Wave 4 PR 5/6: `sklx config get/set audit_mode`
|
|
111
|
-
program.addCommand(createConfigCommand());
|
|
112
|
-
// SMI-5021 Wave 3: telemetry opt-in + Claude Code hook management
|
|
113
|
-
program.addCommand(createTelemetryCommand());
|
|
114
|
-
// SMI-5392 Wave 3: cross-harness inventory push/status/forget-device
|
|
115
|
-
program.addCommand(createInventoryCommand());
|
|
116
|
-
program.parse();
|
|
117
|
-
//# sourceMappingURL=index.js.map
|
package/dist/src/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* CHANGELOG.md Template
|
|
3
|
-
*
|
|
4
|
-
* Template for new skill CHANGELOG files.
|
|
5
|
-
*/
|
|
6
|
-
export declare const CHANGELOG_MD_TEMPLATE = "# Changelog\n\nAll notable changes to {{name}} are documented here.\n\nFormat follows [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).\n\n## [1.0.0] - {{date}}\n\n### Added\n\n- Initial release\n";
|
|
7
|
-
export default CHANGELOG_MD_TEMPLATE;
|
|
8
|
-
//# sourceMappingURL=changelog.md.template.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"changelog.md.template.d.ts","sourceRoot":"","sources":["../../../src/templates/changelog.md.template.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,eAAO,MAAM,qBAAqB,iNAWjC,CAAA;AAED,eAAe,qBAAqB,CAAA"}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* CHANGELOG.md Template
|
|
3
|
-
*
|
|
4
|
-
* Template for new skill CHANGELOG files.
|
|
5
|
-
*/
|
|
6
|
-
export const CHANGELOG_MD_TEMPLATE = `# Changelog
|
|
7
|
-
|
|
8
|
-
All notable changes to {{name}} are documented here.
|
|
9
|
-
|
|
10
|
-
Format follows [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
|
|
11
|
-
|
|
12
|
-
## [1.0.0] - {{date}}
|
|
13
|
-
|
|
14
|
-
### Added
|
|
15
|
-
|
|
16
|
-
- Initial release
|
|
17
|
-
`;
|
|
18
|
-
export default CHANGELOG_MD_TEMPLATE;
|
|
19
|
-
//# sourceMappingURL=changelog.md.template.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"changelog.md.template.js","sourceRoot":"","sources":["../../../src/templates/changelog.md.template.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,CAAC,MAAM,qBAAqB,GAAG;;;;;;;;;;;CAWpC,CAAA;AAED,eAAe,qBAAqB,CAAA"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* CLI Templates
|
|
3
|
-
*
|
|
4
|
-
* Export all templates for skill scaffolding.
|
|
5
|
-
*/
|
|
6
|
-
export { SKILL_MD_TEMPLATE } from './skill.md.template.js';
|
|
7
|
-
export { README_MD_TEMPLATE } from './readme.md.template.js';
|
|
8
|
-
export { CHANGELOG_MD_TEMPLATE } from './changelog.md.template.js';
|
|
9
|
-
export { SUBAGENT_MD_TEMPLATE, CLAUDE_MD_SNIPPET_TEMPLATE, renderSubagentTemplate, renderClaudeMdSnippet, } from './subagent.md.template.js';
|
|
10
|
-
export { renderMcpServerTemplates, type McpServerTemplateData, type McpToolDefinition, type McpParameterDefinition, } from './mcp-server.template.js';
|
|
11
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/templates/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AAClE,OAAO,EACL,oBAAoB,EACpB,0BAA0B,EAC1B,sBAAsB,EACtB,qBAAqB,GACtB,MAAM,2BAA2B,CAAA;AAClC,OAAO,EACL,wBAAwB,EACxB,KAAK,qBAAqB,EAC1B,KAAK,iBAAiB,EACtB,KAAK,sBAAsB,GAC5B,MAAM,0BAA0B,CAAA"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* CLI Templates
|
|
3
|
-
*
|
|
4
|
-
* Export all templates for skill scaffolding.
|
|
5
|
-
*/
|
|
6
|
-
export { SKILL_MD_TEMPLATE } from './skill.md.template.js';
|
|
7
|
-
export { README_MD_TEMPLATE } from './readme.md.template.js';
|
|
8
|
-
export { CHANGELOG_MD_TEMPLATE } from './changelog.md.template.js';
|
|
9
|
-
export { SUBAGENT_MD_TEMPLATE, CLAUDE_MD_SNIPPET_TEMPLATE, renderSubagentTemplate, renderClaudeMdSnippet, } from './subagent.md.template.js';
|
|
10
|
-
export { renderMcpServerTemplates, } from './mcp-server.template.js';
|
|
11
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/templates/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AAClE,OAAO,EACL,oBAAoB,EACpB,0BAA0B,EAC1B,sBAAsB,EACtB,qBAAqB,GACtB,MAAM,2BAA2B,CAAA;AAClC,OAAO,EACL,wBAAwB,GAIzB,MAAM,0BAA0B,CAAA"}
|
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* SMI-1433: MCP Server Template
|
|
3
|
-
*
|
|
4
|
-
* Templates for scaffolding TypeScript MCP servers with stdio transport.
|
|
5
|
-
* Generated servers are npx-ready and follow @modelcontextprotocol/sdk patterns.
|
|
6
|
-
*
|
|
7
|
-
* @example Basic Usage
|
|
8
|
-
* ```typescript
|
|
9
|
-
* import { renderMcpServerTemplates } from './mcp-server.template.js'
|
|
10
|
-
*
|
|
11
|
-
* const files = renderMcpServerTemplates({
|
|
12
|
-
* name: 'my-mcp-server',
|
|
13
|
-
* description: 'Does cool things',
|
|
14
|
-
* author: 'developer',
|
|
15
|
-
* tools: []
|
|
16
|
-
* })
|
|
17
|
-
*
|
|
18
|
-
* // files is a Map<string, string> of file paths to content
|
|
19
|
-
* // Keys: package.json, tsconfig.json, src/index.ts, src/server.ts,
|
|
20
|
-
* // src/tools/index.ts, src/tools/example.ts, README.md, .gitignore
|
|
21
|
-
* ```
|
|
22
|
-
*
|
|
23
|
-
* @example With Custom Tools
|
|
24
|
-
* ```typescript
|
|
25
|
-
* const files = renderMcpServerTemplates({
|
|
26
|
-
* name: 'slack-mcp',
|
|
27
|
-
* description: 'Slack integration MCP server',
|
|
28
|
-
* author: 'team',
|
|
29
|
-
* tools: [
|
|
30
|
-
* {
|
|
31
|
-
* name: 'send_message',
|
|
32
|
-
* description: 'Send a Slack message',
|
|
33
|
-
* parameters: [
|
|
34
|
-
* { name: 'channel', type: 'string', description: 'Channel ID', required: true },
|
|
35
|
-
* { name: 'text', type: 'string', description: 'Message text', required: true }
|
|
36
|
-
* ]
|
|
37
|
-
* }
|
|
38
|
-
* ]
|
|
39
|
-
* })
|
|
40
|
-
* ```
|
|
41
|
-
*
|
|
42
|
-
* @module mcp-server-template
|
|
43
|
-
*/
|
|
44
|
-
export type { McpServerTemplateData, McpToolDefinition, McpParameterDefinition, } from './mcp-template-types.js';
|
|
45
|
-
import type { McpServerTemplateData } from './mcp-template-types.js';
|
|
46
|
-
/**
|
|
47
|
-
* package.json template for MCP server
|
|
48
|
-
*/
|
|
49
|
-
export declare const PACKAGE_JSON_TEMPLATE: string;
|
|
50
|
-
/**
|
|
51
|
-
* tsconfig.json template for MCP server
|
|
52
|
-
*/
|
|
53
|
-
export declare const TSCONFIG_JSON_TEMPLATE = "{\n \"compilerOptions\": {\n \"target\": \"ES2022\",\n \"module\": \"NodeNext\",\n \"moduleResolution\": \"NodeNext\",\n \"lib\": [\"ES2022\"],\n \"outDir\": \"./dist\",\n \"rootDir\": \"./src\",\n \"strict\": true,\n \"esModuleInterop\": true,\n \"skipLibCheck\": true,\n \"forceConsistentCasingInFileNames\": true,\n \"declaration\": true,\n \"declarationMap\": true,\n \"sourceMap\": true\n },\n \"include\": [\"src/**/*\"],\n \"exclude\": [\"node_modules\", \"dist\"]\n}\n";
|
|
54
|
-
/**
|
|
55
|
-
* Main entry point (src/index.ts) template
|
|
56
|
-
*/
|
|
57
|
-
export declare const INDEX_TS_TEMPLATE = "#!/usr/bin/env node\n/**\n * {{name}} - MCP Server\n *\n * {{description}}\n */\n\nimport { createServer, createTransport } from './server.js'\n\nasync function main(): Promise<void> {\n const server = createServer()\n const transport = createTransport()\n await server.connect(transport)\n}\n\nmain().catch((error) => {\n console.error('Server error:', error)\n process.exit(1)\n})\n";
|
|
58
|
-
/**
|
|
59
|
-
* Server setup (src/server.ts) template
|
|
60
|
-
*/
|
|
61
|
-
export declare const SERVER_TS_TEMPLATE = "/**\n * MCP Server Configuration\n *\n * Sets up the MCP server with tool handlers.\n */\n\nimport { Server } from '@modelcontextprotocol/sdk/server/index.js'\nimport { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js'\nimport {\n CallToolRequestSchema,\n ListToolsRequestSchema,\n} from '@modelcontextprotocol/sdk/types.js'\n\nimport { tools, handleToolCall } from './tools/index.js'\n\n/**\n * Create and configure the MCP server\n */\nexport function createServer(): Server {\n const server = new Server(\n {\n name: '{{name}}',\n version: '0.1.0',\n },\n {\n capabilities: {\n tools: {},\n },\n }\n )\n\n // Register tool listing handler\n server.setRequestHandler(ListToolsRequestSchema, async () => {\n return { tools }\n })\n\n // Register tool execution handler\n server.setRequestHandler(CallToolRequestSchema, async (request) => {\n const { name, arguments: args } = request.params\n\n try {\n const result = await handleToolCall(name, args || {})\n return {\n content: [\n {\n type: 'text',\n text: typeof result === 'string' ? result : JSON.stringify(result, null, 2),\n },\n ],\n }\n } catch (error) {\n const message = error instanceof Error ? error.message : 'Unknown error'\n return {\n content: [{ type: 'text', text: `Error: ${message}` }],\n isError: true,\n }\n }\n })\n\n return server\n}\n\n/**\n * Create a stdio transport for the server\n */\nexport function createTransport(): StdioServerTransport {\n return new StdioServerTransport()\n}\n";
|
|
62
|
-
/**
|
|
63
|
-
* Tools index (src/tools/index.ts) template
|
|
64
|
-
*/
|
|
65
|
-
export declare const TOOLS_INDEX_TS_TEMPLATE = "/**\n * Tool Definitions and Handlers\n *\n * Register your MCP tools here.\n */\n\nimport { Tool } from '@modelcontextprotocol/sdk/types.js'\n{{toolImports}}\n\n/**\n * Tool definitions exposed by this MCP server\n */\nexport const tools: Tool[] = [\n{{toolDefinitions}}\n]\n\n/**\n * Route tool calls to appropriate handlers\n */\nexport async function handleToolCall(\n name: string,\n args: Record<string, unknown>\n): Promise<unknown> {\n switch (name) {\n{{toolCases}}\n default:\n throw new Error(`Unknown tool: ${name}`)\n }\n}\n";
|
|
66
|
-
/**
|
|
67
|
-
* Example tool implementation template
|
|
68
|
-
*/
|
|
69
|
-
export declare const EXAMPLE_TOOL_TS_TEMPLATE = "/**\n * Example Tool Implementation\n *\n * This is a sample tool to demonstrate the pattern.\n * Replace with your actual tool logic.\n */\n\nimport { Tool } from '@modelcontextprotocol/sdk/types.js'\n\nexport const exampleToolDefinition: Tool = {\n name: 'example',\n description: 'An example tool that echoes input',\n inputSchema: {\n type: 'object',\n properties: {\n message: {\n type: 'string',\n description: 'Message to echo back',\n },\n },\n required: ['message'],\n },\n}\n\nexport interface ExampleToolArgs {\n message: string\n}\n\nexport async function handleExampleTool(args: ExampleToolArgs): Promise<string> {\n return `Echo: ${args.message}`\n}\n";
|
|
70
|
-
/**
|
|
71
|
-
* README.md template for MCP server
|
|
72
|
-
*/
|
|
73
|
-
export declare const MCP_README_TEMPLATE = "# {{name}}\n\n{{description}}\n\n## Installation\n\n```bash\nnpm install -g {{name}}\n```\n\nOr use directly with npx:\n\n```bash\nnpx {{name}}\n```\n\n## Configuration\n\nThis server is MCP-compatible \u2014 pick the snippet that matches your agent.\nSMI-4580: snippets are sourced from `@skillsmith/cli/templates/mcp-server.template.snippets`\nso docs and scaffolded READMEs can't drift.\n\n{{clientSnippets}}\n\n## Available Tools\n\n{{toolDocs}}\n\n## Development\n\n```bash\n# Install dependencies\nnpm install\n\n# Run in development mode\nnpm run dev\n\n# Build for production\nnpm run build\n\n# Run production build\nnpm start\n```\n\n## License\n\nMIT\n";
|
|
74
|
-
/**
|
|
75
|
-
* .gitignore template for MCP server
|
|
76
|
-
*/
|
|
77
|
-
export declare const MCP_GITIGNORE_TEMPLATE = "# Dependencies\nnode_modules/\n\n# Build output\ndist/\n\n# Environment\n.env\n.env.local\n.env.*.local\n\n# IDE\n.idea/\n.vscode/\n*.swp\n*.swo\n\n# OS\n.DS_Store\nThumbs.db\n\n# Logs\n*.log\nnpm-debug.log*\n\n# Test coverage\ncoverage/\n";
|
|
78
|
-
/**
|
|
79
|
-
* Render MCP server templates
|
|
80
|
-
*/
|
|
81
|
-
export declare function renderMcpServerTemplates(data: McpServerTemplateData): Map<string, string>;
|
|
82
|
-
//# sourceMappingURL=mcp-server.template.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-server.template.d.ts","sourceRoot":"","sources":["../../../src/templates/mcp-server.template.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AAGH,YAAY,EACV,qBAAqB,EACrB,iBAAiB,EACjB,sBAAsB,GACvB,MAAM,yBAAyB,CAAA;AAGhC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAgBpE;;GAEG;AACH,eAAO,MAAM,qBAAqB,QAoCjC,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,sBAAsB,4gBAmBlC,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,iBAAiB,0YAmB7B,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,kBAAkB,wnDAoE9B,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,uBAAuB,0iBA6BnC,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,wBAAwB,wsBA+BpC,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,mBAAmB,4pBA+C/B,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,sBAAsB,oPA2BlC,CAAA;AASD;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,qBAAqB,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAyFzF"}
|