Validated astrology computation in TypeScript
Caelus is a clean-room, MIT-licensed TypeScript suite for validated astrology computation. It computes planetary positions, charts, events, hellenistic timing techniques, Vedic methods, and citable chart facts across browser, edge, Node, and MCP clients, without Swiss Ephemeris code, AGPL licensing, or ephemeris files.
- Sun through Pluto, Chiron, and nodes; twelve house systems; tropical and seven sidereal zodiacs
- Derived charts: returns, progressions, solar arc, composite, Davison, harmonics, dignities, and sect
- Hellenistic time-lords: lots, profections, firdaria, zodiacal releasing, and primary directions
- Vedic & Jyotish: nakshatras, the Vimshottari, Yogini, and Ashtottari dashas, divisional charts, and yogas
- Interpretation layer: ranked, citable fact atoms, a pluggable rule corpus, and LLM briefs with citation auditing
- Sky View: frame the visible sky from a place and moment as a pixel-precise prompt for AI image generation, with the Milky Way, deep star field, and ecliptic, sign, house, and constellation overlays
- Chart provenance: declare what a chart is (forecast, mythic, archetypal) and route to the ephemeris or the compiler
caelus-mcpgives Claude, Cursor, and other MCP clients thirty-four chart tools- Charts can compute entirely in the browser, so an app never has to send birth data to a server
You pass a date, UT time, latitude, and longitude; the engine returns a chart object for your app, API, or AI tool. The full capability list, with a comparison against the other engines, is on Features.
Compute a chart
caelus-wheel: 1990-06-10 14:30 UT, Tampa.Full walkthrough in the Quickstart, or try it live in the Playground. For a complete app, the caelus-starter template is a Next.js project with a birth form, timezone handling, and a chart wheel, deployable to Vercel in one click.
The packages
caelusChart math: positions, houses, aspects. Zero dependencies, ~97 KB gzipped.
caelus-mcpThirty-four chart tools for AI agents: natal charts, transits, synastry, event search, electional, lots, time-lords, directions, and the Vedic layer (nakshatras, dashas, vargas, yogas).
caelus-birthLocal birth time and place to UT, with DST and historical timezone rules.
caelus-wheelReact SVG chart wheel. SSR-safe, ~3.4 KB gzipped.
How it is checked
Two-stage CI. A Python reference engine is calibrated against Swiss Ephemeris, then the TypeScript port is replayed against 3,218 golden checks. Worst recorded deviation: 0.41 nano-arcsecond, far below any astronomical relevance, so a porting bug fails the build. Tables and methodology: Validation. Bugs the suite caught: Build Notes.
Frequently asked questions
Is Caelus free to use in commercial projects?
How accurate is it?
Do I need Swiss Ephemeris or ephemeris files?
What date range does it cover?
unavailable field rather than guessed. See Edge Cases.Does it support Vedic astrology, or only Western?
Can charts be computed without sending birth data to a server?
Can I use it with AI assistants like Claude or Cursor?
caelus-mcp exposes thirty-four chart tools over the Model Context Protocol, available hosted or as a local stdio server. See MCP Setup.Does it interpret a chart, or just compute it?
Can it chart a forecast, a fictional character, or an archetype?
Realm) and how its time and place are known. realize() routes to the ephemeris or the geometric compiler, and passes certainty into the interpretation layer so a forecast reads as provisional and an inexact birth time down-weights the Moon and angles.