Magick.ly is open source. Its code is public, and the parts most worth reusing elsewhere, the data and the components that draw from it, are under freer licences than the app, so that they can travel. Both are on npm.

The packages

Two packages hold the parts of the site most worth reusing: the data, and the components that draw from it.

magick-data

Magickal correspondences and reference data: the sephirot, the planets, the zodiac, the Hebrew and Enochian letters, the Golden Dawn grades, the geomantic figures and more, as typed tables of plain rows, with a graph of how they link and the code that joins them. Its code is MIT and its data CC BY 4.0. It is ES modules only, has no runtime dependencies, and carries its own TypeScript types. From 0.1.0, its releases are published by CI with npm provenance. The site reads it as anyone else would.

The data pages list every table, with its rows and what each of its fields means.

npm i magick-data
import data from "magick-data";

const tiferet = data.sephirah.tiferet;
console.log(tiferet.name.roman, tiferet.planet?.symbol); // Tiferet ☉

On npm · Source on GitHub

magick-components

React components that draw from that data: the Tree of Life, the Enochian tablets, the Rose Cross sigils, the Seven-Branched Candlestick, the Table of Shewbread, the temple halls and more. Their code is MIT, and so are the drawings they make.

The components' pages draw each one live, with its props to try and its reference.

npm i magick-components
import TreeOfLife from "magick-components/kabbalah/TreeOfLife";

export default function Page() {
  return <TreeOfLife field="name.he" colorScale="queen" width={300} />;
}

On npm · Source on GitHub

Licences

Copyright (c) 2020–2026 Gadi Cohen.