todofordevs
Version:
CLI for TodoForDevs - A simple task management tool for developers
40 lines (39 loc) • 1.58 kB
JavaScript
;
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();
}