vibe-coder-mcp
Version:
Production-ready MCP server with complete agent integration, multi-transport support, and comprehensive development automation tools for AI-assisted workflows.
77 lines (76 loc) âĸ 2.62 kB
JavaScript
import boxen from 'boxen';
import figlet from 'figlet';
import { themeManager } from '../themes.js';
import { readFileSync } from 'fs';
import { fileURLToPath } from 'url';
import path from 'path';
const __filename = fileURLToPath(import.meta.url);
const __dirname = path.dirname(__filename);
function getPackageVersion() {
try {
const packagePath = path.resolve(__dirname, '../../../../package.json');
const packageContent = readFileSync(packagePath, 'utf-8');
const packageJson = JSON.parse(packageContent);
return packageJson.version || '0.0.0';
}
catch {
return '0.0.0';
}
}
export function getAsciiBanner() {
try {
return figlet.textSync('Vibe', {
font: 'Standard',
horizontalLayout: 'default',
verticalLayout: 'default'
});
}
catch {
return 'VIBE';
}
}
export function getBanner() {
const asciiArt = getAsciiBanner();
const colors = themeManager.getColors();
const version = getPackageVersion();
const content = colors.primary(asciiArt) + '\n\n' +
colors.textBright(`AI Development Assistant v${version}`) + '\n' +
colors.textMuted('Powered by OpenRouter & Claude') + '\n\n' +
colors.warning('Quick Commands:') + '\n' +
colors.success(' /help ') + colors.textMuted('Show available commands') + '\n' +
colors.success(' /tools ') + colors.textMuted('List available tools') + '\n' +
colors.success(' /quit ') + colors.textMuted('Exit interactive mode');
return boxen(content, {
padding: 1,
margin: 1,
borderStyle: 'round',
borderColor: 'cyan',
title: 'đ¤ Vibe Interactive Mode',
titleAlignment: 'center'
});
}
export function getSessionStartMessage() {
const time = new Date().toLocaleTimeString();
const colors = themeManager.getColors();
return colors.textMuted(`Session started at ${time}`);
}
export function getPrompt() {
const colors = themeManager.getColors();
return colors.prompt('vibe> ');
}
export function formatSuccess(message) {
const colors = themeManager.getColors();
return colors.success('â
' + message);
}
export function formatError(message) {
const colors = themeManager.getColors();
return colors.error('â ' + message);
}
export function formatWarning(message) {
const colors = themeManager.getColors();
return colors.warning('â ī¸ ' + message);
}
export function formatInfo(message) {
const colors = themeManager.getColors();
return colors.info('âšī¸ ' + message);
}