#!/usr/bin/env node // Catch unhandled rejections so the process exits with a clear error process.on("unhandledRejection", (reason) => { console.error("Fatal: unhandled promise rejection, ", reason); process.exit(1); }); import { createRequire } from "node:module"; import { Command } from "commander"; import { loginCommand } from "./commands/login.js"; import { searchCommand } from "./commands/search.js"; import { installCommand } from "./commands/install.js"; import { listCommand } from "./commands/list.js"; import { updateCommand } from "./commands/update.js"; import { publishCommand } from "./commands/publish.js"; import { versionCreateCommand } from "./commands/version-create.js"; import { logoutCommand } from "./commands/logout.js"; import { whoamiCommand } from "./commands/whoami.js"; import { infoCommand } from "./commands/info.js"; import { uninstallCommand } from "./commands/uninstall.js"; import { categoriesCommand } from "./commands/categories.js"; import { diffCommand } from "./commands/diff.js"; import { unpublishCommand } from "./commands/unpublish.js"; import { orgCommand } from "./commands/org.js"; import { initCommand } from "./commands/init.js"; import { generateCommand } from "./commands/generate.js"; import { testCommand } from "./commands/test.js"; import { syncCommand } from "./commands/sync.js"; import { installBundleCommand } from "./commands/install-bundle.js"; import { suggestCommand } from "./commands/suggest.js"; import { restoreCommand } from "./commands/restore.js"; import { listPlatformsCommand } from "./commands/list-platforms.js"; import { feedbackCommand } from "./commands/feedback.js"; import { verifyCommand } from "./commands/verify.js"; import { lintCommand } from "./commands/lint.js"; // Read the real version from package.json rather than hardcoding it. The // literal here said "0.1.0" while the package shipped 0.4.x, so // `skills-hub --version` reported a version that never existed to users and // made bug reports impossible to place against a release. const { version: CLI_VERSION } = createRequire(import.meta.url)( "../package.json", ) as { version: string }; const program = new Command() .name("skills-hub") .description("CLI for skills-hub.ai, discover and install AI coding skills") .version(CLI_VERSION); program.addCommand(loginCommand); program.addCommand(logoutCommand); program.addCommand(whoamiCommand); program.addCommand(searchCommand); program.addCommand(installCommand); program.addCommand(uninstallCommand); program.addCommand(listCommand); program.addCommand(updateCommand); program.addCommand(publishCommand); program.addCommand(versionCreateCommand); program.addCommand(infoCommand); program.addCommand(categoriesCommand); program.addCommand(diffCommand); program.addCommand(unpublishCommand); program.addCommand(orgCommand); program.addCommand(initCommand); program.addCommand(generateCommand); program.addCommand(testCommand); program.addCommand(syncCommand); program.addCommand(installBundleCommand); program.addCommand(suggestCommand); program.addCommand(restoreCommand); program.addCommand(listPlatformsCommand); program.addCommand(feedbackCommand); program.addCommand(verifyCommand); program.addCommand(lintCommand); program.parse();