virtue-cli
Version:
Personal character development CLI tool for tracking virtues and philosophical alignment
62 lines • 3.23 kB
JavaScript
export const ASCII_LOGO = `
╔══════════════════════════════════════════════════════════════╗
║ ║
║ ██╗ ██╗██╗██████╗ ████████╗██╗ ██╗███████╗ ║
║ ██║ ██║██║██╔══██╗╚══██╔══╝██║ ██║██╔════╝ ║
║ ██║ ██║██║██████╔╝ ██║ ██║ ██║█████╗ ║
║ ╚██╗ ██╔╝██║██╔══██╗ ██║ ██║ ██║██╔══╝ ║
║ ╚████╔╝ ██║██║ ██║ ██║ ╚██████╔╝███████╗ ║
║ ╚═══╝ ╚═╝╚═╝ ╚═╝ ╚═╝ ╚═════╝ ╚══════╝ ║
║ ║
║ 📊 Personal Character Development Tool ║
║ ║
╚══════════════════════════════════════════════════════════════╝`;
export class ASCIIArt {
static virtueIcon(virtue) {
const icons = {
'Intellectual Honesty': '🧠',
'Emotional Courage': '❤️',
'Compassionate Action': '🤝',
'Mindful Presence': '🧘',
'Justice': '⚖️',
'Wisdom': '🦉',
'Courage': '🦁',
'Temperance': '⚗️',
'Faith': '🙏',
'Hope': '🌟',
'Charity': '💝'
};
return icons[virtue] || '🎯';
}
static coherenceBar(score, width = 20) {
const filled = Math.round(score * width);
return '█'.repeat(filled) + '░'.repeat(width - filled);
}
static alignmentBar(alignment) {
const percentage = Math.round(alignment * 100);
const filled = Math.round(percentage / 5); // 20 character bar
return '▓'.repeat(filled) + '░'.repeat(20 - filled);
}
static trendArrow(current, previous) {
const diff = current - previous;
if (Math.abs(diff) < 0.02)
return '→';
return diff > 0 ? '↗' : '↘';
}
static progressBar(percentage, width = 20) {
const filled = Math.round((percentage / 100) * width);
const empty = width - filled;
return '█'.repeat(filled) + '░'.repeat(empty);
}
static getTrendIndicator(current, previous) {
const diff = current - previous;
if (Math.abs(diff) < 0.02) {
return '→ Stable';
}
if (diff > 0) {
return `↗ +${(diff * 100).toFixed(1)}%`;
}
return `↘ ${(diff * 100).toFixed(1)}%`;
}
}
//# sourceMappingURL=ascii-art.js.map