virtue-cli
Version:
Personal character development CLI tool for tracking virtues and philosophical alignment
148 lines • 6.32 kB
JavaScript
export const CORE_VIRTUES = [
{
name: 'Wisdom',
baseDefinition: 'The pursuit of knowledge, understanding, and sound judgment in decision-making',
emoji: '🧠',
defaultPriority: 1.0,
subDimensions: [
{
name: 'Critical Thinking',
description: 'Analyzing information objectively and questioning assumptions',
indicators: ['Seeks multiple perspectives', 'Questions sources', 'Identifies biases', 'Thinks systematically']
},
{
name: 'Learning Orientation',
description: 'Actively seeking knowledge and remaining open to new ideas',
indicators: ['Reads regularly', 'Asks questions', 'Admits ignorance', 'Changes mind when presented with evidence']
},
{
name: 'Practical Judgment',
description: 'Applying knowledge effectively in real-world situations',
indicators: ['Makes informed decisions', 'Considers consequences', 'Balances competing factors', 'Learns from mistakes']
}
]
},
{
name: 'Integrity',
baseDefinition: 'Aligning actions with values and maintaining honesty in all dealings',
emoji: '💎',
defaultPriority: 0.95,
subDimensions: [
{
name: 'Honesty',
description: 'Being truthful in words and transparent in actions',
indicators: ['Tells the truth', 'Admits mistakes', 'Avoids deception', 'Keeps promises']
},
{
name: 'Authenticity',
description: 'Being genuine and true to one\'s core values',
indicators: ['Acts consistently with beliefs', 'Expresses true opinions', 'Resists social pressure', 'Maintains identity']
},
{
name: 'Reliability',
description: 'Being dependable and following through on commitments',
indicators: ['Meets deadlines', 'Keeps commitments', 'Shows up consistently', 'Takes responsibility']
}
]
},
{
name: 'Compassion',
baseDefinition: 'Understanding others\' experiences and acting to reduce suffering',
emoji: '❤️',
defaultPriority: 0.9,
subDimensions: [
{
name: 'Empathy',
description: 'Understanding and sharing the feelings of others',
indicators: ['Listens actively', 'Recognizes emotions', 'Considers others\' perspectives', 'Shows understanding']
},
{
name: 'Kindness',
description: 'Acting with care and consideration toward others',
indicators: ['Helps others', 'Shows gentleness', 'Offers support', 'Treats people well']
},
{
name: 'Service',
description: 'Contributing to the wellbeing of others and community',
indicators: ['Volunteers time', 'Supports causes', 'Helps those in need', 'Works for common good']
}
]
},
{
name: 'Justice',
baseDefinition: 'Treating people fairly and working toward equitable outcomes',
emoji: '⚖️',
defaultPriority: 0.85,
subDimensions: [
{
name: 'Fairness',
description: 'Applying consistent standards and giving everyone their due',
indicators: ['Treats people equally', 'Follows fair processes', 'Shares resources equitably', 'Avoids favoritism']
},
{
name: 'Advocacy',
description: 'Standing up for rights and speaking against injustice',
indicators: ['Defends the vulnerable', 'Challenges unfairness', 'Speaks up for others', 'Promotes equality']
},
{
name: 'Responsibility',
description: 'Taking ownership of actions and their consequences',
indicators: ['Accepts accountability', 'Considers impact on others', 'Makes amends when needed', 'Thinks about consequences']
}
]
},
{
name: 'Courage',
baseDefinition: 'Acting rightly despite fear, uncertainty, or opposition',
emoji: '🦁',
defaultPriority: 0.8,
subDimensions: [
{
name: 'Moral Courage',
description: 'Standing up for principles even when it\'s difficult',
indicators: ['Confronts wrongdoing', 'Defends beliefs', 'Takes unpopular stands', 'Does the right thing']
},
{
name: 'Resilience',
description: 'Persevering through challenges and setbacks',
indicators: ['Bounces back from failure', 'Persists despite obstacles', 'Maintains hope', 'Adapts to change']
},
{
name: 'Initiative',
description: 'Taking action and embracing new challenges',
indicators: ['Takes first steps', 'Tries new things', 'Leads when needed', 'Embraces opportunities']
}
]
}
];
/**
* Generate the core virtue set - all users get these same 5 virtues
* Priority weights and definitions will be customized by AI based on responses
*/
export function getCoreVirtues() {
return CORE_VIRTUES.map(coreVirtue => ({
name: coreVirtue.name,
definition: coreVirtue.baseDefinition,
priority_weight: coreVirtue.defaultPriority,
template_source: 'core-framework',
emoji: coreVirtue.emoji,
sub_dimensions: coreVirtue.subDimensions.map(subDim => ({
name: subDim.name,
definition: subDim.description,
indicators: [...subDim.indicators]
}))
}));
}
/**
* Get virtue by name for AI customization
*/
export function getCoreVirtueByName(name) {
return CORE_VIRTUES.find(v => v.name === name);
}
/**
* Validate that priority weights are properly ordered and within bounds
*/
export function validateVirtueWeights(virtues) {
return virtues.every(v => v.priority_weight >= 0.3 && v.priority_weight <= 1.0);
}
//# sourceMappingURL=CoreVirtues.js.map