Skip to main content

Contribute

The main goal of Kidscipher is to provide a lightweight, dependency-minimal library with high customization for ciphers.

All ciphers are text-based (even graphical ones). The graphical part is powered by the Kidscipher font, which is automatically generated using:

scripts/generate-font

This script maps symbols to Unicode, so every graphical cipher is just normal text rendered with the custom font.


Setup

Install dependencies:

npm install

Prebuild fonts:

npm run prebuild-fonts

Build the package:

npm run build

Local Testing in Another Project

To try the package in a different project without publishing to npm, link the built dist folder directly:

{
"dependencies": {
"kidscipher": "file:../dist"
}
}

Note: After adding the dependency, run npm install in the new project. This creates a symlink to the ../dist folder, so any updates you rebuild in Kidscipher will immediately be available without reinstalling, as long as the folder structure stays the same.