Groundwork for many themes, plus the first new one. A pack validator enforces every structural rule this project learned the hard way: situations that render as broken English, decisions that gate progress with no alternative, motifs too thin to fill six areas without repeating, rosters that do not say what harms them. Fifteen packs cannot be hand-checked; this checks them in a second. Themes are now discovered from content/index.json rather than hardcoded, so the CLI takes --theme and --themes, the Foundry dropdown fills itself, and packs load on demand instead of all at once. Castle: four appetites — to be feared, never to give ground, to be obeyed at once, the name to go on — over barrow geometry, since a keep is rooms and corridors. 168 kernels from its own claimants and accommodations. Fixed a bug the second theme exposed: the question the bottom problem asks was hardcoded against barrow's appetite ids, so every other theme fell through to a generic "Well?". It lives on the appetite in the pack now, and the validator requires it. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
DELVE
An authoring system and Foundry VTT module for the VANITY tabletop RPG. Press one button and it generates a whole dungeon — fiction, areas, maps, encounters, hoards and a journal you can read cold — then drops it into your world.
Install (Foundry)
Add-on Modules → Install Module → Manifest URL:
https://github.com/slaguru666/vanity-delve/releases/latest/download/module.json
Requires the VANITY system, 0.10.5 or later.
- ⛏ raise a dungeon
- 🗑 remove one you don't want — it deletes exactly what it made and nothing else
- ⏩ stage a delve you finished at the desk
Also a CLI
core/ is pure JavaScript with no Foundry dependencies, so a delve can be generated, rerolled and
finished outside the VTT:
node core/cli.mjs --new --seed=my-delve --file=my.json
node core/cli.mjs --file=my.json --worksheet # everything, with prompts for what only you can write
node core/cli.mjs --file=my.json --reroll=3:situation
node core/cli.mjs --file=my.json --play # the tight, table-facing sheet
What it does and does not do
It generates the fiction, the order and the pressure. It does not write your read-aloud text or your climax, and it says so — those are prompts, not output. It gets you to a strong first draft in a minute instead of an evening, then gets out of the way.
DESIGN.md has the whole design history, including four rounds of adversarial review
and two paper playtests that failed before anything worked.
Layout
core/ |
the generator — pure JS, 39 tests |
foundry-module/ |
the Foundry module, with core/ vendored |
paper/ |
a hand-written delve and both playtest logs |
spike/ |
the harness that measured VANITY's Forge outside Foundry |
samples/ |
generated output |
Licence
MIT — see LICENSE.