- Core calculations (Life Path, Expression, Soul Urge, Birthday) - Advanced numbers (Maturity, Personality, Hidden Passion, Karmic Lessons) - Timing cycles and optimal days finder - Compatibility analysis and name optimizer - Telos integration for personal development - Professional PDF report generation - Profile management system - Security fix: Add .claude/ to .gitignore 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
891 lines
38 KiB
TypeScript
Executable file
891 lines
38 KiB
TypeScript
Executable file
#!/usr/bin/env bun
|
||
/**
|
||
* Telos-Cycles Goal Alignment Analyzer
|
||
*
|
||
* Deep analysis of how your telos goals align with current numerology cycles.
|
||
* Scores each goal (1-10), provides recommendations, and generates action plans.
|
||
*
|
||
* Usage:
|
||
* bun telos-cycles-analyze.ts --birthdate "5/13/1982" --name "Your Name"
|
||
* bun telos-cycles-analyze.ts --birthdate "5/13/1982" --name "Your Name" --telos-file ~/my-telos.md
|
||
*
|
||
* Default telos file: ~/.claude/context/personal/telos/telos.md
|
||
*/
|
||
|
||
import { calculateCycles } from './cycles';
|
||
import { calculateCoreNumbers, type CoreNumbers } from './core-calculator';
|
||
import { loadProfile } from './profile-manager';
|
||
|
||
// Parse command line arguments
|
||
const args = process.argv.slice(2);
|
||
let birthdate = '';
|
||
let name = '';
|
||
let profileId = '';
|
||
let telosFilePath = `${process.env.HOME}/.claude/context/personal/telos/telos.md`;
|
||
|
||
for (let i = 0; i < args.length; i++) {
|
||
if ((args[i] === '--profile' || args[i] === '-p') && args[i + 1]) {
|
||
profileId = args[i + 1];
|
||
i++;
|
||
} else if ((args[i] === '--birthdate' || args[i] === '-b') && args[i + 1]) {
|
||
birthdate = args[i + 1];
|
||
i++;
|
||
} else if ((args[i] === '--name' || args[i] === '-n') && args[i + 1]) {
|
||
name = args[i + 1];
|
||
i++;
|
||
} else if ((args[i] === '--telos-file' || args[i] === '-t') && args[i + 1]) {
|
||
telosFilePath = args[i + 1];
|
||
i++;
|
||
} else if (args[i] === '--help' || args[i] === '-h') {
|
||
console.log(`
|
||
Telos-Cycles Goal Alignment Analyzer
|
||
|
||
Analyzes how well your telos goals align with current numerology cycles.
|
||
Scores each goal, provides timing recommendations, and prioritizes actions.
|
||
|
||
USAGE:
|
||
bun telos-cycles-analyze.ts --profile <id>
|
||
bun telos-cycles-analyze.ts --birthdate "mm/dd/yyyy" --name "Your Name"
|
||
|
||
OPTIONS:
|
||
-p, --profile Use saved profile
|
||
-b, --birthdate Your birthdate (mm/dd/yyyy) [required if no profile]
|
||
-n, --name Your name [required if no profile]
|
||
-t, --telos-file Path to telos.md file [default: ~/.claude/context/personal/telos/telos.md]
|
||
-h, --help Show this help message
|
||
|
||
EXAMPLES:
|
||
# With profile
|
||
bun telos-cycles-analyze.ts --profile rob
|
||
bun telos-cycles-analyze.ts --profile rob -t ~/my-telos.md
|
||
|
||
# With name/birthdate
|
||
bun telos-cycles-analyze.ts -b "5/13/1982" -n "John"
|
||
bun telos-cycles-analyze.ts -b "5/13/1982" -n "John" -t ~/my-telos.md
|
||
`);
|
||
process.exit(0);
|
||
}
|
||
}
|
||
|
||
// Load profile if specified
|
||
if (profileId) {
|
||
const profile = loadProfile(profileId);
|
||
|
||
if (!profile) {
|
||
console.error(`Error: Profile '${profileId}' not found`);
|
||
console.error('List profiles with: bun profile.ts list');
|
||
process.exit(1);
|
||
}
|
||
|
||
name = profile.name;
|
||
birthdate = profile.birthdate;
|
||
}
|
||
|
||
if (!birthdate || !name) {
|
||
console.error('Error: --birthdate and --name are required (or use --profile)');
|
||
console.error('Try: bun telos-cycles-analyze.ts --help');
|
||
process.exit(1);
|
||
}
|
||
|
||
// Telos Goal Interface
|
||
interface TelosGoal {
|
||
id: string;
|
||
description: string;
|
||
category: string;
|
||
status?: string;
|
||
}
|
||
|
||
// Goal Analysis Result
|
||
interface GoalAnalysis {
|
||
goal: TelosGoal;
|
||
score: number;
|
||
alignment: 'Perfect' | 'Good' | 'Moderate' | 'Challenge' | 'Poor';
|
||
reasons: { positive: string[]; negative: string[]; neutral: string[] };
|
||
recommendation: string;
|
||
optimalTiming: string;
|
||
monthlyBreakdown?: string[];
|
||
}
|
||
|
||
// Parse telos file
|
||
async function parseTelosFile(filePath: string): Promise<TelosGoal[]> {
|
||
try {
|
||
const file = Bun.file(filePath);
|
||
const content = await file.text();
|
||
const goals: TelosGoal[] = [];
|
||
|
||
let currentCategory = '';
|
||
const lines = content.split('\n');
|
||
|
||
for (let i = 0; i < lines.length; i++) {
|
||
const line = lines[i].trim();
|
||
|
||
if (line.match(/^(Career|Business|Personal|Technical|Content|Spiritual|Expression)/)) {
|
||
currentCategory = line.replace(/^#*\s*/, '').replace(/\s*-.*$/, '');
|
||
}
|
||
|
||
const goalMatch = line.match(/^-\s+(G[A-Z]*\d+):\s*(.+)/);
|
||
if (goalMatch && currentCategory) {
|
||
const [, id, description] = goalMatch;
|
||
const status = description.includes('✅') ? 'achieved' :
|
||
description.includes('Back burner') ? 'backburner' :
|
||
description.includes('Future goal') ? 'future' : 'active';
|
||
|
||
let cleanDesc = description
|
||
.replace(/✅\s*ACHIEVED\s*-?\s*/gi, '')
|
||
.replace(/✅\s*ONGOING\s*-?\s*/gi, '')
|
||
.replace(/✅\s*EXCEEDED\s*-?\s*/gi, '')
|
||
.replace(/\(.*?\)/g, '')
|
||
.replace(/Back burner/gi, '')
|
||
.replace(/Future goal/gi, '')
|
||
.trim();
|
||
|
||
goals.push({ id, description: cleanDesc, category: currentCategory, status });
|
||
}
|
||
}
|
||
|
||
return goals;
|
||
} catch (error) {
|
||
console.error(`Error reading telos file: ${error}`);
|
||
return [];
|
||
}
|
||
}
|
||
|
||
// Score goal alignment with current cycles (ENHANCED ALGORITHM)
|
||
function analyzeGoalAlignment(
|
||
goal: TelosGoal,
|
||
cycles: ReturnType<typeof calculateCycles>,
|
||
coreNumbers: CoreNumbers
|
||
): GoalAnalysis {
|
||
const { personal, universal } = cycles;
|
||
let score = 5; // Start neutral
|
||
const positive: string[] = [];
|
||
const negative: string[] = [];
|
||
const neutral: string[] = [];
|
||
|
||
const desc = goal.description.toLowerCase();
|
||
const cat = goal.category.toLowerCase();
|
||
|
||
// ═══════════════════════════════════════════════════════════
|
||
// PERSONAL YEAR ANALYSIS (Most Important - Weight: -4 to +4)
|
||
// ═══════════════════════════════════════════════════════════
|
||
|
||
if (personal.year === 1) {
|
||
// Year 1: New Beginnings, Independence, Leadership
|
||
if (desc.match(/\b(start|launch|begin|new|initiate|pioneer|first)\b/)) {
|
||
score += 4;
|
||
positive.push('Year 1 is THE perfect year for starting new ventures');
|
||
}
|
||
if (desc.match(/\b(business|company|venture)\b/)) {
|
||
score += 2;
|
||
positive.push('Year 1 supports new business initiatives');
|
||
}
|
||
if (desc.match(/\b(complete|finish|end|close|wrap)\b/)) {
|
||
score -= 3;
|
||
negative.push('Year 1 is for beginnings, not completions - wait for Year 9');
|
||
}
|
||
}
|
||
|
||
else if (personal.year === 2) {
|
||
// Year 2: Cooperation, Patience, Partnerships, Details
|
||
if (desc.match(/\b(partnership|collaborate|team|together)\b/)) {
|
||
score += 3;
|
||
positive.push('Year 2 is ideal for partnerships and collaboration');
|
||
}
|
||
if (desc.match(/\b(alone|independent|solo)\b/)) {
|
||
score -= 2;
|
||
negative.push('Year 2 favors cooperation over solo ventures');
|
||
}
|
||
}
|
||
|
||
else if (personal.year === 3) {
|
||
// Year 3: Expression, Creativity, Communication, Social
|
||
if (desc.match(/\b(write|create|content|blog|post|social|speak|present|communicate)\b/) || cat.includes('content')) {
|
||
score += 4;
|
||
positive.push('Year 3 is THE year for creative expression and communication');
|
||
}
|
||
if (desc.match(/\b(video|course|book|guide|resource)\b/)) {
|
||
score += 2;
|
||
positive.push('Year 3 energy supports creative content production');
|
||
}
|
||
}
|
||
|
||
else if (personal.year === 4) {
|
||
// Year 4: Hard Work, Foundation, Organization, Systems
|
||
if (desc.match(/\b(build|system|organize|foundation|structure|process)\b/)) {
|
||
score += 3;
|
||
positive.push('Year 4 is perfect for building solid foundations');
|
||
}
|
||
if (desc.match(/\b(automat|workflow|infrastructure)\b/) || cat.includes('technical')) {
|
||
score += 2;
|
||
positive.push('Year 4 supports systematic technical work');
|
||
}
|
||
if (desc.match(/\b(quick|fast|shortcut)\b/)) {
|
||
score -= 2;
|
||
negative.push('Year 4 requires patient, thorough work - no shortcuts');
|
||
}
|
||
}
|
||
|
||
else if (personal.year === 5) {
|
||
// Year 5: Change, Freedom, Variety, Adventure, Marketing
|
||
if (desc.match(/\b(change|pivot|explore|try|experiment|market|promote)\b/)) {
|
||
score += 3;
|
||
positive.push('Year 5 is ideal for change, exploration, and promotion');
|
||
}
|
||
if (desc.match(/\b(routine|stable|consistent|same)\b/)) {
|
||
score -= 2;
|
||
negative.push('Year 5 resists routine - embrace change and variety');
|
||
}
|
||
}
|
||
|
||
else if (personal.year === 6) {
|
||
// Year 6: Responsibility, Service, Family, Home, Teaching
|
||
if (desc.match(/\b(teach|help|serve|service|client|customer|family)\b/)) {
|
||
score += 3;
|
||
positive.push('Year 6 is perfect for service and teaching');
|
||
}
|
||
if (desc.match(/\b(business|revenue|profit|scale)\b/) && cat.includes('business')) {
|
||
score += 1;
|
||
neutral.push('Year 6 can bring business growth through service focus');
|
||
}
|
||
}
|
||
|
||
else if (personal.year === 7) {
|
||
// Year 7: Study, Introspection, Spirituality, Analysis, Rest
|
||
if (desc.match(/\b(study|learn|certification|research|analyze|spiritual|practice)\b/)) {
|
||
score += 4;
|
||
positive.push('Year 7 is THE perfect year for deep study and spiritual growth');
|
||
}
|
||
if (cat.includes('technical') && desc.match(/\b(practice|skill|learn)\b/)) {
|
||
score += 2;
|
||
positive.push('Year 7 supports technical skill development');
|
||
}
|
||
if (desc.match(/\b(launch|scale|promote|social|network)\b/)) {
|
||
score -= 3;
|
||
negative.push('Year 7 is introspective, not ideal for major external launches');
|
||
}
|
||
}
|
||
|
||
else if (personal.year === 8) {
|
||
// Year 8: Achievement, Power, Business, Money, Success
|
||
if (desc.match(/\b(business|scale|revenue|profit|money|financial|grow|expand)\b/) || cat.includes('business')) {
|
||
score += 4;
|
||
positive.push('Year 8 is THE power and achievement year - think BIG');
|
||
}
|
||
if (desc.match(/\b(reputation|authority|leader)\b/)) {
|
||
score += 2;
|
||
positive.push('Year 8 supports building authority and reputation');
|
||
}
|
||
if (desc.match(/\b(spiritual|rest|meditate)\b/)) {
|
||
score -= 2;
|
||
negative.push('Year 8 is for powerful action, not rest');
|
||
}
|
||
}
|
||
|
||
else if (personal.year === 9) {
|
||
// Year 9: Completion, Release, Endings, Letting Go
|
||
if (desc.match(/\b(complete|finish|publish|release|end|wrap|close)\b/)) {
|
||
score += 4;
|
||
positive.push('Year 9 is perfect for completing and releasing work');
|
||
}
|
||
if (desc.match(/\b(publish|share|give)\b/) && cat.includes('content')) {
|
||
score += 2;
|
||
positive.push('Year 9 supports releasing completed content');
|
||
}
|
||
if (desc.match(/\b(start|begin|new|launch|initiate)\b/)) {
|
||
score -= 4;
|
||
negative.push('Year 9 is for endings, NOT beginnings - wait for Year 1');
|
||
}
|
||
}
|
||
|
||
else if (personal.year === 11) {
|
||
// Year 11: Inspiration, Illumination, Intuition, Spiritual Leadership
|
||
if (desc.match(/\b(inspire|teach|illuminat|spiritual|intuition|channel|vision)\b/)) {
|
||
score += 4;
|
||
positive.push('Year 11 is for inspiring and illuminating others');
|
||
}
|
||
}
|
||
|
||
else if (personal.year === 22) {
|
||
// Year 22: Master Builder, Large-Scale Manifestation
|
||
if (desc.match(/\b(build|large|master|legacy|vision|manifest)\b/)) {
|
||
score += 4;
|
||
positive.push('Year 22 supports building large-scale, lasting legacies');
|
||
}
|
||
}
|
||
|
||
else if (personal.year === 33) {
|
||
// Year 33: Master Teacher, Healing, Compassionate Service
|
||
if (desc.match(/\b(teach|education|course|guide|help|serve|heal)\b/) || cat.includes('content')) {
|
||
score += 4;
|
||
positive.push('Year 33 is THE master teaching year - this goal is DESTINED');
|
||
}
|
||
if (desc.match(/\b(certification)\b/) && !desc.match(/\b(teach)\b/)) {
|
||
score -= 3;
|
||
negative.push('Year 33 is about teaching OTHERS, not personal certification');
|
||
}
|
||
if (desc.match(/\b(profit|money)\b/) && !desc.match(/\b(serv|help)\b/)) {
|
||
score -= 2;
|
||
negative.push('Year 33 emphasizes service over profit (abundance follows service)');
|
||
}
|
||
// Reframe profit goals as service goals
|
||
if (desc.match(/\b(business|scale)\b/) && desc.match(/\b(automat|help|serv)\b/)) {
|
||
score += 1;
|
||
neutral.push('Business growth aligned if focused on serving more people');
|
||
}
|
||
}
|
||
|
||
// ═══════════════════════════════════════════════════════════
|
||
// PERSONAL MONTH MODIFIERS (Weight: -2 to +2)
|
||
// ═══════════════════════════════════════════════════════════
|
||
|
||
if (personal.month === 1) {
|
||
if (desc.match(/\b(start|begin|initiate)\b/)) {
|
||
score += 1;
|
||
neutral.push('Month 1 adds extra "new beginnings" energy this month');
|
||
}
|
||
} else if (personal.month === 3) {
|
||
if (desc.match(/\b(content|write|create|communicate)\b/)) {
|
||
score += 1;
|
||
neutral.push('Month 3 boosts communication and creative expression');
|
||
}
|
||
} else if (personal.month === 7) {
|
||
if (desc.match(/\b(study|research|develop|prepare)\b/)) {
|
||
score += 1;
|
||
neutral.push('Month 7 supports private development and preparation');
|
||
}
|
||
if (desc.match(/\b(launch|publish|promote)\b/)) {
|
||
score -= 1;
|
||
neutral.push('Month 7 prefers private work over public launches');
|
||
}
|
||
} else if (personal.month === 8) {
|
||
if (desc.match(/\b(business|money|launch|scale)\b/)) {
|
||
score += 2;
|
||
neutral.push('Month 8 provides strong business and achievement energy');
|
||
}
|
||
} else if (personal.month === 9) {
|
||
if (desc.match(/\b(complete|finish|publish|release)\b/)) {
|
||
score += 1;
|
||
neutral.push('Month 9 supports completion and release');
|
||
}
|
||
}
|
||
|
||
// ═══════════════════════════════════════════════════════════
|
||
// CORE NUMBERS AMPLIFICATION (Weight: -1 to +2)
|
||
// ═══════════════════════════════════════════════════════════
|
||
|
||
// Life Path 11: Spiritual Teacher, Inspirer
|
||
if (coreNumbers.lifePath === 11) {
|
||
if (desc.match(/\b(teach|inspire|spiritual|illuminat|channel)\b/)) {
|
||
score += 2;
|
||
positive.push('Life Path 11 amplifies teaching and inspiration goals - this is your PURPOSE');
|
||
}
|
||
}
|
||
|
||
// Life Path 22: Master Builder
|
||
if (coreNumbers.lifePath === 22) {
|
||
if (desc.match(/\b(build|system|large|master|legacy)\b/)) {
|
||
score += 2;
|
||
positive.push('Life Path 22 amplifies building and manifestation goals');
|
||
}
|
||
}
|
||
|
||
// Expression 11: Natural Teacher/Inspirer
|
||
if (coreNumbers.expression === 11) {
|
||
if (desc.match(/\b(teach|educate|inspire|lead)\b/)) {
|
||
score += 1;
|
||
positive.push('Expression 11 makes you a natural teacher and inspirer');
|
||
}
|
||
}
|
||
|
||
// Soul Urge 7: Seeker of Truth
|
||
if (coreNumbers.soulUrge === 7) {
|
||
if (desc.match(/\b(spiritual|study|research|truth|deep|analyz)\b/)) {
|
||
score += 1;
|
||
positive.push('Soul Urge 7 deeply desires spiritual knowledge and truth');
|
||
}
|
||
}
|
||
|
||
// Soul Urge 8: Achievement and Power
|
||
if (coreNumbers.soulUrge === 8) {
|
||
if (desc.match(/\b(business|success|achieve|power|lead|financial)\b/)) {
|
||
score += 1;
|
||
positive.push('Soul Urge 8 craves achievement and success');
|
||
}
|
||
}
|
||
|
||
// Birthday 4: Practical Builder
|
||
if (coreNumbers.birthday === 4) {
|
||
if (desc.match(/\b(build|system|organize|structure|process)\b/)) {
|
||
score += 1;
|
||
positive.push('Birthday 4 gives natural talent for building systems');
|
||
}
|
||
}
|
||
|
||
// ═══════════════════════════════════════════════════════════
|
||
// CATEGORY-SPECIFIC ANALYSIS (Weight: +1 to +2)
|
||
// ═══════════════════════════════════════════════════════════
|
||
|
||
if (cat.includes('content') || cat.includes('education')) {
|
||
if (personal.year === 3 || personal.year === 33 || personal.year === 11) {
|
||
score += 2;
|
||
positive.push(`${cat} category perfectly aligned with Year ${personal.year} energy`);
|
||
}
|
||
}
|
||
|
||
if (cat.includes('business')) {
|
||
if (personal.year === 8 || personal.year === 1) {
|
||
score += 2;
|
||
positive.push('Business category aligns with current year energy');
|
||
}
|
||
if (personal.year === 7) {
|
||
score -= 1;
|
||
negative.push('Business growth difficult during introspective Year 7');
|
||
}
|
||
}
|
||
|
||
if (cat.includes('technical') || cat.includes('career')) {
|
||
if (personal.year === 7 && desc.match(/\b(learn|practice|skill)\b/)) {
|
||
score += 1;
|
||
positive.push('Technical skill development perfect for Year 7');
|
||
}
|
||
if (personal.year === 4) {
|
||
score += 1;
|
||
positive.push('Year 4 supports technical foundation building');
|
||
}
|
||
}
|
||
|
||
if (cat.includes('spiritual') || cat.includes('personal')) {
|
||
if (personal.year === 7 || personal.year === 11 || personal.year === 9) {
|
||
score += 1;
|
||
positive.push('Personal/spiritual development aligned with current year');
|
||
}
|
||
}
|
||
|
||
// ═══════════════════════════════════════════════════════════
|
||
// UNIVERSAL YEAR INFLUENCE (Minor Weight: +1)
|
||
// ═══════════════════════════════════════════════════════════
|
||
|
||
if (universal.year === 9) {
|
||
if (desc.match(/\b(complete|finish|release|end)\b/)) {
|
||
score += 1;
|
||
neutral.push('Universal Year 9 supports global completion energy');
|
||
}
|
||
}
|
||
|
||
// Clamp score to 1-10
|
||
score = Math.max(1, Math.min(10, score));
|
||
|
||
// Determine alignment
|
||
let alignment: GoalAnalysis['alignment'];
|
||
if (score >= 9) alignment = 'Perfect';
|
||
else if (score >= 7) alignment = 'Good';
|
||
else if (score >= 5) alignment = 'Moderate';
|
||
else if (score >= 3) alignment = 'Challenge';
|
||
else alignment = 'Poor';
|
||
|
||
// Generate recommendation
|
||
let recommendation = '';
|
||
if (score >= 8) {
|
||
recommendation = `🚀 HIGHEST PRIORITY - This goal is perfectly aligned with your current cycles. Commit deeply!`;
|
||
} else if (score >= 6) {
|
||
recommendation = `✅ GOOD TIMING - Proceed with this goal. Energy supports it.`;
|
||
} else if (score >= 4) {
|
||
recommendation = `⚠️ MODERATE FIT - Can pursue, but may require extra effort. Consider reframing or waiting.`;
|
||
} else {
|
||
recommendation = `❌ POOR TIMING - Strongly consider waiting for better cycles. Fighting upstream.`;
|
||
}
|
||
|
||
// Optimal timing
|
||
let optimalTiming = '';
|
||
if (desc.includes('certification') || desc.includes('study')) {
|
||
optimalTiming = personal.year === 7 ? 'NOW (Year 7)' : 'Personal Year 7 or Year 1 (for new beginnings)';
|
||
} else if (desc.includes('teach') || desc.includes('education')) {
|
||
optimalTiming = personal.year === 33 || personal.year === 11 ? 'NOW!' : 'Personal Year 3, 11, or 33';
|
||
} else if (desc.includes('business') || desc.includes('scale')) {
|
||
optimalTiming = personal.year === 8 || personal.year === 1 ? 'NOW (Year 8/1)' : 'Personal Year 1 or 8';
|
||
} else if (desc.includes('start') || desc.includes('begin')) {
|
||
optimalTiming = personal.year === 1 ? 'NOW (Year 1)' : 'Personal Year 1 (new beginnings)';
|
||
} else if (desc.includes('complete') || desc.includes('finish')) {
|
||
optimalTiming = personal.year === 9 ? 'NOW (Year 9)' : 'Personal Year 9 (completion)';
|
||
} else {
|
||
optimalTiming = 'Timing varies - see analysis';
|
||
}
|
||
|
||
return {
|
||
goal,
|
||
score,
|
||
alignment,
|
||
reasons: { positive, negative, neutral },
|
||
recommendation,
|
||
optimalTiming
|
||
};
|
||
}
|
||
|
||
// Main execution
|
||
async function main() {
|
||
console.log(`\n🎯 TELOS GOAL ALIGNMENT ANALYSIS\n`);
|
||
|
||
// Load goals
|
||
const goals = await parseTelosFile(telosFilePath);
|
||
const activeGoals = goals.filter(g => g.status === 'active');
|
||
|
||
// Calculate cycles and core numbers
|
||
const cycles = calculateCycles(birthdate);
|
||
const coreNumbers = calculateCoreNumbers(name, birthdate);
|
||
|
||
// Display current cycles
|
||
console.log(`═══════════════════════════════════════════════════════════════`);
|
||
console.log(`YOUR CURRENT CYCLES`);
|
||
console.log(`═══════════════════════════════════════════════════════════════\n`);
|
||
|
||
console.log(`Personal Year: ${cycles.personal.year}`);
|
||
console.log(`Personal Month: ${cycles.personal.month}`);
|
||
console.log(`Universal Year: ${cycles.universal.year}\n`);
|
||
|
||
console.log(`Core Numbers:`);
|
||
console.log(` Life Path: ${coreNumbers.lifePath}`);
|
||
console.log(` Expression: ${coreNumbers.expression}`);
|
||
console.log(` Soul Urge: ${coreNumbers.soulUrge}`);
|
||
console.log(` Birthday: ${coreNumbers.birthday}\n`);
|
||
|
||
// Analyze all active goals
|
||
const analyses: GoalAnalysis[] = [];
|
||
for (const goal of activeGoals) {
|
||
const analysis = analyzeGoalAlignment(goal, cycles, coreNumbers);
|
||
analyses.push(analysis);
|
||
}
|
||
|
||
// Sort by score (descending)
|
||
analyses.sort((a, b) => b.score - a.score);
|
||
|
||
// Group by category
|
||
const byCategory: Record<string, GoalAnalysis[]> = {};
|
||
analyses.forEach(a => {
|
||
if (!byCategory[a.goal.category]) byCategory[a.goal.category] = [];
|
||
byCategory[a.goal.category].push(a);
|
||
});
|
||
|
||
// Output analysis by category
|
||
for (const [category, categoryGoals] of Object.entries(byCategory)) {
|
||
console.log(`═══════════════════════════════════════════════════════════════`);
|
||
console.log(`${category.toUpperCase()} GOALS ANALYSIS`);
|
||
console.log(`═══════════════════════════════════════════════════════════════\n`);
|
||
|
||
for (const analysis of categoryGoals) {
|
||
const { goal, score, alignment, reasons, recommendation, optimalTiming } = analysis;
|
||
|
||
console.log(`${goal.id}: ${goal.description}`);
|
||
console.log(`┌─────────────────────────────────────┐`);
|
||
console.log(`│ ALIGNMENT: ${getAlignmentEmoji(alignment)} ${alignment.toUpperCase().padEnd(20)} │`);
|
||
console.log(`│ SCORE: ${score}/10${' '.repeat(28)} │`);
|
||
console.log(`└─────────────────────────────────────┘\n`);
|
||
|
||
console.log(`ANALYSIS:`);
|
||
if (reasons.positive.length > 0) {
|
||
reasons.positive.forEach(r => console.log(`✅ ${r}`));
|
||
}
|
||
if (reasons.negative.length > 0) {
|
||
reasons.negative.forEach(r => console.log(`❌ ${r}`));
|
||
}
|
||
if (reasons.neutral.length > 0) {
|
||
reasons.neutral.forEach(r => console.log(`ℹ️ ${r}`));
|
||
}
|
||
|
||
console.log(`\nRECOMMENDATION:`);
|
||
console.log(`${recommendation}\n`);
|
||
|
||
console.log(`OPTIMAL TIMING: ${optimalTiming}\n`);
|
||
console.log(`─────────────────────────────────────────────────────────\n`);
|
||
}
|
||
}
|
||
|
||
// Priority ranking
|
||
console.log(`═══════════════════════════════════════════════════════════════`);
|
||
console.log(`GOAL PRIORITIZATION (BY ALIGNMENT SCORE)`);
|
||
console.log(`═══════════════════════════════════════════════════════════════\n`);
|
||
|
||
const topPriority = analyses.filter(a => a.score >= 8);
|
||
const mediumPriority = analyses.filter(a => a.score >= 5 && a.score < 8);
|
||
const lowPriority = analyses.filter(a => a.score < 5);
|
||
|
||
if (topPriority.length > 0) {
|
||
console.log(`🥇 TOP PRIORITY (Perfect/Good Alignment - Score 8-10):\n`);
|
||
topPriority.forEach((a, i) => {
|
||
console.log(`${i + 1}. ${a.goal.id}: ${a.goal.description} (${a.score}/10)`);
|
||
});
|
||
console.log('');
|
||
}
|
||
|
||
if (mediumPriority.length > 0) {
|
||
console.log(`🥈 MEDIUM PRIORITY (Moderate Alignment - Score 5-7):\n`);
|
||
mediumPriority.forEach((a, i) => {
|
||
console.log(`${i + 1}. ${a.goal.id}: ${a.goal.description} (${a.score}/10)`);
|
||
});
|
||
console.log('');
|
||
}
|
||
|
||
if (lowPriority.length > 0) {
|
||
console.log(`🥉 LOW PRIORITY (Poor Timing - Score 1-4):\n`);
|
||
lowPriority.forEach((a, i) => {
|
||
console.log(`${i + 1}. ${a.goal.id}: ${a.goal.description} (${a.score}/10 - wait for better timing)`);
|
||
});
|
||
console.log('');
|
||
}
|
||
|
||
// Year-specific strategic advice
|
||
console.log(`═══════════════════════════════════════════════════════════════`);
|
||
console.log(`STRATEGIC GUIDANCE FOR YEAR ${cycles.personal.year}`);
|
||
console.log(`═══════════════════════════════════════════════════════════════\n`);
|
||
|
||
if (cycles.personal.year === 9) {
|
||
console.log(`🎯 YEAR 9 STRATEGY: Completion & Release\n`);
|
||
console.log(`DO:`);
|
||
console.log(`• Complete all pending projects before December`);
|
||
console.log(`• Release/publish finished work`);
|
||
console.log(`• Let go of goals that no longer resonate`);
|
||
console.log(`• Document lessons from past 9 years\n`);
|
||
console.log(`DON'T:`);
|
||
console.log(`• Start major new ventures (wait for Year 1 next year)`);
|
||
console.log(`• Make long-term commitments`);
|
||
console.log(`• Cling to what's finished\n`);
|
||
} else if (cycles.personal.year === 1) {
|
||
console.log(`🎯 YEAR 1 STRATEGY: New Beginnings\n`);
|
||
console.log(`DO:`);
|
||
console.log(`• Start new projects boldly`);
|
||
console.log(`• Take independent initiative`);
|
||
console.log(`• Plant seeds for 9-year cycle`);
|
||
console.log(`• Break free from past patterns\n`);
|
||
console.log(`DON'T:`);
|
||
console.log(`• Wait for perfect conditions`);
|
||
console.log(`• Depend too heavily on others`);
|
||
console.log(`• Play small\n`);
|
||
} else if (cycles.personal.year === 33) {
|
||
console.log(`🎯 YEAR 33 STRATEGY: Master Teaching & Service\n`);
|
||
console.log(`📖 MASTER NUMBER CONTEXT:`);
|
||
console.log(`Year 33 is a higher vibration of Year 6 (Service/Responsibility).`);
|
||
console.log(`You experience BOTH energies: 6's grounded service + 33's master healing.\n`);
|
||
console.log(`DO:`);
|
||
console.log(`• Teach and share your wisdom generously`);
|
||
console.log(`• Serve from overflow (self-care first)`);
|
||
console.log(`• Focus on impact over income`);
|
||
console.log(`• Lead with compassion and love`);
|
||
console.log(`• Take on responsibility (Year 6) but at a master level (33)\n`);
|
||
console.log(`DON'T:`);
|
||
console.log(`• Pursue goals purely for profit`);
|
||
console.log(`• Neglect self-care (burnout risk)`);
|
||
console.log(`• Try to save everyone (boundaries!)\n`);
|
||
} else if (cycles.personal.year === 11) {
|
||
console.log(`🎯 YEAR 11 STRATEGY: Inspiration & Illumination\n`);
|
||
console.log(`📖 MASTER NUMBER CONTEXT:`);
|
||
console.log(`Year 11 is a higher vibration of Year 2 (Cooperation/Intuition).`);
|
||
console.log(`You experience BOTH energies: 2's sensitivity + 11's spiritual leadership.\n`);
|
||
console.log(`DO:`);
|
||
console.log(`• Channel higher wisdom and share insights`);
|
||
console.log(`• Trust your intuition completely`);
|
||
console.log(`• Inspire others through your vision`);
|
||
console.log(`• Collaborate spiritually (Year 2 + 11 energy)\n`);
|
||
console.log(`DON'T:`);
|
||
console.log(`• Ignore your heightened sensitivity`);
|
||
console.log(`• Play small with your spiritual gifts`);
|
||
console.log(`• Doubt your intuitive hits\n`);
|
||
} else if (cycles.personal.year === 22) {
|
||
console.log(`🎯 YEAR 22 STRATEGY: Master Building\n`);
|
||
console.log(`📖 MASTER NUMBER CONTEXT:`);
|
||
console.log(`Year 22 is a higher vibration of Year 4 (Foundation/Structure).`);
|
||
console.log(`You experience BOTH energies: 4's practical building + 22's visionary manifestation.\n`);
|
||
console.log(`DO:`);
|
||
console.log(`• Build large-scale, lasting legacies`);
|
||
console.log(`• Manifest ambitious visions into reality`);
|
||
console.log(`• Combine practical work (4) with master vision (22)`);
|
||
console.log(`• Think in terms of decades, not years\n`);
|
||
console.log(`DON'T:`);
|
||
console.log(`• Think small - this is master builder energy`);
|
||
console.log(`• Rush the foundation work`);
|
||
console.log(`• Lose faith in your grand vision\n`);
|
||
}
|
||
|
||
// ═══════════════════════════════════════════════════════════════
|
||
// QUARTERLY ACTION PLAN (Rest of current year)
|
||
// ═══════════════════════════════════════════════════════════════
|
||
|
||
const today = new Date();
|
||
const currentMonth = today.getMonth() + 1; // 1-12
|
||
const currentYear = today.getFullYear();
|
||
|
||
console.log(`═══════════════════════════════════════════════════════════════`);
|
||
console.log(`QUARTERLY ACTION PLAN (REST OF ${currentYear})`);
|
||
console.log(`═══════════════════════════════════════════════════════════════\n`);
|
||
|
||
// Calculate Personal Months for rest of year
|
||
const monthsRemaining = [];
|
||
for (let month = currentMonth; month <= 12; month++) {
|
||
const date = new Date(currentYear, month - 1, 1);
|
||
const monthStr = date.toLocaleDateString('en-US', { month: 'long' });
|
||
const personalMonthCycles = calculateCycles(birthdate, `${month}/15/${currentYear}`);
|
||
monthsRemaining.push({ month: monthStr, number: month, cycles: personalMonthCycles });
|
||
}
|
||
|
||
for (const { month, number, cycles: monthCycles } of monthsRemaining) {
|
||
console.log(`📅 ${month.toUpperCase()} ${currentYear} (Personal Month ${monthCycles.personal.month})`);
|
||
console.log(`───────────────────────────────────────────────────────\n`);
|
||
|
||
// Month-specific guidance
|
||
const pMonth = monthCycles.personal.month;
|
||
if (pMonth === 1) {
|
||
console.log(`🌱 THEME: New Beginnings`);
|
||
console.log(`FOCUS: Start fresh projects, take initiative, be bold`);
|
||
console.log(`BEST FOR: Launching, first steps, independence\n`);
|
||
} else if (pMonth === 2) {
|
||
console.log(`🤝 THEME: Cooperation & Patience`);
|
||
console.log(`FOCUS: Partnerships, details, diplomacy, patience`);
|
||
console.log(`BEST FOR: Collaboration, relationship building, refinement\n`);
|
||
} else if (pMonth === 3) {
|
||
console.log(`🎨 THEME: Expression & Communication`);
|
||
console.log(`FOCUS: Create content, communicate, socialize`);
|
||
console.log(`BEST FOR: Writing, presenting, creative work, networking\n`);
|
||
} else if (pMonth === 4) {
|
||
console.log(`🏗️ THEME: Foundation & Hard Work`);
|
||
console.log(`FOCUS: Build systems, organize, work diligently`);
|
||
console.log(`BEST FOR: Infrastructure, processes, detail work\n`);
|
||
} else if (pMonth === 5) {
|
||
console.log(`🔄 THEME: Change & Freedom`);
|
||
console.log(`FOCUS: Embrace change, promote, experiment`);
|
||
console.log(`BEST FOR: Pivots, marketing, trying new approaches\n`);
|
||
} else if (pMonth === 6) {
|
||
console.log(`💚 THEME: Service & Responsibility`);
|
||
console.log(`FOCUS: Serve clients, teach, take responsibility`);
|
||
console.log(`BEST FOR: Client work, teaching, family/home focus\n`);
|
||
} else if (pMonth === 7) {
|
||
console.log(`🧘 THEME: Introspection & Study`);
|
||
console.log(`FOCUS: Develop privately, study, rest, analyze`);
|
||
console.log(`BEST FOR: Content development, learning, spiritual work\n`);
|
||
} else if (pMonth === 8) {
|
||
console.log(`💼 THEME: Achievement & Power`);
|
||
console.log(`FOCUS: Business action, launch, scale, financial moves`);
|
||
console.log(`BEST FOR: Big launches, promotions, business deals\n`);
|
||
} else if (pMonth === 9) {
|
||
console.log(`🎁 THEME: Completion & Release`);
|
||
console.log(`FOCUS: Finish projects, publish, let go`);
|
||
console.log(`BEST FOR: Completing work, releasing products, clearing clutter\n`);
|
||
}
|
||
|
||
// Recommend top goals for this month
|
||
const monthlyTopGoals = analyses
|
||
.filter(a => {
|
||
const desc = a.goal.description.toLowerCase();
|
||
// Match month energy to goals
|
||
if (pMonth === 1 && desc.match(/\b(start|launch|begin)\b/)) return true;
|
||
if (pMonth === 3 && desc.match(/\b(content|write|create|communicate)\b/)) return true;
|
||
if (pMonth === 7 && desc.match(/\b(develop|study|prepare|learn)\b/)) return true;
|
||
if (pMonth === 8 && desc.match(/\b(business|scale|launch|promote)\b/)) return true;
|
||
if (pMonth === 9 && desc.match(/\b(complete|finish|publish|release)\b/)) return true;
|
||
return a.score >= 8; // Always include high-scoring goals
|
||
})
|
||
.slice(0, 3);
|
||
|
||
if (monthlyTopGoals.length > 0) {
|
||
console.log(`🎯 RECOMMENDED GOALS THIS MONTH:`);
|
||
monthlyTopGoals.forEach(a => {
|
||
console.log(` • ${a.goal.id}: ${a.goal.description}`);
|
||
});
|
||
console.log('');
|
||
}
|
||
}
|
||
|
||
// ═══════════════════════════════════════════════════════════════
|
||
// NEXT YEAR PREVIEW
|
||
// ═══════════════════════════════════════════════════════════════
|
||
|
||
console.log(`═══════════════════════════════════════════════════════════════`);
|
||
|
||
// Calculate next Personal Year (handle master numbers correctly)
|
||
let nextYearNumber: number;
|
||
if (cycles.personal.year === 9) {
|
||
nextYearNumber = 1;
|
||
} else if (cycles.personal.year === 11) {
|
||
nextYearNumber = 3; // 11 → 3 (2+1=3, but 11 base is 2, so 2+1=3)
|
||
} else if (cycles.personal.year === 22) {
|
||
nextYearNumber = 5; // 22 → 5 (4+1=5)
|
||
} else if (cycles.personal.year === 33) {
|
||
nextYearNumber = 7; // 33 → 7 (6+1=7)
|
||
} else {
|
||
nextYearNumber = cycles.personal.year + 1;
|
||
}
|
||
|
||
console.log(`${currentYear + 1} PREVIEW (Personal Year ${nextYearNumber})`);
|
||
console.log(`═══════════════════════════════════════════════════════════════\n`);
|
||
|
||
const nextYear = nextYearNumber;
|
||
|
||
if (nextYear === 1) {
|
||
console.log(`🚀 NEW 9-YEAR CYCLE BEGINS!\n`);
|
||
console.log(`MAJOR THEME: Fresh starts, new ventures, independence, leadership\n`);
|
||
console.log(`PERFECT FOR:`);
|
||
console.log(`✅ Starting new businesses or ventures`);
|
||
console.log(`✅ Launching new products/services`);
|
||
console.log(`✅ Beginning certifications or new skills`);
|
||
console.log(`✅ Career pivots or job changes`);
|
||
console.log(`✅ Moving to new location`);
|
||
console.log(`✅ New relationships or partnerships\n`);
|
||
console.log(`PREPARE NOW (while in Year ${cycles.personal.year}):`);
|
||
console.log(`• Complete all pending projects by December`);
|
||
console.log(`• Clear space mentally and physically`);
|
||
console.log(`• Research what you want to start`);
|
||
console.log(`• Build energy reserves for bold action\n`);
|
||
} else if (nextYear === 2) {
|
||
console.log(`🤝 COOPERATION & PATIENCE YEAR\n`);
|
||
console.log(`MAJOR THEME: Partnerships, collaboration, details, diplomacy\n`);
|
||
console.log(`PERFECT FOR:`);
|
||
console.log(`✅ Building partnerships and alliances`);
|
||
console.log(`✅ Detail-oriented work`);
|
||
console.log(`✅ Relationship development`);
|
||
console.log(`✅ Team projects and collaboration\n`);
|
||
} else if (nextYear === 3) {
|
||
console.log(`🎨 EXPRESSION & CREATIVITY YEAR\n`);
|
||
console.log(`MAJOR THEME: Communication, creativity, social expansion\n`);
|
||
console.log(`PERFECT FOR:`);
|
||
console.log(`✅ Content creation (blogs, videos, courses)`);
|
||
console.log(`✅ Public speaking and presentations`);
|
||
console.log(`✅ Social media and networking`);
|
||
console.log(`✅ Creative projects and artistic expression\n`);
|
||
} else if (nextYear === 7) {
|
||
console.log(`🧘 INTROSPECTION & STUDY YEAR\n`);
|
||
console.log(`MAJOR THEME: Deep study, spiritual growth, rest, analysis\n`);
|
||
console.log(`PERFECT FOR:`);
|
||
console.log(`✅ Certifications and deep learning`);
|
||
console.log(`✅ Spiritual practice and development`);
|
||
console.log(`✅ Research and analysis projects`);
|
||
console.log(`✅ Rest and rejuvenation\n`);
|
||
} else if (nextYear === 8) {
|
||
console.log(`💼 POWER & ACHIEVEMENT YEAR\n`);
|
||
console.log(`MAJOR THEME: Business success, financial growth, authority\n`);
|
||
console.log(`PERFECT FOR:`);
|
||
console.log(`✅ Scaling businesses aggressively`);
|
||
console.log(`✅ Major financial moves`);
|
||
console.log(`✅ Building authority and reputation`);
|
||
console.log(`✅ Leadership roles and promotions\n`);
|
||
} else if (nextYear === 33) {
|
||
console.log(`🙏 MASTER TEACHING YEAR (Higher vibration of 6)\n`);
|
||
console.log(`MAJOR THEME: Teaching, healing, compassionate service at master level\n`);
|
||
console.log(`PERFECT FOR:`);
|
||
console.log(`✅ Teaching and education programs`);
|
||
console.log(`✅ Healing work and service`);
|
||
console.log(`✅ Compassionate leadership`);
|
||
console.log(`✅ Impact-focused business growth\n`);
|
||
}
|
||
|
||
console.log(`✨ Generated with Telos-Cycles Alignment Analyzer`);
|
||
}
|
||
|
||
function getAlignmentEmoji(alignment: string): string {
|
||
const emojis: Record<string, string> = {
|
||
'Perfect': '✅',
|
||
'Good': '👍',
|
||
'Moderate': '⚠️ ',
|
||
'Challenge': '⚠️ ',
|
||
'Poor': '❌'
|
||
};
|
||
return emojis[alignment] || '•';
|
||
}
|
||
|
||
main().catch(console.error);
|