
Security News
US Government Forces Anthropic to Pull Claude Fable Days After Launch
Anthropic says the directive cited national security concerns over a narrow jailbreak, but offered no specific technical details.
natalengine
Advanced tools
Birth chart calculator for Western Astrology, Vedic (Jyotish), Human Design, and Gene Keys. Clean data output for apps and AI integrations.
Birth chart calculation engine for Western Astrology, Human Design, and Gene Keys.
Returns clean, structured data for apps and AI integrations. No interpretation, just the facts.
npm install natalengine
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"
Returns Western natal chart data.
| Parameter | Type | Description |
|---|---|---|
| birthDate | string | 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 sign |
| longitude | number | Optional. Required for accurate Rising sign |
Returns:
{
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
}
}
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.
Returns:
{
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
}
}
Returns Gene Keys profile from Human Design data.
Returns:
{
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), ..."
}
The largest real-world error source in birth charts is timezone handling — historical DST, wartime time, half-hour zones. Never estimate offsets from longitude. NatalEngine ships the accurate path:
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);
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
NatalEngine includes an MCP server for Claude and other AI assistants.
Add to your Claude Code settings (~/.claude/settings.json):
{
"mcpServers": {
"natalengine": {
"command": "npx",
"args": ["natalengine-mcp"]
}
}
}
Then ask Claude:
"Calculate my birth chart for June 15, 1990 at 2:30 PM in New York"
| Tool | Description |
|---|---|
calculate_natal_chart | Complete profile (all 3 systems) |
calculate_astrology | Western natal chart |
calculate_human_design | Human Design chart |
calculate_gene_keys | Gene Keys profile |
get_planetary_positions | Raw planetary longitudes |
| System | Data |
|---|---|
| Astrology | Sun, Moon, Rising, all planets, nodes, midheaven, aspects, elements, modalities |
| Human Design | Type, Strategy, Authority, Profile, Definition, Centers, Gates (13 planets × 2 with line/color/tone/base), Channels with circuitry, Incarnation Cross (192 named), Variable (4 arrows / PHS), Transits, Connection charts, Penta |
| Gene Keys | Activation Sequence, Venus Sequence, Pearl Sequence with shadow/gift/siddhi |
MIT
FAQs
Birth chart calculator for Western Astrology, Vedic (Jyotish), Human Design, and Gene Keys. Clean data output for apps and AI integrations.
We found that natalengine demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Anthropic says the directive cited national security concerns over a narrow jailbreak, but offered no specific technical details.

Security News
A network of 152 Chrome live wallpaper extensions hid ad tracking and made extension-driven traffic look like Google search clicks.

Company News
Socket’s first CISO brings deep experience securing high-growth SaaS companies as open source supply chain threats accelerate.