UNPKG

vibe-coder-mcp

Version:

Production-ready MCP server with complete agent integration, multi-transport support, and comprehensive development automation tools for AI-assisted workflows.

78 lines (77 loc) 2.42 kB
import chalk from 'chalk'; import boxen from 'boxen'; import Table from 'cli-table3'; import { CLIUtils } from '../../tools/vibe-task-manager/cli/commands/index.js'; export class EnhancedCLIUtils extends CLIUtils { static formatSuccess(message) { console.log(chalk.green(`✓ ${message}`)); } static formatError(message) { console.error(chalk.red(`✗ ${message}`)); } static formatInfo(message) { console.log(chalk.blue(`ℹ ${message}`)); } static formatWarning(message) { console.log(chalk.yellow(`⚠ ${message}`)); } static formatBox(content, title) { console.log(boxen(content, { title, padding: 1, margin: 1, borderStyle: 'round', borderColor: 'cyan', titleAlignment: 'center' })); } static formatTable(headers, rows) { const table = new Table({ head: headers.map(h => chalk.cyan(h)), style: { head: [], border: [] } }); rows.forEach(row => { table.push([...row]); }); console.log(table.toString()); } static formatHeading(text) { console.log(chalk.bold.cyan(text)); console.log(chalk.cyan('─'.repeat(text.length))); } static formatExample(command, description) { console.log(` ${chalk.green(command)}`); console.log(` ${chalk.gray(description)}`); console.log(); } static formatLoading(message) { console.log(chalk.blue(`○ ${message}`)); } static formatKeyValue(data) { const entries = Object.entries(data); const maxKeyLength = Math.max(...entries.map(([key]) => key.length)); entries.forEach(([key, value]) => { const paddedKey = key.padEnd(maxKeyLength); console.log(`${chalk.cyan(paddedKey)} : ${value}`); }); } static formatList(items) { items.forEach(item => { console.log(`• ${item}`); }); } static formatNumberedList(items) { items.forEach((item, index) => { console.log(`${chalk.cyan(`${index + 1}.`)} ${item}`); }); } static formatSeparator(character = '─', length = 50) { console.log(chalk.gray(character.repeat(length))); } static clear() { console.clear(); } }