# ๐ŸŒธ Keyfleur _Keyfleur_ is a poetic API key generator โ€” blending structure and beauty into every token. Whether you want a delicate **haiku**, a **steampunk sigil**, or a **mythic mantra**, Keyfleur creates keys that are elegant, readable, and never boring. --- ## ๐Ÿ”ง Installation ### From npm (once published) ```bash npm install -g keyfleur-ts ``` ### From Git Repository (for development or pre-publishing) ```bash npm install -g # Example: npm install -g https://github.com/Xopper/keyfleur.git # (Replace with the actual URL if different) ``` After installation, you can run `keyfleur-ts --help` to verify. --- ## ๐Ÿš€ CLI Usage ```bash keyfleur-ts --theme=forest --mode=haiku --count=3 ``` Or using aliases: ```bash keyfleur-ts -t forest -m haiku -c 3 ``` ### Options | Option | Alias | Description | | --------- | ----- | ------------------------------------------- | | `--theme` | `-t` | The semantic dictionary to draw words from. | | | | *(haiku, forest, mythic, sunny, etc.)* | | `--mode` | `-m` | The structural format of the key. | | | | *(haiku, sigil, quartz, mantra, etc.)* | | `--count` | `-c` | Number of keys to generate. Default is `1`. | --- ## โœจ Modes | Mode | Description | | --------- | -------------------------------------------------------------- | | `haiku` | A 5-7-5 syllable poetic identifier. | | `lace` | Symmetric structure with mirrored syllables. | | `mirrora` | Reversed syllable pairs (e.g., `im-mi`). | | `rune` | A haiku fused with a time-based symbolic rune. | | `sonnet` | Two-part name with soft romantic cadence. | | `sigil` | Word-number-word combo, evocative of arcane codes. | | `seed` | Short base+hex identifier, suitable for seed values. | | `mantra` | Repetitive and affirming (e.g., `Glow-Glow-Sky`). | | `quartz` | Crystal-inspired symmetrical compound (e.g., `Opal22.22lApO`). | --- ## ๐ŸŒฟ Themes Themes determine the pool of vocabulary used: * `haiku` โ€“ melodic invented roots * `nocturnal` โ€“ night, shadow, echo * `sunny` โ€“ light, warmth, radiance * `floreal` โ€“ flowers, petals, blooming * `forest` โ€“ leaves, moss, trees * `desert` โ€“ dust, sand, mirage * `celestial` โ€“ stars, moons, galaxies * `crystalline` โ€“ gems, quartz, clarity * `oceanic` โ€“ tides, coral, depths * `mythic` โ€“ runes, phoenixes, arcane * `library` โ€“ ink, scrolls, tomes * `decay` โ€“ rust, ash, erosion * `steampunk` โ€“ cogs, brass, valves --- ## ๐Ÿงช Example ```bash keyfleur-ts --theme=celestial --mode=haiku ``` Might output: ``` Nova-DriftingOrbit-Moonlight # (Output will vary due to randomization and potential syllable count differences from Python version) ``` --- ## ๐Ÿง  Use cases * Generate poetic API keys or user-facing identifiers * Use in games, lore systems, or design prototypes * Inject elegance into otherwise boring IDs --- ## ๐Ÿ› ๏ธ Development / Building from Source ### Prerequisites * Node.js (v18 or higher recommended) * npm (usually comes with Node.js) ### Setup 1. Clone the repository: ```bash git clone # Example: git clone https://github.com/Xopper/keyfleur.git cd keyfleur # (Or the directory name if different) ``` 2. Install dependencies: ```bash npm install ``` ### Building To compile the TypeScript code to JavaScript (output to `dist` directory): ```bash npm run build ``` ### Running Tests To run the unit and integration tests: ```bash npm run test ``` --- ## ๐Ÿ“š Library Usage You can use `keyfleur-ts` as a library in your TypeScript or JavaScript projects. ```typescript // Assuming you've installed it: npm install keyfleur-ts // Or for local development, you might need to adjust the import path // e.g., import { poetic_key, THEMES, MODES } from './dist'; // after running npm run build import { poetic_key, THEMES, MODES } from 'keyfleur-ts'; const key = poetic_key('mythic', 'rune'); console.log(key); // You can also access the available themes and modes: console.log('Available Themes:', Object.keys(THEMES)); console.log('Available Modes:', Object.keys(MODES)); // Example of generating a key with default parameters const defaultKey = poetic_key(); // Uses 'haiku' mode and 'haiku' theme console.log('Default Key:', defaultKey); // Example of mirrora mode (which doesn't require a theme) const mirrorKey = poetic_key('mirrora'); console.log('Mirrora Key:', mirrorKey); ``` --- Made without a goal