- 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>
304 lines
7 KiB
Markdown
304 lines
7 KiB
Markdown
# Profile Management System
|
|
|
|
## Overview
|
|
|
|
The profile management system allows you to save your numerology data (name and birthdate) once and reuse it across all numerology tools. No more typing `--name "..." --birthdate "..."` every time!
|
|
|
|
## Features
|
|
|
|
- **Create profiles** with auto-generated or custom identifiers
|
|
- **List all profiles** to see what's saved
|
|
- **Show profile details** including creation/update dates
|
|
- **Delete profiles** when no longer needed
|
|
- **Use profiles everywhere** across all 10+ numerology tools
|
|
|
|
## Storage
|
|
|
|
Profiles are stored in JSON format at:
|
|
```
|
|
~/.numerology/profiles/<identifier>.json
|
|
```
|
|
|
|
Each profile contains:
|
|
```json
|
|
{
|
|
"name": "John Smith",
|
|
"birthdate": "3/15/1990",
|
|
"created": "2025-10-15T12:27:34.567Z",
|
|
"updated": "2025-10-15T12:27:34.567Z"
|
|
}
|
|
```
|
|
|
|
## Commands
|
|
|
|
### Create a Profile
|
|
|
|
```bash
|
|
# Auto-generate identifier from first name
|
|
bun profile.ts create --name "John Smith" --birthdate "3/15/1990"
|
|
# → Creates profile 'john'
|
|
|
|
# Custom identifier
|
|
bun profile.ts create johns --name "John Smith" --birthdate "3/15/1990"
|
|
|
|
# Update existing profile (same command)
|
|
bun profile.ts create rob --name "John Smith" --birthdate "3/15/1990"
|
|
```
|
|
|
|
**Options:**
|
|
- `--name, -n NAME` - Full name (required)
|
|
- `--birthdate, -b DATE` - Birthdate in mm/dd/yyyy format (required)
|
|
|
|
### List Profiles
|
|
|
|
```bash
|
|
bun profile.ts list
|
|
```
|
|
|
|
Shows all saved profiles with:
|
|
- Identifier
|
|
- Name
|
|
- Birthdate
|
|
- Creation date
|
|
|
|
### Show Profile Details
|
|
|
|
```bash
|
|
bun profile.ts show rob
|
|
```
|
|
|
|
Shows detailed information:
|
|
- Name
|
|
- Birthdate
|
|
- Created timestamp
|
|
- Updated timestamp
|
|
|
|
### Delete Profile
|
|
|
|
```bash
|
|
bun profile.ts delete rob
|
|
```
|
|
|
|
Permanently removes the profile from storage.
|
|
|
|
## Using Profiles
|
|
|
|
Once created, use `--profile` (or `-p`) flag with any numerology tool:
|
|
|
|
### Main Calculator
|
|
|
|
```bash
|
|
# Basic calculation
|
|
bun numerology.ts --profile john
|
|
|
|
# With detailed meanings
|
|
bun numerology.ts --profile john --detailed
|
|
|
|
# With advanced numbers
|
|
bun numerology.ts --profile john --advanced
|
|
|
|
# With timing cycles
|
|
bun numerology.ts --profile john --cycles
|
|
|
|
# All together
|
|
bun numerology.ts --profile john --detailed --advanced --cycles
|
|
```
|
|
|
|
### PDF Report Generator
|
|
|
|
```bash
|
|
# Generate comprehensive PDF report
|
|
bun generate-report.ts --profile john
|
|
|
|
# Custom output location
|
|
bun generate-report.ts --profile john --output ~/reports/rob-numerology.pdf
|
|
```
|
|
|
|
### Other Tools
|
|
|
|
```bash
|
|
# Compatibility analysis
|
|
bun compatibility.ts --profile john --person2 "Jane:1/1/1990"
|
|
|
|
# Optimal days finder
|
|
bun optimal-days.ts --profile john --day 1
|
|
|
|
# Year-ahead calendar
|
|
bun year-ahead.ts --profile john
|
|
|
|
# Pinnacles & life stages
|
|
bun pinnacles.ts --profile john
|
|
|
|
# Advanced numbers
|
|
bun advanced-numbers.ts --profile john --detailed
|
|
|
|
# Name change analysis (current name loaded from profile)
|
|
bun name-change.ts --profile john --alternative "John Smith"
|
|
|
|
# Name optimizer (base name loaded from profile)
|
|
bun name-optimizer.ts --profile john --find-masters
|
|
```
|
|
|
|
## Use Cases
|
|
|
|
### Personal Use
|
|
Save your own profile and quickly run any calculation:
|
|
```bash
|
|
bun profile.ts create --name "Your Name" --birthdate "mm/dd/yyyy"
|
|
bun numerology.ts --profile yourname --detailed --advanced --cycles
|
|
```
|
|
|
|
### Family Profiles
|
|
Store profiles for family members:
|
|
```bash
|
|
bun profile.ts create --name "Partner Name" --birthdate "mm/dd/yyyy"
|
|
bun profile.ts create --name "Child Name" --birthdate "mm/dd/yyyy"
|
|
|
|
# Compare compatibility
|
|
bun compatibility.ts --profile partner1 --profile partner2
|
|
```
|
|
|
|
### Professional/Client Use
|
|
Numerology practitioners can store client profiles:
|
|
```bash
|
|
# Create client profiles
|
|
bun profile.ts create client1 --name "Client Name" --birthdate "mm/dd/yyyy"
|
|
|
|
# Generate professional reports
|
|
bun generate-report.ts --profile client1 --output ~/clients/client1-report.pdf
|
|
```
|
|
|
|
### Multiple Profiles
|
|
Test different scenarios with saved profiles:
|
|
```bash
|
|
# Create variations
|
|
bun profile.ts create john-legal --name "John Smith" --birthdate "3/15/1990"
|
|
bun profile.ts create john-nick --name "John Smith" --birthdate "3/15/1990"
|
|
|
|
# Compare
|
|
bun numerology.ts --profile john-legal --detailed
|
|
bun numerology.ts --profile john-nick --detailed
|
|
```
|
|
|
|
## Architecture
|
|
|
|
### File Structure
|
|
|
|
```
|
|
profile-manager.ts # Core CRUD operations
|
|
profile.ts # CLI interface
|
|
~/.numerology/
|
|
└── profiles/
|
|
├── rob.json
|
|
├── jane.json
|
|
└── ...
|
|
```
|
|
|
|
### API Functions
|
|
|
|
From `profile-manager.ts`:
|
|
|
|
```typescript
|
|
// Save or update a profile
|
|
saveProfile(identifier: string, name: string, birthdate: string): void
|
|
|
|
// Load a profile
|
|
loadProfile(identifier: string): Profile | null
|
|
|
|
// List all profiles
|
|
listProfiles(): Array<{ identifier: string; profile: Profile }>
|
|
|
|
// Delete a profile
|
|
deleteProfile(identifier: string): boolean
|
|
|
|
// Check if profile exists
|
|
profileExists(identifier: string): boolean
|
|
|
|
// Generate identifier from name
|
|
generateIdentifier(name: string): string
|
|
```
|
|
|
|
### Profile Interface
|
|
|
|
```typescript
|
|
interface Profile {
|
|
name: string;
|
|
birthdate: string;
|
|
created: string; // ISO 8601 timestamp
|
|
updated: string; // ISO 8601 timestamp
|
|
}
|
|
```
|
|
|
|
## Implementation Details
|
|
|
|
### Identifier Generation
|
|
|
|
Auto-generated identifiers:
|
|
- Extract first name from full name
|
|
- Convert to lowercase
|
|
- Remove non-alphanumeric characters
|
|
|
|
Example: "John Smith" → "rob"
|
|
|
|
### File Naming
|
|
|
|
Profile files use sanitized identifiers:
|
|
- Lowercase
|
|
- Replace invalid characters with hyphens
|
|
- Only `a-z`, `0-9`, `-`, `_` allowed
|
|
|
|
Example: "Rob's Profile" → `robs-profile.json`
|
|
|
|
### Timestamp Tracking
|
|
|
|
- `created` - Never changes, set on first save
|
|
- `updated` - Updates every time profile is modified
|
|
|
|
### Error Handling
|
|
|
|
- Profile not found → Helpful error message with suggestion to list profiles
|
|
- Invalid data → Validation errors with clear instructions
|
|
- File system errors → Caught and reported gracefully
|
|
|
|
## Future Enhancements
|
|
|
|
Potential additions to the profile system:
|
|
|
|
1. **Profile metadata** - Add notes, tags, or categories
|
|
2. **Import/export** - Share profiles or backup to file
|
|
3. **Profile groups** - Organize profiles by family, clients, etc.
|
|
4. **Search** - Find profiles by name or birthdate pattern
|
|
5. **Aliases** - Multiple identifiers for same profile
|
|
6. **Defaults** - Set default profile for quick access
|
|
7. **Cloud sync** - Sync profiles across devices
|
|
8. **History** - Track calculation history per profile
|
|
|
|
## Benefits
|
|
|
|
✅ **Convenience** - Type once, use everywhere
|
|
✅ **Consistency** - Same data across all tools
|
|
✅ **Speed** - Faster workflow for repeated calculations
|
|
✅ **Organization** - Manage multiple people systematically
|
|
✅ **Professional** - Clean interface for client work
|
|
✅ **Portable** - Simple JSON format, easy to backup
|
|
|
|
## Compatibility
|
|
|
|
Works with all numerology tools:
|
|
- ✅ numerology.ts (main calculator)
|
|
- ✅ generate-report.ts (PDF reports)
|
|
- ✅ optimal-days.ts
|
|
- ✅ pinnacles.ts
|
|
- ✅ compatibility.ts
|
|
- ✅ year-ahead.ts
|
|
- ✅ advanced-numbers.ts
|
|
- ✅ name-change.ts
|
|
- ✅ name-optimizer.ts
|
|
- ✅ telos-week.ts
|
|
- ✅ And more...
|
|
|
|
---
|
|
|
|
**Status:** ✅ Fully Implemented (Phase 6)
|
|
**Version:** 1.0
|
|
**Date:** October 15, 2025
|