Thank you for contributing to the official GetBirthChart JavaScript/TypeScript SDK.
Requirements:
Node.js >= 20
npm
Install:
npm ciRun checks:
npm run lint
npm run typecheck
npm test
npm run buildThis repository is the SDK client.
Do not implement Swiss Ephemeris or astrology calculation rules here.
Calculation behavior belongs to the backend / engine.
SDK contributions should focus on:
- HTTP client behavior
- TypeScript types
- API mapping
- errors
- developer ergonomics
- tests
- examples
- documentation
Public methods and types are versioned API.
Before adding or renaming a public method:
- explain the use case
- confirm backend support
- evaluate compatibility
- update API contract
- add tests
- update changelog
Avoid aliases and duplicate ways to perform the same operation.
No normal unit test may require the production GetBirthChart API.
Use injected/mocked fetch.
Optional integration testing must be explicitly enabled.
Changes touching unknown birth-time behavior require dedicated tests.
Never:
- assume noon
- invent an Ascendant
- invent houses
- flatten ambiguous Moon results into false precision
Prefer:
- explicit types
- small functions
- clear naming
- minimal dependencies
- object parameters for public functions
Avoid:
anyin public interfaces- hidden global state
- implicit logging
- unnecessary abstractions
A PR should include:
- concise problem statement
- implementation summary
- tests
- docs for public changes
- changelog entry when relevant