Skip to content
kurone-kitoPublic

About

🦁 CLI app and NPM library that calculates the personality from the birthday; since 2020.2

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

7 stars

Watchers

1 watching

Forks

Latest commit

 

History

778 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🦁 Dantalion: Birthday fortune library

npm version CI License: MIT

“Dantalion” is the seventy-first demon in the demonological grimoire, the Lesser Key of Solomon. He teaches all kinds of academic knowledge, but he can also read and manipulate others’ hearts.

If you can predict the other person’s character, you can increase the possibility of controlling the other person’s will. This library calculates the personality details from a specified birthday using the method of Four Pillars of Destiny (Ba-Zi).

The library can compute personalities for any birthday between February 1, 1873 and December 31, 2050.

Notes

  • The core library has zero runtime dependencies and is OS-independent.
  • The library does not consider time zones. If you are not satisfied with the calculated personality, moving the date back and forth by one day may help.

Requirements

  • Node.js ^22 || >=24 (the published packages are ESM-only source; require still resolves via Node's require-of-ESM support, unflagged from 22.12 — earlier 22.x needs --experimental-require-module)
  • pnpm 10+ for contributor work (consumers can install via npm, yarn, or any package manager)

Usage

As a CLI

pnpm add -g @kurone-kito/dantalion-cli
# or: npm i -g @kurone-kito/dantalion-cli

dantalion personality 1993-10-09
dantalion detail 555

# Raw JSON output
dantalion personality 1993-10-09 --raw

As a library (ESM)

pnpm add @kurone-kito/dantalion-core
import { getDetail, getPersonality } from '@kurone-kito/dantalion-core';

console.log(getPersonality('1993-10-09'));
// {
//   cycle: 10,
//   inner: '555',
//   lifeBase: 'application',
//   outer: '789',
//   potentials: ['Io', 'Ii'],
//   workStyle: '125'
// }

console.log(getDetail('555'));

Migration from v0.19.x

  • ESM-only source; no separate CommonJS build is shipped. import works directly, and require also resolves on Node >=22.12 (unflagged; earlier 22.x needs --experimental-require-module) via its require-of-ESM support.
  • Node.js floor raised from >=12.1 (originally) to ^22 || >=24.
  • The Personality.potentials field is plural (a 2-tuple). The v0.19.x README example showed potential (singular), which was a documentation bug — the runtime field has always been potentials.

See CHANGELOG.md for the complete migration notes.

Web demo

Try it live: https://kurone-kito.github.io/dantalion/.

The browser-facing playground lives in its own repository, kurone-kito/dantalion-web-demo, which consumes the modernized v1.0.0-rc.x line of the published packages and redeploys to the URL above on every push to its main.

Contributing

This repository runs an Issue-Driven Development loop imported from kurone-kito/idd-skill. See AGENTS.md, CLAUDE.md, or .github/copilot-instructions.md for AI-assisted contribution guidance.

See the wiki for more details.

License

MIT

About

🦁 CLI app and NPM library that calculates the personality from the birthday; since 2020.2

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

7 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages