UNPKG

todofordevs

Version:

CLI for TodoForDevs - A simple task management tool for developers

40 lines (39 loc) 1.58 kB
#!/usr/bin/env node "use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const commander_1 = require("commander"); const chalk_1 = __importDefault(require("chalk")); const auth_1 = require("./commands/auth"); const project_1 = require("./commands/project"); const task_1 = require("./commands/task"); // Create the main program const program = new commander_1.Command(); // Set up basic program information program .name('todo') .description('TodoForDevs CLI - A simple task management tool for developers') .version('1.1.0'); // Register command groups (0, auth_1.registerAuthCommands)(program); (0, project_1.registerProjectCommands)(program); (0, task_1.registerTaskCommands)(program); // Add a global help flag program.helpOption('-h, --help', 'Display help for command'); // Handle unknown commands program.on('command:*', (operands) => { console.error(chalk_1.default.red(`Error: unknown command '${operands[0]}'`)); const availableCommands = program.commands.map((cmd) => cmd.name()); console.error(chalk_1.default.yellow(`Available commands: ${availableCommands.join(', ')}`)); console.error(''); console.error(`Run ${chalk_1.default.cyan('todo --help')} for a list of available commands.`); process.exit(1); }); // Parse command line arguments program.parse(process.argv); // If no arguments provided, show help if (process.argv.length === 2) { program.outputHelp(); }