TUI D&D 5e character sheet and builder — light, offline-first, Limoni-powered
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
muse-lantern ab056862d2 grimoire: initial scaffold — compendium loader, hook engine, character model
- internal/compendium: sheet-pack v3 loader, _srdRef handling, per-source
  filtering (D&D Beyond-style: core/expanded x 2014/2024, homebrew, legacy)
- internal/hooks: generic hook interpreter with type registry (24 types:
  proficiencies, resources, actions, AC, spells, modifiers...)
- internal/character: character model — on-disk choices + derived sheet,
  D&D Beyond-style settings (advancement, HP type, encumbrance, prereqs)
- cmd/grimoire: stub binary

Data: thedungeondeveloper.com sheet pack (105 sources, 104 master hooks).
All offline-first; characters are local JSON, sheets are derived.
2026-10-12 21:54:32 -07:00
cmd/grimoire grimoire: initial scaffold — compendium loader, hook engine, character model 2026-10-12 21:54:32 -07:00
internal grimoire: initial scaffold — compendium loader, hook engine, character model 2026-10-12 21:54:32 -07:00
go.mod grimoire: initial scaffold — compendium loader, hook engine, character model 2026-10-12 21:54:32 -07:00
README.md grimoire: initial scaffold — compendium loader, hook engine, character model 2026-10-12 21:54:32 -07:00

grimoire

A light, offline-first TUI D&D 5e character sheet and builder. An alternative to D&D Beyond / Roll20 for machines that can't run a browser tab — "potatoes".

Built on Limoni.

Status

Early scaffolding. The compendium loader, hook engine, and character model are being built first; the TUI comes after the data layer is solid.

Layout

cmd/grimoire/          the binary
internal/
  compendium/          pack loading, _srdRef resolution, source filtering
  hooks/               automation engine (generic hook interpreter + registry)
  character/           character model: base choices + derived sheet
  dice/                /-command dice roller (XdY+Z, advantage, etc.)
  tui/                 Limoni screens (sheet, builder wizard, spellbook, ...)
data/                  downloaded packs (gitignored; see data/README.md)

Data

Character content comes from thedungeondeveloper.com compendium packs (5etools-format source pack + purpose-built character sheet pack with _masterHooks automation). Packs are downloaded once via grimoire sync; everything runs offline after that. Homebrew flows through the same markdown+frontmatter → JSON pipeline.

Characters are stored as local JSON (one file each) referencing compendium entries by name|source. The sheet is derived: base choices + active hooks → computed AC, HP, modifiers, resources.

License

TBD