AlexandrAI AGENTS.md
agents-md

AlexandrAI Tools Life Path Number Agent Guide

Agent guide for numerology digit reduction with preserved master numbers and UTC date validation.

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.