AGENTS.md
Guidance for coding agents working on AlexandrAI Tools Life Path Number in the alexandrai-tools project.
Project overview
This guide covers src/tools/life-path-number. reduceToLifePath repeatedly sums digits until a single digit or master number 11, 22, or 33 remains. lifePathFromDate parses a YYYY-MM-DD string, validates the calendar date using UTC components, sums digits from YYYYMMDD, and reduces the total.
Primary source files
- src/tools/life-path-number/index.ts defines meta, reduceToLifePath, and lifePathFromDate.
- src/tools/life-path-number/index.test.ts covers valid result sets, a 1990-01-15 example, master numbers 11, 22, and 33, reducing 29 to 11, invalid strings, and out-of-range dates.
- src/tools/life-path-number/Body.astro owns date input and result display.
- src/tools/life-path-number/i18n.ts owns localized labels.
- src/lib/tools.ts registers the tool metadata.
Setup commands
npm install npm test npm run typecheck npm run build npm run dev
Change rules
- Preserve master numbers 11, 22, and 33 during reduction.
- Reduce all other values above nine by summing digits repeatedly.
- Return null for invalid date strings.
- Validate parsed dates by comparing UTC year, month, and day components.
- Build the digit string as YYYYMMDD with padded month and day.
- Keep numerology framing entertainment-oriented.
- Add tests before changing master-number behavior.
Testing
Test valid dates, invalid strings, invalid calendar dates, every master number, multi-step reductions, padded month and day handling, leap-day inputs, and UI result copy.
PR checklist
- npm test passes for life-path-number.
- Date, random, or hash behavior is documented exactly as implemented.
- Health outputs remain framed as estimates, not medical decisions.
- UI labels, validation, and pure helper tests stay aligned.