cursor-kit-cli 1.0.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.
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/cli.ts","../src/utils/branding.ts","../src/commands/init.ts","../src/utils/fs.ts","../src/utils/constants.ts","../src/commands/add.ts","../src/commands/pull.ts","../src/commands/list.ts","../src/commands/remove.ts"],"sourcesContent":["import { defineCommand, runMain } from \"citty\";\nimport { printBanner, printVersion } from \"./utils/branding\";\nimport { initCommand } from \"./commands/init\";\nimport { addCommand } from \"./commands/add\";\nimport { pullCommand } from \"./commands/pull\";\nimport { listCommand } from \"./commands/list\";\nimport { removeCommand } from \"./commands/remove\";\n\nconst main = defineCommand({\n meta: {\n name: \"cursor-kit\",\n version: \"0.1.0\",\n description: \"CLI toolkit to manage Cursor IDE rules and commands\",\n },\n setup() {\n printBanner();\n printVersion(\"0.1.0\");\n },\n subCommands: {\n init: initCommand,\n add: addCommand,\n pull: pullCommand,\n list: listCommand,\n remove: removeCommand,\n },\n});\n\nrunMain(main);\n\n","import figlet from \"figlet\";\nimport gradient from \"gradient-string\";\nimport pc from \"picocolors\";\n\nconst cursorGradient = gradient([\"#00DC82\", \"#36E4DA\", \"#0047E1\"]);\n\nexport function printBanner(): void {\n const banner = figlet.textSync(\"Cursor Kit\", {\n font: \"ANSI Shadow\",\n horizontalLayout: \"fitted\",\n });\n\n console.log(cursorGradient.multiline(banner));\n console.log();\n console.log(\n pc.dim(\" \") +\n pc.bold(pc.cyan(\"✦\")) +\n pc.dim(\" Supercharge your Cursor IDE with rules & commands\")\n );\n console.log();\n}\n\nexport function printSuccess(message: string): void {\n console.log(pc.green(\"✓\") + pc.dim(\" \") + message);\n}\n\nexport function printError(message: string): void {\n console.log(pc.red(\"✗\") + pc.dim(\" \") + message);\n}\n\nexport function printInfo(message: string): void {\n console.log(pc.cyan(\"ℹ\") + pc.dim(\" \") + message);\n}\n\nexport function printWarning(message: string): void {\n console.log(pc.yellow(\"⚠\") + pc.dim(\" \") + message);\n}\n\nexport function printDivider(): void {\n console.log(pc.dim(\"─\".repeat(50)));\n}\n\nexport function printVersion(version: string): void {\n console.log(\n pc.dim(\" v\") + cursorGradient(version) + pc.dim(\" • Made with ♥\")\n );\n console.log();\n}\n\nexport function highlight(text: string): string {\n return pc.cyan(text);\n}\n\nexport function dim(text: string): string {\n return pc.dim(text);\n}\n\nexport function bold(text: string): string {\n return pc.bold(text);\n}\n\nexport function gradientText(text: string): string {\n return cursorGradient(text);\n}\n\n","import { defineCommand } from \"citty\";\nimport * as p from \"@clack/prompts\";\nimport pc from \"picocolors\";\nimport { downloadTemplate } from \"giget\";\nimport {\n ensureDir,\n getCursorDir,\n getCommandsDir,\n getRulesDir,\n dirExists,\n listFiles,\n} from \"../utils/fs\";\nimport { REPO_URL, REPO_REF } from \"../utils/constants\";\nimport { highlight, printDivider, printSuccess } from \"../utils/branding\";\n\nexport const initCommand = defineCommand({\n meta: {\n name: \"init\",\n description:\n \"Initialize .cursor/commands and .cursor/rules in your project\",\n },\n args: {\n force: {\n type: \"boolean\",\n alias: \"f\",\n description: \"Overwrite existing files\",\n default: false,\n },\n commands: {\n type: \"boolean\",\n alias: \"c\",\n description: \"Only initialize commands\",\n default: false,\n },\n rules: {\n type: \"boolean\",\n alias: \"r\",\n description: \"Only initialize rules\",\n default: false,\n },\n },\n async run({ args }) {\n const cwd = process.cwd();\n const cursorDir = getCursorDir(cwd);\n const commandsDir = getCommandsDir(cwd);\n const rulesDir = getRulesDir(cwd);\n\n const initBoth = !args.commands && !args.rules;\n const shouldInitCommands = initBoth || args.commands;\n const shouldInitRules = initBoth || args.rules;\n\n p.intro(pc.bgCyan(pc.black(\" cursor-kit init \")));\n\n const commandsExist =\n dirExists(commandsDir) && listFiles(commandsDir).length > 0;\n const rulesExist = dirExists(rulesDir) && listFiles(rulesDir).length > 0;\n\n if ((commandsExist || rulesExist) && !args.force) {\n const existingItems: string[] = [];\n if (commandsExist) existingItems.push(\"commands\");\n if (rulesExist) existingItems.push(\"rules\");\n\n const shouldContinue = await p.confirm({\n message: `Existing ${existingItems.join(\" and \")} found. Overwrite?`,\n initialValue: false,\n });\n\n if (p.isCancel(shouldContinue) || !shouldContinue) {\n p.cancel(\"Operation cancelled\");\n process.exit(0);\n }\n }\n\n const s = p.spinner();\n\n try {\n ensureDir(cursorDir);\n\n if (shouldInitCommands) {\n s.start(\"Fetching commands templates...\");\n await downloadTemplate(`${REPO_URL}/templates/commands#${REPO_REF}`, {\n dir: commandsDir,\n force: true,\n });\n s.stop(\"Commands initialized\");\n }\n\n if (shouldInitRules) {\n s.start(\"Fetching rules templates...\");\n await downloadTemplate(`${REPO_URL}/templates/rules#${REPO_REF}`, {\n dir: rulesDir,\n force: true,\n });\n s.stop(\"Rules initialized\");\n }\n\n printDivider();\n console.log();\n\n const commandFiles = listFiles(commandsDir, \".md\");\n const ruleFiles = listFiles(rulesDir, \".mdc\");\n\n if (shouldInitCommands && commandFiles.length > 0) {\n printSuccess(\n `Commands: ${highlight(commandFiles.length.toString())} templates`\n );\n commandFiles.forEach((f) => {\n console.log(pc.dim(` └─ ${f}`));\n });\n }\n\n if (shouldInitRules && ruleFiles.length > 0) {\n printSuccess(\n `Rules: ${highlight(ruleFiles.length.toString())} templates`\n );\n ruleFiles.forEach((f) => {\n console.log(pc.dim(` └─ ${f}`));\n });\n }\n\n console.log();\n p.outro(pc.green(\"✨ Cursor Kit initialized successfully!\"));\n } catch (error) {\n s.stop(\"Failed\");\n p.cancel(\n `Error: ${error instanceof Error ? error.message : \"Unknown error\"}`\n );\n process.exit(1);\n }\n },\n});\n","import { existsSync, mkdirSync, readdirSync, readFileSync, writeFileSync, rmSync, statSync } from \"node:fs\";\nimport { dirname, join, resolve } from \"node:path\";\n\nexport function ensureDir(path: string): void {\n if (!existsSync(path)) {\n mkdirSync(path, { recursive: true });\n }\n}\n\nexport function fileExists(path: string): boolean {\n return existsSync(path);\n}\n\nexport function dirExists(path: string): boolean {\n return existsSync(path) && statSync(path).isDirectory();\n}\n\nexport function readFile(path: string): string {\n return readFileSync(path, \"utf-8\");\n}\n\nexport function writeFile(path: string, content: string): void {\n ensureDir(dirname(path));\n writeFileSync(path, content, \"utf-8\");\n}\n\nexport function removeFile(path: string): void {\n if (existsSync(path)) {\n rmSync(path, { recursive: true });\n }\n}\n\nexport function listFiles(dir: string, extension?: string): string[] {\n if (!dirExists(dir)) return [];\n \n const files = readdirSync(dir);\n if (extension) {\n return files.filter((f) => f.endsWith(extension));\n }\n return files;\n}\n\nexport function getCursorDir(cwd: string = process.cwd()): string {\n return join(cwd, \".cursor\");\n}\n\nexport function getCommandsDir(cwd: string = process.cwd()): string {\n return join(getCursorDir(cwd), \"commands\");\n}\n\nexport function getRulesDir(cwd: string = process.cwd()): string {\n return join(getCursorDir(cwd), \"rules\");\n}\n\nexport function resolveFromCwd(...paths: string[]): string {\n return resolve(process.cwd(), ...paths);\n}\n\nexport function getPackageJson(cwd: string = process.cwd()): Record<string, unknown> | null {\n const pkgPath = join(cwd, \"package.json\");\n if (!fileExists(pkgPath)) return null;\n \n try {\n return JSON.parse(readFile(pkgPath));\n } catch {\n return null;\n }\n}\n\n","export const REPO_URL = \"github:duongductrong/cursor-kit\";\nexport const REPO_REF = \"master\";\nexport const REPO_RAW_URL = \"https://raw.githubusercontent.com/duongductrong/cursor-kit/master\";\n\nexport const CURSOR_DIR = \".cursor\";\nexport const COMMANDS_DIR = \"commands\";\nexport const RULES_DIR = \"rules\";\n\nexport const COMMAND_EXTENSION = \".md\";\nexport const RULE_EXTENSION = \".mdc\";\n\nexport const CONFIG_FILE = \".cursorkit\";\n\nexport const TEMPLATE_PATHS = {\n commands: \"templates/commands\",\n rules: \"templates/rules\",\n} as const;\n\n","import { defineCommand } from \"citty\";\nimport * as p from \"@clack/prompts\";\nimport pc from \"picocolors\";\nimport {\n ensureDir,\n getCommandsDir,\n getRulesDir,\n writeFile,\n fileExists,\n} from \"../utils/fs\";\nimport { highlight } from \"../utils/branding\";\nimport { join } from \"node:path\";\n\ntype ItemType = \"command\" | \"rule\";\n\nconst COMMAND_TEMPLATE = `You are a helpful assistant. Describe what this command does.\n\n## Instructions\n- Step 1: ...\n- Step 2: ...\n\n## Rules\n- Be concise\n- Focus on the task\n\nSTART: Wait for user input.\n`;\n\nconst RULE_TEMPLATE = `---\ndescription: Describe when this rule should apply\nglobs: \nalwaysApply: false\n---\n\n# Rule Title\n\nDescribe the rule behavior here.\n\n## Guidelines\n- Guideline 1\n- Guideline 2\n`;\n\nfunction generateSlug(name: string): string {\n return name\n .toLowerCase()\n .replace(/[^a-z0-9\\s-]/g, \"\")\n .replace(/\\s+/g, \"-\")\n .replace(/-+/g, \"-\")\n .trim();\n}\n\nexport const addCommand = defineCommand({\n meta: {\n name: \"add\",\n description: \"Add a new command or rule\",\n },\n args: {\n type: {\n type: \"string\",\n alias: \"t\",\n description: \"Type: 'command' or 'rule'\",\n },\n name: {\n type: \"string\",\n alias: \"n\",\n description: \"Name of the command or rule\",\n },\n },\n async run({ args }) {\n p.intro(pc.bgCyan(pc.black(\" cursor-kit add \")));\n\n let itemType: ItemType;\n let itemName: string;\n\n if (args.type && [\"command\", \"rule\"].includes(args.type)) {\n itemType = args.type as ItemType;\n } else {\n const typeResult = await p.select({\n message: \"What do you want to add?\",\n options: [\n {\n value: \"command\",\n label: \"Command\",\n hint: \"A reusable prompt template\",\n },\n {\n value: \"rule\",\n label: \"Rule\",\n hint: \"Project-specific AI behavior rules\",\n },\n ],\n });\n\n if (p.isCancel(typeResult)) {\n p.cancel(\"Operation cancelled\");\n process.exit(0);\n }\n\n itemType = typeResult as ItemType;\n }\n\n if (args.name) {\n itemName = args.name;\n } else {\n const nameResult = await p.text({\n message: `Enter ${itemType} name:`,\n placeholder: itemType === \"command\" ? \"my-command\" : \"my-rule\",\n validate: (value) => {\n if (!value.trim()) return \"Name is required\";\n if (value.length < 2) return \"Name must be at least 2 characters\";\n return undefined;\n },\n });\n\n if (p.isCancel(nameResult)) {\n p.cancel(\"Operation cancelled\");\n process.exit(0);\n }\n\n itemName = nameResult;\n }\n\n const slug = generateSlug(itemName);\n const isCommand = itemType === \"command\";\n const targetDir = isCommand ? getCommandsDir() : getRulesDir();\n const extension = isCommand ? \".md\" : \".mdc\";\n const filePath = join(targetDir, `${slug}${extension}`);\n\n if (fileExists(filePath)) {\n const shouldOverwrite = await p.confirm({\n message: `${highlight(slug + extension)} already exists. Overwrite?`,\n initialValue: false,\n });\n\n if (p.isCancel(shouldOverwrite) || !shouldOverwrite) {\n p.cancel(\"Operation cancelled\");\n process.exit(0);\n }\n }\n\n const s = p.spinner();\n s.start(`Creating ${itemType}...`);\n\n try {\n ensureDir(targetDir);\n const template = isCommand ? COMMAND_TEMPLATE : RULE_TEMPLATE;\n writeFile(filePath, template);\n\n s.stop(`${itemType.charAt(0).toUpperCase() + itemType.slice(1)} created`);\n\n console.log();\n console.log(pc.dim(\" File: \") + highlight(filePath));\n console.log();\n\n p.outro(\n pc.green(`✨ ${itemType.charAt(0).toUpperCase() + itemType.slice(1)} created! Edit the file to customize it.`)\n );\n } catch (error) {\n s.stop(\"Failed\");\n p.cancel(`Error: ${error instanceof Error ? error.message : \"Unknown error\"}`);\n process.exit(1);\n }\n },\n});\n\n","import { defineCommand } from \"citty\";\nimport * as p from \"@clack/prompts\";\nimport pc from \"picocolors\";\nimport { downloadTemplate } from \"giget\";\nimport {\n ensureDir,\n getCommandsDir,\n getRulesDir,\n listFiles,\n getCursorDir,\n} from \"../utils/fs\";\nimport { REPO_URL, REPO_REF } from \"../utils/constants\";\nimport { highlight, printDivider, printSuccess, printInfo } from \"../utils/branding\";\n\nexport const pullCommand = defineCommand({\n meta: {\n name: \"pull\",\n description: \"Pull latest updates from cursor-kit repository\",\n },\n args: {\n commands: {\n type: \"boolean\",\n alias: \"c\",\n description: \"Only pull commands\",\n default: false,\n },\n rules: {\n type: \"boolean\",\n alias: \"r\",\n description: \"Only pull rules\",\n default: false,\n },\n force: {\n type: \"boolean\",\n alias: \"f\",\n description: \"Force overwrite without confirmation\",\n default: false,\n },\n },\n async run({ args }) {\n const pullBoth = !args.commands && !args.rules;\n const shouldPullCommands = pullBoth || args.commands;\n const shouldPullRules = pullBoth || args.rules;\n\n p.intro(pc.bgCyan(pc.black(\" cursor-kit pull \")));\n\n const commandsDir = getCommandsDir();\n const rulesDir = getRulesDir();\n\n const existingCommands = listFiles(commandsDir, \".md\");\n const existingRules = listFiles(rulesDir, \".mdc\");\n const hasExisting = existingCommands.length > 0 || existingRules.length > 0;\n\n if (hasExisting && !args.force) {\n printInfo(\"Current status:\");\n if (existingCommands.length > 0) {\n console.log(pc.dim(` Commands: ${existingCommands.length} files`));\n }\n if (existingRules.length > 0) {\n console.log(pc.dim(` Rules: ${existingRules.length} files`));\n }\n console.log();\n\n const shouldContinue = await p.confirm({\n message: \"This will merge with existing files. Continue?\",\n initialValue: true,\n });\n\n if (p.isCancel(shouldContinue) || !shouldContinue) {\n p.cancel(\"Operation cancelled\");\n process.exit(0);\n }\n }\n\n const s = p.spinner();\n\n try {\n ensureDir(getCursorDir());\n\n if (shouldPullCommands) {\n s.start(\"Pulling commands...\");\n await downloadTemplate(`${REPO_URL}/templates/commands#${REPO_REF}`, {\n dir: commandsDir,\n force: true,\n });\n s.stop(\"Commands updated\");\n }\n\n if (shouldPullRules) {\n s.start(\"Pulling rules...\");\n await downloadTemplate(`${REPO_URL}/templates/rules#${REPO_REF}`, {\n dir: rulesDir,\n force: true,\n });\n s.stop(\"Rules updated\");\n }\n\n printDivider();\n console.log();\n\n const newCommands = listFiles(commandsDir, \".md\");\n const newRules = listFiles(rulesDir, \".mdc\");\n\n if (shouldPullCommands) {\n const added = newCommands.length - existingCommands.length;\n printSuccess(\n `Commands: ${highlight(newCommands.length.toString())} total` +\n (added > 0 ? pc.green(` (+${added} new)`) : \"\")\n );\n }\n\n if (shouldPullRules) {\n const added = newRules.length - existingRules.length;\n printSuccess(\n `Rules: ${highlight(newRules.length.toString())} total` +\n (added > 0 ? pc.green(` (+${added} new)`) : \"\")\n );\n }\n\n console.log();\n p.outro(pc.green(\"✨ Successfully pulled latest updates!\"));\n } catch (error) {\n s.stop(\"Failed\");\n p.cancel(`Error: ${error instanceof Error ? error.message : \"Unknown error\"}`);\n process.exit(1);\n }\n },\n});\n\n","import { defineCommand } from \"citty\";\nimport * as p from \"@clack/prompts\";\nimport pc from \"picocolors\";\nimport {\n getCommandsDir,\n getRulesDir,\n listFiles,\n readFile,\n fileExists,\n} from \"../utils/fs\";\nimport { highlight, printDivider } from \"../utils/branding\";\nimport { join } from \"node:path\";\n\ninterface ItemInfo {\n name: string;\n path: string;\n description?: string;\n}\n\nfunction extractDescription(content: string, isCommand: boolean): string | undefined {\n if (isCommand) {\n const firstLine = content.trim().split(\"\\n\")[0];\n if (firstLine && !firstLine.startsWith(\"#\") && !firstLine.startsWith(\"---\")) {\n return firstLine.slice(0, 60) + (firstLine.length > 60 ? \"...\" : \"\");\n }\n } else {\n const match = content.match(/description:\\s*(.+)/);\n if (match) {\n return match[1].trim().slice(0, 60) + (match[1].length > 60 ? \"...\" : \"\");\n }\n }\n return undefined;\n}\n\nfunction getItems(dir: string, extension: string, isCommand: boolean): ItemInfo[] {\n const files = listFiles(dir, extension);\n return files.map((file) => {\n const filePath = join(dir, file);\n const content = fileExists(filePath) ? readFile(filePath) : \"\";\n return {\n name: file.replace(extension, \"\"),\n path: filePath,\n description: extractDescription(content, isCommand),\n };\n });\n}\n\nexport const listCommand = defineCommand({\n meta: {\n name: \"list\",\n description: \"List all commands and rules\",\n },\n args: {\n commands: {\n type: \"boolean\",\n alias: \"c\",\n description: \"Only list commands\",\n default: false,\n },\n rules: {\n type: \"boolean\",\n alias: \"r\",\n description: \"Only list rules\",\n default: false,\n },\n verbose: {\n type: \"boolean\",\n alias: \"v\",\n description: \"Show full file paths\",\n default: false,\n },\n },\n async run({ args }) {\n const listBoth = !args.commands && !args.rules;\n const shouldListCommands = listBoth || args.commands;\n const shouldListRules = listBoth || args.rules;\n\n p.intro(pc.bgCyan(pc.black(\" cursor-kit list \")));\n\n const commandsDir = getCommandsDir();\n const rulesDir = getRulesDir();\n\n const commands = shouldListCommands ? getItems(commandsDir, \".md\", true) : [];\n const rules = shouldListRules ? getItems(rulesDir, \".mdc\", false) : [];\n\n if (commands.length === 0 && rules.length === 0) {\n console.log();\n console.log(pc.yellow(\" No commands or rules found.\"));\n console.log(pc.dim(\" Run \") + highlight(\"cursor-kit init\") + pc.dim(\" to get started.\"));\n console.log();\n p.outro(pc.dim(\"Nothing to show\"));\n return;\n }\n\n printDivider();\n\n if (shouldListCommands && commands.length > 0) {\n console.log();\n console.log(pc.bold(pc.cyan(\" 📜 Commands\")) + pc.dim(` (${commands.length})`));\n console.log();\n\n commands.forEach((cmd) => {\n console.log(` ${pc.green(\"●\")} ${highlight(cmd.name)}`);\n if (cmd.description) {\n console.log(pc.dim(` ${cmd.description}`));\n }\n if (args.verbose) {\n console.log(pc.dim(` ${cmd.path}`));\n }\n });\n }\n\n if (shouldListRules && rules.length > 0) {\n console.log();\n console.log(pc.bold(pc.cyan(\" 📋 Rules\")) + pc.dim(` (${rules.length})`));\n console.log();\n\n rules.forEach((rule) => {\n console.log(` ${pc.green(\"●\")} ${highlight(rule.name)}`);\n if (rule.description) {\n console.log(pc.dim(` ${rule.description}`));\n }\n if (args.verbose) {\n console.log(pc.dim(` ${rule.path}`));\n }\n });\n }\n\n console.log();\n printDivider();\n\n const total = commands.length + rules.length;\n p.outro(pc.dim(`Total: ${total} item${total !== 1 ? \"s\" : \"\"}`));\n },\n});\n\n","import { defineCommand } from \"citty\";\nimport * as p from \"@clack/prompts\";\nimport pc from \"picocolors\";\nimport {\n getCommandsDir,\n getRulesDir,\n listFiles,\n removeFile,\n fileExists,\n} from \"../utils/fs\";\nimport { highlight, printSuccess } from \"../utils/branding\";\nimport { join } from \"node:path\";\n\ntype ItemType = \"command\" | \"rule\";\n\ninterface SelectOption {\n value: string;\n label: string;\n hint?: string;\n}\n\nexport const removeCommand = defineCommand({\n meta: {\n name: \"remove\",\n description: \"Remove a command or rule\",\n },\n args: {\n type: {\n type: \"string\",\n alias: \"t\",\n description: \"Type: 'command' or 'rule'\",\n },\n name: {\n type: \"string\",\n alias: \"n\",\n description: \"Name of the command or rule to remove\",\n },\n force: {\n type: \"boolean\",\n alias: \"f\",\n description: \"Skip confirmation\",\n default: false,\n },\n },\n async run({ args }) {\n p.intro(pc.bgCyan(pc.black(\" cursor-kit remove \")));\n\n const commandsDir = getCommandsDir();\n const rulesDir = getRulesDir();\n\n const commands = listFiles(commandsDir, \".md\").map((f) => f.replace(\".md\", \"\"));\n const rules = listFiles(rulesDir, \".mdc\").map((f) => f.replace(\".mdc\", \"\"));\n\n if (commands.length === 0 && rules.length === 0) {\n console.log();\n console.log(pc.yellow(\" No commands or rules to remove.\"));\n console.log();\n p.outro(pc.dim(\"Nothing to do\"));\n return;\n }\n\n let itemType: ItemType;\n let itemName: string;\n\n if (args.type && [\"command\", \"rule\"].includes(args.type)) {\n itemType = args.type as ItemType;\n } else {\n const typeOptions: SelectOption[] = [];\n\n if (commands.length > 0) {\n typeOptions.push({\n value: \"command\",\n label: \"Command\",\n hint: `${commands.length} available`,\n });\n }\n\n if (rules.length > 0) {\n typeOptions.push({\n value: \"rule\",\n label: \"Rule\",\n hint: `${rules.length} available`,\n });\n }\n\n const typeResult = await p.select({\n message: \"What do you want to remove?\",\n options: typeOptions,\n });\n\n if (p.isCancel(typeResult)) {\n p.cancel(\"Operation cancelled\");\n process.exit(0);\n }\n\n itemType = typeResult as ItemType;\n }\n\n const isCommand = itemType === \"command\";\n const items = isCommand ? commands : rules;\n const dir = isCommand ? commandsDir : rulesDir;\n const extension = isCommand ? \".md\" : \".mdc\";\n\n if (items.length === 0) {\n p.cancel(`No ${itemType}s found`);\n process.exit(0);\n }\n\n if (args.name && items.includes(args.name)) {\n itemName = args.name;\n } else {\n const itemOptions: SelectOption[] = items.map((item) => ({\n value: item,\n label: item,\n }));\n\n const nameResult = await p.select({\n message: `Select ${itemType} to remove:`,\n options: itemOptions,\n });\n\n if (p.isCancel(nameResult)) {\n p.cancel(\"Operation cancelled\");\n process.exit(0);\n }\n\n itemName = nameResult as string;\n }\n\n const filePath = join(dir, `${itemName}${extension}`);\n\n if (!fileExists(filePath)) {\n p.cancel(`${itemType} '${itemName}' not found`);\n process.exit(1);\n }\n\n if (!args.force) {\n const shouldDelete = await p.confirm({\n message: `Are you sure you want to delete ${highlight(itemName + extension)}?`,\n initialValue: false,\n });\n\n if (p.isCancel(shouldDelete) || !shouldDelete) {\n p.cancel(\"Operation cancelled\");\n process.exit(0);\n }\n }\n\n try {\n removeFile(filePath);\n console.log();\n printSuccess(`Removed ${highlight(itemName + extension)}`);\n console.log();\n p.outro(pc.green(\"✨ Done!\"));\n } catch (error) {\n p.cancel(`Error: ${error instanceof Error ? error.message : \"Unknown error\"}`);\n process.exit(1);\n }\n },\n});\n\n"],"mappings":"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","names":["import_citty","gradient","figlet","pc","pc","pc","text","import_picocolors","pc","import_citty","p","import_picocolors","import_node_path","pc","import_citty","p","import_picocolors","import_giget","pc","import_citty","p","import_picocolors","import_node_path","pc","import_citty","p","import_picocolors","import_node_path","pc"]}
package/dist/cli.d.cts ADDED
@@ -0,0 +1,2 @@
1
+
2
+ export { }
package/dist/cli.d.ts ADDED
@@ -0,0 +1,2 @@
1
+
2
+ export { }