UNPKG

@sigyl-dev/cli

Version:

Official Sigyl CLI for installing and managing MCP packages. Zero-config installation for public packages, secure API-based authentication.

85 lines 4.04 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.runWizard = runWizard; const chalk_1 = __importDefault(require("chalk")); const inquirer_1 = __importDefault(require("inquirer")); const init_1 = require("./commands/init"); const inspect_1 = __importDefault(require("./commands/inspect")); const node_fs_1 = require("node:fs"); const scan_1 = require("./commands/scan"); async function runWizard() { console.log(chalk_1.default.cyan("\nWelcome to the Sigyl Interactive Wizard!\n")); let exit = false; while (!exit) { const { action } = await inquirer_1.default.prompt([ { type: "list", name: "action", message: "What do you want to do?", choices: [ { name: "Generate a blank template", value: "init" }, { name: "Generate from express app", value: "scan" }, { name: "Run inspector", value: "inspscanect" }, { name: "Exit", value: "exit" } ] } ]); switch (action) { case "init": { const { out, language, name } = await inquirer_1.default.prompt([ { type: "input", name: "out", message: "Output directory:", default: "template-server" }, { type: "list", name: "language", message: "Server language:", choices: ["typescript", "javascript"], default: "typescript" }, { type: "input", name: "name", message: "Server name:", default: "my-mcp-server" } ]); await (0, init_1.initTemplate)({ outDir: out, serverLanguage: language, name }); exit = true; break; } case "scan": { const { directory, out, language } = await inquirer_1.default.prompt([ { type: "input", name: "directory", message: "Express app directory:", default: "." }, { type: "input", name: "out", message: "Output directory:", default: "template-server" }, { type: "list", name: "language", message: "Server language:", choices: ["typescript", "javascript"], default: "typescript" } ]); await (0, scan_1.scanAndGenerate)(directory, { outDir: out, serverLanguage: language }); exit = true; break; } case "inspect": { const { serverPath } = await inquirer_1.default.prompt([ { type: "input", name: "serverPath", message: "Path or URL to MCP server:", default: "template-server/server.js" } ]); await (0, inspect_1.default)([], serverPath); exit = true; break; } case "install": { console.log(chalk_1.default.yellow("\nPlease use the 'install' command directly for advanced options.\n")); break; } case "clean": { const { out } = await inquirer_1.default.prompt([ { type: "input", name: "out", message: "Output directory to clean:", default: ".mcp-generated" } ]); if ((0, node_fs_1.existsSync)(out)) { (0, node_fs_1.rmSync)(out, { recursive: true, force: true }); console.log(chalk_1.default.green(`✅ Cleaned ${out} directory`)); } else { console.log(chalk_1.default.yellow(`⚠️ Directory ${out} not found`)); } exit = true; break; } case "exit": default: exit = true; console.log(chalk_1.default.cyan("Goodbye!")); break; } } } //# sourceMappingURL=wizard.js.map