nmr

crystal script numerology calculator

nmr

A little numerology calculator. Give it a number (or any string containing digits) and it will:

  1. Extract the digits, ignoring anything that isn't 0-9 (commas, spaces, dashes, letters, etc.).
  2. Sum the digits.
  3. Reduce that sum step-by-step down to a single-digit base root (0-9) — but stop early on a master number (11, 22, 33), which numerology never reduces.
  4. Report any recognized special / angel numbers (111, 222, … 999, 666, 7, 13, 44, and more) that show up as the sum, the root, or any intermediate step of the reduction.

Installation

Requires Crystal (>= 1.16.3). Build the nmr binary with:

shards build

This produces the executable at bin/nmr (the nmr target defined in shard.yml).

Usage

./bin/nmr 1232123
Input:      1232123
Digits:     1 + 2 + 3 + 2 + 1 + 2 + 3 = 14
Reduction:  14 -> 5
Base root:  5

Master numbers are preserved instead of being reduced:

./bin/nmr 29
Input:      29
Digits:     2 + 9 = 11
Base root:  11  (master number — not reduced further)
Special:    11 — master number — the intuitive

Non-digit characters are ignored, and multiple arguments are combined (nmr 12 34 behaves like nmr 1234):

./bin/nmr abc-000
Input:      abc-000
Digits:     0 + 0 + 0 = 0
Base root:  0
Special:    0 — the void / infinite potential

Run without building via crystal run src/nmr.cr -- 1232123.

Development

  • Build: shards build (or crystal build src/nmr.cr -o bin/nmr)
  • Run directly: crystal run src/nmr.cr -- <number>
  • The special/angel-number labels live in the SPECIAL_NUMBERS map in src/nmr.cr — add or edit entries there.

Contributing

  1. Fork it (https://github.com/your-github-user/nmr/fork)
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request

Contributors

Repository

nmr

Owner
Statistic
  • 0
  • 0
  • 0
  • 0
  • 0
  • about 3 hours ago
  • August 5, 2026
License

MIT License

Links
Synced at

Wed, 05 Aug 2026 00:59:02 GMT

Languages