### Install NatalEngine via npm Source: https://github.com/unforced-dev/natalengine/blob/main/mcp.html Install the NatalEngine MCP server globally using npm. This is the quickest way to get started. ```bash npm install -g natalengine ``` -------------------------------- ### Install NatalEngine Source: https://github.com/unforced-dev/natalengine/blob/main/docs.html Install the natalengine library using npm. ```bash npm install natalengine ``` -------------------------------- ### Development and Build Commands Source: https://github.com/unforced-dev/natalengine/blob/main/CLAUDE.md Commands for starting the development server, building the project for production, and previewing the production build. ```bash # Development npm run dev # Start Vite dev server (usually localhost:5173) npm run build # Build for production npm run preview # Preview production build ``` -------------------------------- ### Install MCP Server Dependencies Source: https://github.com/unforced-dev/natalengine/blob/main/mcp-server/README.md Navigate to the mcp-server directory and install project dependencies using npm. ```bash cd mcp-server npm install ``` -------------------------------- ### Testing and MCP Server Commands Source: https://github.com/unforced-dev/natalengine/blob/main/CLAUDE.md Commands for running tests and starting the MCP server directly. ```bash # Testing npm test # Run tests (node --test tests/) # MCP Server npm run mcp # Start MCP server directly ``` -------------------------------- ### Clone NatalEngine from Source Source: https://github.com/unforced-dev/natalengine/blob/main/mcp.html Clone the NatalEngine repository from GitHub and install dependencies locally. ```bash git clone https://github.com/Unforced-Dev/natal-engine.git cd natalengine npm install ``` -------------------------------- ### Quick Start: NatalEngine Calculations Source: https://github.com/unforced-dev/natalengine/blob/main/docs.html Demonstrates how to import and use various calculation functions from the natalengine library for Western Astrology, Human Design, Vedic Astrology, and Gene Keys. ```javascript import { calculateAstrology, calculateVedic, calculateHumanDesign, calculateGeneKeys } from 'natalengine'; // Western Astrology const astro = calculateAstrology( '1990-06-15', // birth date (YYYY-MM-DD) 14.5, // birth hour (decimal, 14.5 = 2:30 PM) -5, // timezone (UTC offset) 40.7128, // latitude -74.0060 // longitude ); console.log(astro.bigThree); // "♊ Gemini Sun, ♓ Pisces Moon, ♎ Libra Rising" // Human Design const hd = calculateHumanDesign('1990-06-15', 14.5, -5); console.log(hd.type.name); // "Generator" // Vedic (Jyotish) const vedic = calculateVedic('1990-06-15', 14.5, -5, 40.7128, -74.0060); console.log(vedic.moonSign.summary); // "Moon in Simha (Leo), Purva Phalguni Nakshatra" // Gene Keys const gk = calculateGeneKeys(hd); console.log(gk.activationSequence.lifeWork.gift); // "Discrimination" ``` -------------------------------- ### Configure NatalEngine MCP Server (Source) Source: https://github.com/unforced-dev/natalengine/blob/main/mcp.html Add the NatalEngine MCP server configuration to your Claude Code settings when installed from source. Ensure the path to the index.js file is correct. ```json { "mcpServers": { "natalengine": { "command": "node", "args": ["/path/to/natalengine/src/mcp/index.js"] } } } ``` -------------------------------- ### Configure NatalEngine MCP Server (npm) Source: https://github.com/unforced-dev/natalengine/blob/main/mcp.html Add the NatalEngine MCP server configuration to your Claude Code settings when installed via npm. ```json { "mcpServers": { "natalengine": { "command": "npx", "args": ["natalengine-mcp"] } } } ``` -------------------------------- ### Quick Start: Calculate Astrology, Human Design, and Gene Keys Source: https://github.com/unforced-dev/natalengine/blob/main/README.md Demonstrates how to import and use the core calculation functions for Western Astrology, Human Design, and Gene Keys. Shows basic output for each system. ```javascript import { calculateAstrology, calculateHumanDesign, calculateGeneKeys } from 'natalengine'; // Western Astrology const astro = calculateAstrology('1990-06-15', 14.5, -5, 40.7128, -74.0060); console.log(astro.sun.sign.name); // "Gemini" console.log(astro.moon.sign.name); // "Pisces" console.log(astro.rising.sign.name); // "Libra" console.log(astro.planets.venus.degree); // "19°08'41\"" // Human Design const hd = calculateHumanDesign('1990-06-15', 14.5, -5); console.log(hd.type.name); // "Manifestor" console.log(hd.authority.name); // "Emotional Authority" console.log(hd.profile.numbers); // "2/4" console.log(hd.channels); // [{ gates: [12, 22], name: "..." }] // Gene Keys const gk = calculateGeneKeys(hd); console.log(gk.activationSequence.lifeWork.gift); // "Discrimination" console.log(gk.activationSequence.lifeWork.shadow); // "Vanity" console.log(gk.activationSequence.lifeWork.siddhi); // "Purity" ``` -------------------------------- ### Advanced Human Design Analysis Source: https://github.com/unforced-dev/natalengine/blob/main/README.md Provides examples for advanced Human Design calculations including transits, comparing two Human Design profiles, and analyzing group dynamics with the Penta system. These functions require a pre-calculated Human Design object. ```javascript import { calculateHDTransits, compareHumanDesign, analyzePenta } from 'natalengine'; const transits = calculateHDTransits(hd, '2026-06-04'); // transit overlay + channel completions const connection = compareHumanDesign(hdA, hdB); // electromagnetic/dominance/compromise/companionship const team = analyzePenta([hdA, hdB, hdC], names); // group/Penta analysis ``` -------------------------------- ### Verify NatalEngine MCP Server Source: https://github.com/unforced-dev/natalengine/blob/main/mcp.html Run this command in your terminal to check if the NatalEngine MCP server is running correctly and accessible. ```bash npx natalengine-mcp ``` -------------------------------- ### Geocoding and Timezone Resolution Source: https://github.com/unforced-dev/natalengine/blob/main/README.md Demonstrates how to use NatalEngine for accurate timezone handling by searching for places and resolving UTC offsets based on date, time, and IANA timezone. Requires accurate birth data to avoid chart errors. ```javascript import { searchPlaces, resolveUtcOffset, formatUtcOffset } from 'natalengine'; const places = await searchPlaces('Denver'); // Open-Meteo geocoding, no key // → [{ name, label, latitude, longitude, timezone: 'America/Denver', ... }] const offset = resolveUtcOffset('1944-06-15', '12:00', 'Europe/London'); // → 2 (British Double Summer Time — full IANA history via the Intl API) const hd = calculateHumanDesign('1944-06-15', 12, offset); ``` -------------------------------- ### calculateGeneKeys Source: https://github.com/unforced-dev/natalengine/blob/main/README.md Calculates the Gene Keys profile based on provided Human Design data. It returns a detailed breakdown of activation sequences, including life work, evolution, radiance, purpose, attraction, IQ, EQ, SQ, vocation, culture, and pearl, along with all keys, prime gifts, and a summary. ```APIDOC ## calculateGeneKeys(humanDesignData) ### Description Returns Gene Keys profile from Human Design data. ### Parameters #### Path Parameters * None #### Query Parameters * None #### Request Body * **humanDesignData** (object) - Required - The Human Design data object required for calculation. ### Returns * **activationSequence** (object) - Contains details for life work, evolution, radiance, and purpose. * **lifeWork**, **evolution**, **radiance**, **purpose** (object) - Each contains `key`, `line`, `keyLine`, `shadow`, `gift`, `siddhi`. * **venusSequence** (object) - Contains details for attraction, iq, eq, and sq. * **attraction**, **iq**, **eq**, **sq** (object) - Each contains `key`, `line`, `keyLine`, `shadow`, `gift`, `siddhi`. * **pearlSequence** (object) - Contains details for vocation, culture, and pearl. * **vocation**, **culture**, **pearl** (object) - Each contains `key`, `line`, `keyLine`, `shadow`, `gift`, `siddhi`. * **core** (object) - Same as vocation (Design Mars) - Venus Sequence lens. * **brand** (object) - Same as lifeWork (Personality Sun) - Pearl Sequence lens. * **allKeys** (array) - All 11 Gene Keys in the profile. * **primeGifts** (array) - The 4 gifts from Activation Sequence. * **summary** (string) - A summary string of the Gene Keys profile. ``` -------------------------------- ### calculateHumanDesign() Source: https://github.com/unforced-dev/natalengine/blob/main/docs.html Calculate Human Design chart with Type, Strategy, Authority, and gate activations. Requires birth date, time, and timezone. ```APIDOC ## calculateHumanDesign() ### Description Calculate Human Design chart with Type, Strategy, Authority, and gate activations. ### Method calculateHumanDesign ### Parameters #### Path Parameters - **birthDate** (string) - Date in YYYY-MM-DD format - **birthHour** (number) - Decimal hours - **timezone** (number) - UTC offset ### Returns #### Success Response - **type** (object) - Name, strategy, signature, and not-self theme - **authority** (object) - Name and description of the authority - **profile** (object) - Profile numbers, name, and theme - **incarnationCross** (object) - Name and gates of the incarnation cross - **centers** (object) - Defined and undefined centers with their themes and biological connections - **gates** (object) - Activated gates for personality and design, and a list of all gates - **channels** (array) - Array of activated channels with their gates and connected centers ``` -------------------------------- ### get_planetary_positions Source: https://github.com/unforced-dev/natalengine/blob/main/mcp-server/README.md Retrieves raw astronomical data for all planets based on birth information. ```APIDOC ## get_planetary_positions ### Description Raw astronomical data for all planets. ### Parameters #### Path Parameters - `birth_date` (string) - Required - Date in YYYY-MM-DD format - `birth_time` (string) - Optional - Time in HH:MM format - `latitude` (number) - Optional - Birth location latitude - `longitude` (number) - Optional - Birth location longitude - `timezone` (string) - Optional - UTC offset ``` -------------------------------- ### calculate_gene_keys Source: https://github.com/unforced-dev/natalengine/blob/main/mcp-server/README.md Generates a Gene Keys profile encompassing the Activation, Venus, and Pearl sequences. ```APIDOC ## calculate_gene_keys ### Description Gene Keys profile with all three sequences. ### Parameters #### Path Parameters - `birth_date` (string) - Required - Date in YYYY-MM-DD format - `birth_time` (string) - Optional - Time in HH:MM format - `timezone` (string) - Optional - UTC offset ``` -------------------------------- ### calculateGeneKeys Source: https://github.com/unforced-dev/natalengine/blob/main/README.md Calculates Gene Keys data by taking Human Design data as input. It returns information about the activation sequence, including gifts, shadows, and siddhis. ```APIDOC ## calculateGeneKeys(humanDesignData) ### Description Returns Gene Keys data based on Human Design chart data. ### Parameters #### Path Parameters - **humanDesignData** (object) - Required - The output object from `calculateHumanDesign`. ### Response #### Success Response - **activationSequence** (object) - Contains details for Life's Work, Evolution, Radiance, and Purpose, including gift, shadow, and siddhi for each. - **otherGeneKeysData** (object) - Placeholder for other potential Gene Keys data points not explicitly detailed in the source. ``` -------------------------------- ### Configure Claude Code MCP Server Source: https://github.com/unforced-dev/natalengine/blob/main/mcp-server/README.md Add the StarChart MCP server configuration to your Claude Code settings file to enable chart calculations. ```json { "mcpServers": { "starchart": { "command": "node", "args": ["/path/to/starchart/mcp-server/src/index.js"] } } } ``` -------------------------------- ### Human Design Extras Source: https://github.com/unforced-dev/natalengine/blob/main/README.md Offers advanced Human Design analysis functions, including calculating transits, comparing two Human Design profiles, and analyzing group dynamics (Penta). ```APIDOC ## Human Design Extras ### Description Provides additional utilities for advanced Human Design analysis. ### Functions #### calculateHDTransits(hdData, date) * **Description**: Calculates transit overlays and channel completions for a given Human Design profile and date. * **Parameters**: * **hdData** (object) - The Human Design data object. * **date** (string) - The date for which to calculate transits (e.g., '2026-06-04'). * **Returns**: * (object) - Transit information, including overlay and channel completions. #### compareHumanDesign(hdA, hdB) * **Description**: Compares two Human Design profiles to analyze their electromagnetic connection, dominance, compromise, and companionship dynamics. * **Parameters**: * **hdA** (object) - The first Human Design data object. * **hdB** (object) - The second Human Design data object. * **Returns**: * (object) - An object detailing the comparison results. #### analyzePenta(hdArray, names) * **Description**: Analyzes group dynamics (Penta) for a given array of Human Design profiles and associated names. * **Parameters**: * **hdArray** (array) - An array of Human Design data objects. * **names** (array) - An array of names corresponding to the Human Design profiles. * **Returns**: * (object) - An object containing the group/Penta analysis results. ``` -------------------------------- ### calculate_starchart Source: https://github.com/unforced-dev/natalengine/blob/main/mcp-server/README.md Calculates a complete cosmic profile combining Western Astrology, Human Design, and Gene Keys systems. ```APIDOC ## calculate_starchart ### Description Complete cosmic profile with all three systems combined. ### Parameters #### Path Parameters - `birth_date` (string) - Required - Date in YYYY-MM-DD format - `birth_time` (string) - Optional - Time in HH:MM format (24-hour), defaults to 12:00 - `latitude` (number) - Optional - Birth location latitude - `longitude` (number) - Optional - Birth location longitude - `timezone` (string) - Optional - UTC offset (estimated from longitude if not provided) ``` -------------------------------- ### calculate_astrology Source: https://github.com/unforced-dev/natalengine/blob/main/mcp-server/README.md Generates a Western natal chart detailing planetary positions. ```APIDOC ## calculate_astrology ### Description Western natal chart with planetary positions. ### Parameters #### Path Parameters - `birth_date` (string) - Required - Date in YYYY-MM-DD format - `birth_time` (string) - Optional - Time in HH:MM format - `latitude` (number) - Optional - Birth location latitude - `longitude` (number) - Optional - Birth location longitude - `timezone` (string) - Optional - UTC offset ``` -------------------------------- ### Calculate Human Design Chart Source: https://github.com/unforced-dev/natalengine/blob/main/docs.html Calculates a Human Design chart, providing Type, Strategy, Authority, and gate activations. Requires birth date, time, and timezone. ```javascript calculateHumanDesign('1990-06-15', 14.5, -5) ``` -------------------------------- ### calculate_human_design Source: https://github.com/unforced-dev/natalengine/blob/main/mcp-server/README.md Provides a Human Design chart including Type, Authority, Profile, Gates, and Channels. ```APIDOC ## calculate_human_design ### Description Human Design chart with Type, Authority, Profile, Gates, and Channels. ### Parameters #### Path Parameters - `birth_date` (string) - Required - Date in YYYY-MM-DD format - `birth_time` (string) - Optional - Time in HH:MM format - `timezone` (string) - Optional - UTC offset ``` -------------------------------- ### calculateAstrology() Source: https://github.com/unforced-dev/natalengine/blob/main/docs.html Calculate Western natal chart with planetary positions, aspects, and analysis. Requires birth date, time, timezone, and optionally latitude and longitude for accurate rising sign calculation. ```APIDOC ## calculateAstrology() ### Description Calculate Western natal chart with planetary positions, aspects, and analysis. ### Method calculateAstrology ### Parameters #### Path Parameters - **birthDate** (string) - Date in YYYY-MM-DD format - **birthHour** (number) - Decimal hours (14.5 = 2:30 PM) - **timezone** (number) - UTC offset (-5 for EST) - **latitude** (number, optional) - Required for accurate Rising - **longitude** (number, optional) - Required for accurate Rising ### Returns #### Success Response - **sun** (object) - Sun sign, degree, and longitude - **moon** (object) - Moon sign, degree, and longitude - **rising** (object) - Rising sign, degree, longitude, and accuracy - **planets** (object) - Positions of Mercury, Venus, Mars, Jupiter, Saturn, Uranus, Neptune, Pluto - **nodes** (object) - North and South Node positions - **midheaven** (object) - Midheaven sign, degree, and longitude - **aspects** (array) - Array of planetary aspects - **balance** (object) - Elemental and modality balance, dominant element and modality - **bigThree** (string) - Formatted string of Sun, Moon, and Rising signs ``` -------------------------------- ### Calculate Gene Keys Profile Source: https://github.com/unforced-dev/natalengine/blob/main/docs.html Calculates the Gene Keys profile based on provided Human Design data. This function takes the output of `calculateHumanDesign` as its input. ```javascript calculateGeneKeys(hd) ``` -------------------------------- ### Calculate Gene Keys Profile Structure Source: https://github.com/unforced-dev/natalengine/blob/main/README.md This snippet shows the expected structure of the Gene Keys profile returned by the `calculateGeneKeys` function. It details the nested objects for different sequences and their properties. ```javascript { activationSequence: { lifeWork: { key, line, keyLine, shadow, gift, siddhi }, evolution: { key, line, keyLine, shadow, gift, siddhi }, radiance: { key, line, keyLine, shadow, gift, siddhi }, purpose: { key, line, keyLine, shadow, gift, siddhi } }, venusSequence: { attraction: { key, line, keyLine, shadow, gift, siddhi }, iq: { key, line, keyLine, shadow, gift, siddhi }, eq: { key, line, keyLine, shadow, gift, siddhi }, sq: { key, line, keyLine, shadow, gift, siddhi } }, pearlSequence: { vocation: { key, line, keyLine, shadow, gift, siddhi }, culture: { key, line, keyLine, shadow, gift, siddhi }, pearl: { key, line, keyLine, shadow, gift, siddhi } }, core: { ... }, // Same as vocation (Design Mars) - Venus Sequence lens brand: { ... }, // Same as lifeWork (Personality Sun) - Pearl Sequence lens allKeys: [...], // All 11 Gene Keys in the profile primeGifts: [...], // The 4 gifts from Activation Sequence summary: "Life's Work: 64.3 (Imagination), ..." } ``` -------------------------------- ### calculateGeneKeys() Source: https://github.com/unforced-dev/natalengine/blob/main/docs.html Calculate Gene Keys profile from Human Design data. This function takes the output of calculateHumanDesign as input. ```APIDOC ## calculateGeneKeys() ### Description Calculate Gene Keys profile from Human Design data. ### Method calculateGeneKeys ### Parameters #### Path Parameters - **hd** (object) - Human Design chart data, typically the output from `calculateHumanDesign` ### Returns #### Success Response - **activationSequence** (object) - Contains sequences like Life's Work, with gift, shadow, and siddhis. - **hologeneticProfile** (object) - Details of the Gene Keys profile. - **genius** (object) - Information related to the individual's genius. ``` -------------------------------- ### calculateHumanDesign Source: https://github.com/unforced-dev/natalengine/blob/main/docs.html Calculates Human Design data based on provided human design data. It returns a detailed object containing activation, venus, and pearl sequences, each with nested properties representing various astrological and design elements. ```APIDOC ## calculateHumanDesign ### Description Calculates Human Design data based on provided human design data. It returns a detailed object containing activation, venus, and pearl sequences, each with nested properties representing various astrological and design elements. ### Parameters #### Request Body - **humanDesignData** (object) - Required - Result from calculateHumanDesign() ### Returns #### Success Response - **activationSequence** (object) - Contains lifeWork, evolution, radiance, and purpose details. - **lifeWork** (object) - Contains key, line, sphere, shadow, gift, and siddhi. - **evolution** (object) - Details about the evolution sequence. - **radiance** (object) - Details about the radiance sequence. - **purpose** (object) - Details about the purpose sequence. - **venusSequence** (object) - Contains attraction, iq, eq, and sq details. - **attraction** (object) - Details about the attraction sequence. - **iq** (object) - Details about the IQ sequence. - **eq** (object) - Details about the EQ sequence. - **sq** (object) - Details about the SQ sequence. - **pearlSequence** (object) - Contains vocation, culture, and pearl details. - **vocation** (object) - Details about the vocation sequence. - **culture** (object) - Details about the culture sequence. - **pearl** (object) - Details about the pearl sequence. ### Response Example ```json { "activationSequence": { "lifeWork": { "key": "string", "line": "number", "sphere": "string", "shadow": "string", "gift": "string", "siddhi": "string" }, "evolution": { "...": "..." }, "radiance": { "...": "..." }, "purpose": { "...": "..." } }, "venusSequence": { "attraction": { "...": "..." }, "iq": { "...": "..." }, "eq": { "...": "..." }, "sq": { "...": "..." } }, "pearlSequence": { "vocation": { "...": "..." }, "culture": { "...": "..." }, "pearl": { "...": "..." } } } ``` ``` -------------------------------- ### Timezone & Geocoding Source: https://github.com/unforced-dev/natalengine/blob/main/README.md Handles accurate timezone resolution for birth data, crucial for precise chart calculations. It includes functions to search for places, resolve UTC offsets based on date and time, and format these offsets. ```APIDOC ## Timezone & Geocoding Functions ### Description Provides utilities for accurate timezone handling and geocoding, essential for precise birth chart calculations. Avoids estimation of offsets from longitude by using historical DST, wartime time, and half-hour zones. ### Functions #### searchPlaces(query) * **Description**: Searches for places using Open-Meteo geocoding. * **Parameters**: * **query** (string) - The search term for the place. * **Returns**: * An array of place objects, each containing `name`, `label`, `latitude`, `longitude`, `timezone` (e.g., 'America/Denver'), and other details. #### resolveUtcOffset(date, time, timezone) * **Description**: Resolves the accurate UTC offset for a given date, time, and timezone, considering historical DST and other timezone variations. * **Parameters**: * **date** (string) - The birth date (e.g., '1944-06-15'). * **time** (string) - The birth time (e.g., '12:00'). * **timezone** (string) - The IANA timezone name (e.g., 'Europe/London'). * **Returns**: * (number) - The UTC offset in hours (e.g., 2 for British Double Summer Time). #### formatUtcOffset(offset) * **Description**: Formats a UTC offset number into a human-readable string. * **Parameters**: * **offset** (number) - The UTC offset in hours. * **Returns**: * (string) - The formatted UTC offset string. ``` -------------------------------- ### calculateHumanDesign Source: https://github.com/unforced-dev/natalengine/blob/main/README.md Calculates Human Design chart data. It provides information on type, authority, profile, definition, and detailed breakdowns of gates, channels, and variables. ```APIDOC ## calculateHumanDesign(birthDate, birthHour, timezone, options?) ### Description Returns Human Design chart data. `options.nodeType` selects `'true'` (default, the dominant HD convention) or `'mean'` lunar nodes. Every activation includes the full substructure — `gate`, `line`, `color`, `tone`, `base`, and the raw `longitude` — so apps can build Variable/PHS features or re-derive anything. ### Parameters #### Path Parameters - **birthDate** (string) - Required - `YYYY-MM-DD` format - **birthHour** (number) - Required - Decimal hours (14.5 = 2:30 PM) - **timezone** (number) - Required - UTC offset (-5 for EST) - **options** (object) - Optional - Configuration for node type. - **nodeType** (string) - Optional - `'true'` or `'mean'` for lunar nodes. ### Response #### Success Response - **type** (object) - Name, strategy, authority, notSelf, and signature of the Human Design type. - **authority** (object) - Name and description of the Human Design authority. - **profile** (object) - Numbers, name, and theme of the Human Design profile. - **definition** (string) - The type of definition (e.g., 'Single Definition', 'Split Definition'). - **incarnationCross** (object) - Name, gates, and theme of the Incarnation Cross. - **centers** (object) - Defined and undefined centers, including their names, themes, and biological connections. - **gates** (object) - Personality and design gate data, including raw planetary positions and a list of all gates. - **channels** (array) - List of channels, including their gates, names, centers, and circuit types. - **circuitAnalysis** (object) - Analysis of circuit types (individual, tribal, collective, integration, dominant). - **variable** (object) - Detailed breakdown of the Human Design variable, including determination, environment, motivation, perspective, and notation. - **meta** (object) - Metadata including birthDate, birthHour, timezone, nodeType, ephemeris, and designSolarArc. - **positions** (object) - Raw planetary data for personality and design at birth and at the 88° solar arc. ``` -------------------------------- ### Calculate Western Astrology Chart Source: https://github.com/unforced-dev/natalengine/blob/main/docs.html Calculates a Western natal chart including planetary positions, aspects, and analysis. Latitude and longitude are optional but recommended for accurate Rising sign calculation. ```javascript calculateAstrology( '1990-06-15', // birth date (YYYY-MM-DD) 14.5, // birth hour (decimal, 14.5 = 2:30 PM) -5, // timezone (UTC offset) 40.7128, // latitude -74.0060 // longitude ) ``` -------------------------------- ### calculateVedic() Source: https://github.com/unforced-dev/natalengine/blob/main/docs.html Calculate Vedic (Jyotish) astrology chart using sidereal zodiac with Lahiri ayanamsa. Requires birth date, time, timezone, and optionally latitude and longitude for accurate Lagna calculation. ```APIDOC ## calculateVedic() ### Description Calculate Vedic (Jyotish) astrology chart using sidereal zodiac with Lahiri ayanamsa. ### Method calculateVedic ### Parameters #### Path Parameters - **birthDate** (string) - Date in YYYY-MM-DD format - **birthHour** (number) - Decimal hours (14.5 = 2:30 PM) - **timezone** (number) - UTC offset (-5 for EST) - **latitude** (number, optional) - Required for accurate Lagna - **longitude** (number, optional) - Required for accurate Lagna ### Returns #### Success Response - **ayanamsa** (object) - Ayanamsa system, degrees, and formatted string - **moonSign** (object) - Moon sign (rashi), nakshatra, and summary - **positions** (object) - Positions of Sun, Moon, and other planets - **dasha** (object) - Birth lord, current dasha period, and list of dashas - **houses** (object) - House details including sign and planets within each house ``` -------------------------------- ### Calculate Vedic Astrology Chart Source: https://github.com/unforced-dev/natalengine/blob/main/docs.html Calculates a Vedic (Jyotish) astrology chart using the sidereal zodiac with Lahiri ayanamsa. Latitude and longitude are optional but recommended for accurate Lagna calculation. ```javascript calculateVedic('1990-06-15', 14.5, -5, 40.7128, -74.0060) ``` -------------------------------- ### Western Astrology Calculation Result Structure Source: https://github.com/unforced-dev/natalengine/blob/main/README.md The expected JSON structure returned by the `calculateAstrology` function. Includes details on sun, moon, rising, planets, nodes, midheaven, aspects, and balance. ```json { "sun": { "sign", "degree", "longitude" }, "moon": { "sign", "degree", "longitude" }, "rising": { "sign", "degree", "longitude", "accurate" }, "planets": { "mercury": { "sign", "degree", "longitude" }, "venus": { "sign", "degree", "longitude" }, "mars": { "sign", "degree", "longitude" }, "jupiter": { "sign", "degree", "longitude" }, "saturn": { "sign", "degree", "longitude" }, "uranus": { "sign", "degree", "longitude" }, "neptune": { "sign", "degree", "longitude" }, "pluto": { "sign", "degree", "longitude" } }, "nodes": { "north": { "sign", "degree", "longitude" }, "south": { "sign", "degree", "longitude" } }, "midheaven": { "sign", "degree", "longitude" }, "aspects": [ { "planet1", "planet2", "aspect", "orb", "applying" } ], "balance": { "elements": { "fire", "earth", "air", "water" }, "modalities": { "cardinal", "fixed", "mutable" }, "dominantElement", "dominantModality" } } ``` -------------------------------- ### Human Design Calculation Result Structure Source: https://github.com/unforced-dev/natalengine/blob/main/README.md The expected JSON structure returned by the `calculateHumanDesign` function. Includes type, authority, profile, definition, incarnation cross, centers, gates, channels, circuit analysis, and variable data. ```json { "type": { "name", "strategy", "authority", "notSelf", "signature" }, "authority": { "name", "description" }, "profile": { "numbers", "name", "theme" }, "definition": "Single Definition" | "Split Definition" | "Triple Split" | "Quadruple Split", "incarnationCross": { "name", "gates", "theme" }, "centers": { "defined": [{ "name", "theme", "biological" }], "undefined": [{ "name", "theme", "biological" }], "definedNames": ["Sacral", "Throat", ...], "undefinedNames": ["Head", "Ajna", ...] }, "gates": { "personality": { "sun", "earth", "moon", "northNode", "southNode", "mercury", "venus", "mars", "jupiter", "saturn", "uranus", "neptune", "pluto" }, "design": { "sun", "earth", "moon", "northNode", "southNode", "mercury", "venus", "mars", "jupiter", "saturn", "uranus", "neptune", "pluto" }, "all": [1, 2, 3, ...] }, "channels": [{ "gates", "name", "centers", "circuit", "subcircuit" }], "circuitAnalysis": { "individual", "tribal", "collective", "integration", "dominant" }, "variable": { "determination": { "arrow", "color", "tone", "name", "description", "cognition" }, "environment": { "arrow", "color", "tone", "name", "description" }, "motivation": { "arrow", "color", "tone", "name", "description" }, "perspective": { "arrow", "color", "tone", "name", "description" }, "notation": "RR LR" // [Determination, Environment | Motivation, Perspective] }, "meta": { "birthDate", "birthHour", "timezone", "nodeType", "ephemeris", "designSolarArc" }, "positions": { "personality": { "date", "sun", "earth", "moon", ... }, // Raw planetary data at birth "design": { "date", "dateTime", "sun", "earth", "moon", ... } // Raw data at exactly 88° solar arc before } } ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.