#!/usr/bin/env bun /** * Telos Numerology Exporter * * Generates numerology profile for telos integration * Output format matches ~/.claude/context/personal/telos/numerology.md template * * Usage: * bun telos-export.ts --name "Your Name" --birthdate "mm/dd/yyyy" > ~/.claude/context/personal/telos/numerology.md */ import { calculate } from './numerology'; import { lifePath, expression, soulUrge, birthday } from './meanings'; function generateTelosFormat(name: string, birthdate: string): string { const result = calculate(name, birthdate, true); // Silent mode let output = `# Numerology Profile\n\n`; output += `**Generated:** ${new Date().toISOString().split('T')[0]}\n\n`; output += `**Name:** ${name} \n`; output += `**Birthdate:** ${birthdate}\n\n`; output += `---\n\n`; output += `## Core Numbers\n\n`; output += `| Number | Value | Keywords |\n`; output += `|--------|-------|----------|\n`; output += `| Life Path | ${result.lifePath} | ${lifePath[result.lifePath].keywords.join(', ')} |\n`; output += `| Expression | ${result.expression} | ${expression[result.expression].keywords.join(', ')} |\n`; output += `| Soul Urge | ${result.soulUrge} | ${soulUrge[result.soulUrge].keywords.join(', ')} |\n`; output += `| Birthday | ${result.birthday} | ${birthday[result.birthday].keywords.join(', ')} |\n\n`; output += `---\n\n`; // Life Path const lp = lifePath[result.lifePath]; output += `## Life Path ${result.lifePath}\n\n`; output += `> *${lp.keywords.join(' • ')}*\n\n`; output += `${lp.description}\n\n`; output += `### Strengths\n`; lp.strengths.forEach(s => output += `- ${s}\n`); output += `\n### Challenges\n`; lp.challenges.forEach(c => output += `- ${c}\n`); if (lp.lifePurpose) { output += `\n### Life Purpose\n`; output += `${lp.lifePurpose}\n`; } if (lp.careerPaths && lp.careerPaths.length > 0) { output += `\n### Career Paths\n`; lp.careerPaths.forEach(c => output += `- ${c}\n`); } if (lp.relationships) { output += `\n### Relationships\n`; output += `${lp.relationships}\n`; } if (lp.spiritualLesson) { output += `\n### Spiritual Lesson\n`; output += `${lp.spiritualLesson}\n`; } output += `\n---\n\n`; // Expression const ex = expression[result.expression]; output += `## Expression ${result.expression}\n\n`; output += `> *${ex.keywords.join(' • ')}*\n\n`; output += `${ex.description}\n\n`; output += `### Strengths\n`; ex.strengths.forEach(s => output += `- ${s}\n`); output += `\n### Challenges\n`; ex.challenges.forEach(c => output += `- ${c}\n`); output += `\n---\n\n`; // Soul Urge const su = soulUrge[result.soulUrge]; output += `## Soul Urge ${result.soulUrge}\n\n`; output += `> *${su.keywords.join(' • ')}*\n\n`; output += `${su.description}\n\n`; output += `### Strengths\n`; su.strengths.forEach(s => output += `- ${s}\n`); output += `\n### Challenges\n`; su.challenges.forEach(c => output += `- ${c}\n`); output += `\n---\n\n`; // Birthday const bd = birthday[result.birthday]; output += `## Birthday ${result.birthday}\n\n`; output += `> *${bd.keywords.join(' • ')}*\n\n`; output += `${bd.description}\n\n`; output += `### Strengths\n`; bd.strengths.forEach(s => output += `- ${s}\n`); output += `\n### Challenges\n`; bd.challenges.forEach(c => output += `- ${c}\n`); output += `\n---\n\n`; output += `## Telos Integration\n\n`; output += `### How This Relates to Your Goals\n\n`; output += `Use the numerology insights above to:\n\n`; output += `- **Align goals with your Life Path** - Ensure major goals match your core purpose\n`; output += `- **Leverage your Expression strengths** - Use natural talents in projects\n`; output += `- **Honor your Soul Urge** - Make sure goals satisfy inner desires\n`; output += `- **Utilize Birthday gifts** - Apply special talents to overcome challenges\n\n`; output += `### Current Life Path Alignment Check\n\n`; output += `Review your telos goals and ask:\n\n`; output += `1. Do my goals align with my Life Path ${result.lifePath} purpose?\n`; output += `2. Am I leveraging my Expression ${result.expression} talents?\n`; output += `3. Are my pursuits satisfying my Soul Urge ${result.soulUrge} desires?\n`; output += `4. Am I using my Birthday ${result.birthday} gifts to their full potential?\n\n`; output += `### Numerology-Based Recommendations\n\n`; if (lp.careerPaths && lp.careerPaths.length > 0) { output += `**Career Alignment:** Your Life Path ${result.lifePath} suggests careers in: ${lp.careerPaths.join(', ')}\n\n`; } output += `**Challenge Awareness:** Watch for ${lp.challenges[0].toLowerCase()} - this is your primary numerological challenge.\n\n`; output += `**Spiritual Growth:** ${lp.spiritualLesson}\n\n`; output += `---\n\n`; output += `*This numerology profile is generated to enhance your telos self-understanding. Use it as one lens among many to understand yourself and your path.*\n`; return output; } function main() { const args = process.argv.slice(2); let name = ''; let birthdate = ''; for (let i = 0; i < args.length; i++) { if (args[i] === '--name' && args[i + 1]) { name = args[i + 1]; i++; } else if (args[i] === '--birthdate' && args[i + 1]) { birthdate = args[i + 1]; i++; } else if (args[i] === '--help' || args[i] === '-h') { console.log(` Telos Numerology Exporter Generates numerology profile formatted for telos integration. Usage: bun telos-export.ts --name "Full Name" --birthdate "mm/dd/yyyy" Output to file: bun telos-export.ts --name "Your Name" --birthdate "5/13/1982" > ~/.claude/context/personal/telos/numerology.md Options: --name NAME Full name (required) --birthdate DATE Birthdate in mm/dd/yyyy format (required) --help, -h Show this help message `); process.exit(0); } } if (!name || !birthdate) { console.error('Error: Both --name and --birthdate are required'); console.error('Use --help for usage information'); process.exit(1); } try { const output = generateTelosFormat(name, birthdate); console.log(output); } catch (error) { console.error(`Error: ${error instanceof Error ? error.message : String(error)}`); process.exit(1); } } if (import.meta.main) { main(); } export { generateTelosFormat };