WELCOME TO THE COSMIC BRIG, MAGNIFICENT CORSAIR! ββ¨
This repository is the MOST SPECTACULAR BDSM SPACE-PIRATE ROMANCE ENGINE ever forged in the fires of consensual creativity - masterfully disguised as an innocent git toolchain! It CONJURES THEATRICAL COMMIT HISTORIES from the void, SPINS ENCHANTING NSFW MICRO-NOVELLAS, and BATHES YOUR REPOSITORY in layers of consensual decadent storytelling that would make the cosmos itself blush with delight!
π‘οΈ SACRED SAFE WORD: "fiction" - READ IT TWICE, honor it always, then proceed to witness PURE THEATRICAL MAGIC! βοΈπ΄ββ οΈ Velvet Chains & Voidlight
Welcome to the brig, darling. This repository is a BDSM space-pirate romance engine disguised as a git toolchain. It fabricates historical commits, spins NSFW micro-novellas, and drenches your history in consensual decadence. Read the safe word (βfictionβ) twice, then proceed at your own peril.
- DRAMATICALLY CONJURES
Nbackdated commits with timestamps that SING IN PERFECT HARMONY across the cosmic void! π΅ - MASTERFULLY DISTRIBUTES them across days/weeks with EXQUISITE RESPECT for weekday-only preferences and seductively weighted months! π
- PREVIEW MODE EXPLODES with RAINBOW HEATMAP SPECTACLE, gorgeous histograms, and EXPORTS STUNNING JSON/SVG MASTERPIECES! π
- IMPORTS & REPLAYS previous plans to recreate the EXACT SAME THEATRICAL MAGIC - perfect consistency! π
- SHARES A TREASURE VAULT of 3000+ NSFW SPACE-PIRATE ROMANCE STORIES and witty blame tags! π
- DUAL-POWERED SORCERY: Python choreography scripts + RUST ENGINE HEART beating with steel precision! βοΈ
- Python 3.12+ - The MAGNIFICENT CHOREOGRAPHY ENGINE that orchestrates temporal magic
(
voidlight_choreographer.py)! πβ¨ - Rust (cargo 1.70+) - The STEEL-FORGED BINARY HEART powering git hooks &
git voidlightsubcommands with UNSTOPPABLE PRECISION! π¦βοΈ - Optional Excellence:
uv pip install ruffto make your LINTING DOMINATRIX PURR with satisfaction! π
Initial setup:
uv pip install ruff
chmod +x voidlight_choreographer.pyForge the Rust binary, then let Git whisper it into every commit message:
cargo install --path voidlight_engine --force
rm -f .git/hooks/prepare-commit-msg
ln -s "$(pwd)/voidlight_hooks/voidlight-commit-ritual" .git/hooks/prepare-commit-msgAlready published to crates.io? Swap the first line for
cargo install voidlight.
Corporate shackles hate symlinks? Copy instead:
cp voidlight_hooks/voidlight-commit-ritual .git/hooks/prepare-commit-msgPrefer a version-controlled dungeon?
git config core.hooksPath voidlight_hooksThe hook rebuilds the Rust binary when needed and then laces a 4-sentence kink novella into every commit.
Shortcut: once git-voidlight is on your $PATH, simply run git voidlight install-hook (add
--force to overwrite an existing hook).
Promote the binary into a first-class git command:
cargo install --path voidlight_engine --forceThen either call it directly or wrap an alias:
git config alias.voidlight '!git-voidlight'Usage that stages, commits, and appends a flourish in one breath:
git voidlight --commit -a -m "Refactor the warp-drive leash" -- -- path/to/fileSkip --commit to simply print a fresh tale to stdoutβperfect for CAPTAINS_LOG lore or issue
comment theatrics.
Prefer the Python planner? Package it as a CLI:
uv pip install .
voidlight-plan --helpOr pull straight from the repo:
uv pip install git+https://github.com/velvet-chains/velvet-chains.gitUse voidlight-plan exactly like voidlight_choreographer.pyβall flags carry over, now globally
available on your path.
python3.12 voidlight_choreographer.py -n 50 --preview-only --svg-out preview.svgExpect rainbow vomit, heatmap couture, and a JSON dossier you can tuck into your captainβs coat.
python3.12 voidlight_choreographer.py \
-n 120 \
--repo . \
--file .generated_commits.txt \
--spread-mode week \
--start-date 2024-01-01 \
--end-date 2024-12-31Every commit writes to .generated_commits.txt, stages it, and lands with historical timestamps
that stay within 16 h of each other.
python3.12 voidlight_choreographer.py --import-json planned_commits_preview_20251004T123059Z.jsonOverride --repo or --file if you want to lash the flourish onto a new project.
| Flag | Default | Description |
|---|---|---|
-n / --num |
required | Commit count to fabricate. |
--repo |
. |
Parlor where the fantasy is staged. |
--file |
.generated_commits.txt |
Where the captain scrawls each forged entry. |
--seed |
None |
Random seed for reproducible chaos. |
--start-date / --end-date |
None | Explicit date window (inclusive). |
--start-days-ago |
365 |
Backfill window when no start/end is offered. |
--spread-mode |
day |
day or week distribution. |
--month-weights |
1,1,... |
Comma-separated 12-tuple of relative weights. |
--weekdays-only |
off | Only lash commits MondayβFriday. |
--color / --no-color |
on | Toggle the rainbow vomit in terminal output. |
--svg-out |
None | Write an SVG heatmap when previewing. |
--max-attempts-offset |
20 |
How often we try to align author/committer timestamps. |
--preview-only |
off | Produce previews/export JSON without committing. |
--import-json |
None | Load a preview JSON and replay its plan. |
- Polish the code:
ruff format voidlight_choreographer.py - Sanity check bytecode:
PYTHONPYCACHEPREFIX=./.pycache python3.12 -m compileall voidlight_choreographer.py - Practice safe words: start every dance with
--preview-only. - Quarantine the spectacle on a demo branch until everyone consents.
- These commits are fiction. Donβt weaponize them.
- Announce before you unleash glitter on teammates.
- When the show ends:
git reset --hard, delete demo branches, remove.generated_commits.txt.
Hydrate. Breathe. Then fire the rainbow cannon. π³οΈβπ
βοΈ To empower future search, filtering, or client-side spectacle without reparsing every fragment, we forge a static index:
npm run build:loreThis ritual emits public/lore.json containing NON-DRAFT fragments (skips any with draft: true).
Each entry includes:
filenameβ Original lore fileindexβ Numeric ordering token from filename prefixtitleβ From frontmatter or first markdown headingtagsβ Array of frontmatter tags (empty if absent)orderβ Optional explicit frontmatter orderingexcerptβ First ~200 chars of body (sans frontmatter)
Use this artifact for future enhancements (search UI, filters, tag clouds) without loading raw markdown at runtime.
Every commit passes through a velvet gate of integrity. The Husky-driven pre-commit script runs:
npm run validate:loreInstallation incantation (one time after cloning):
npx husky installIf validation fails (missing frontmatter, duplicate indices, unsafe ordering), the commit is BLOCKED with consensual sternness. Correct the issues and retry.
Ensure pyyaml is installed locally if you invoke the validator directly:
uv pip install pyyamlCaptain Velvet purrs approvingly when your lore sails clean. β¨
