numerology/telos-export.ts
rpriven fd6e171586
Add comprehensive numerology calculator with 10 specialized tools
- 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>
2025-11-01 14:00:15 -06:00

181 lines
6.3 KiB
TypeScript
Executable file

#!/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 };