The Entity Database
Fourteen typed categories, each a real database: sortable tables, curated columns, inline editing, custom fields, and views that fit each type.
Grimoire stores your world as typed records, not documents. An NPC knows it has motivations and a faction; a quest knows it has objectives and stakes. That structure is why you can sort every NPC by faction, filter quests by status, and get graphs without drawing them. This page covers how the database behaves, then what each of the fourteen categories is for.
How the database works
Open any category from the sidebar and you get its records in the view that fits the type best. Most categories offer several:
- Gallery: portrait cards, the default for NPCs and locations
- Table: a sortable, filterable spreadsheet view
- Kanban: quests grouped by status, drag to move
- Relationship web: the category's records and their connections on a canvas
- Timeline and tree: for dated and nested types
- Document: a codex-style reader with previous and next navigation
The table view
The table is not a dump of every field. Each category opens with a curated set of columns (NPCs show 8 of their 23 fields by default) and you tailor it from there:
- Columns picker: show, hide, and reorder any field, including your custom ones. Your layout is remembered per category. Reset Layout puts it back.
- Inline editing: click a cell to change text, status, or a relation without opening the record.
- Filters and sortable headers for slicing by any field.
- Bulk select: check multiple rows to act on them together.
Each row also carries a visibility chip (some views still label the GM tier "dm secret"; these docs call it GM Secret, and it is the same tier everywhere).
Custom fields
If the built-in fields are not enough, add your own under Settings → General → Custom Fields: text, long text, number, yes/no, date, or select. Custom fields appear in the edit form, the table (via the Columns picker), and search. Custom fields are a paid feature.
Your genre renames things
Categories take their names from your campaign's genre. A fantasy campaign has a Pantheon; a post-apocalyptic one might call the same category Old Powers. Setting dimensions can also switch whole categories off: no vehicles in your world means no Vehicles category in your sidebar. This page uses the default fantasy names.
The fourteen categories
World
| Category | What it holds | Feeds the graphs with |
|---|---|---|
| Locations | Places, from continents to taverns | Parent Location builds the Geography tree |
| Factions | Groups with goals worth fighting over | Allies, Rivals, and member NPCs draw the Political Web |
| Pantheon | Gods, spirits, cosmic forces | Domains and relationships among the divine |
| Lore | History, legends, prophecies | Era and date place entries on the Timeline |
| World Rules | How your world works, mundane and magical | Referenced by AI context as canon |
People
| Category | What it holds | Feeds the graphs with |
|---|---|---|
| NPCs | Everyone the party meets | Faction membership and relationships edge the Political Web |
| Player Characters | The party | Appears in graphs and session records |
| Creatures | Monsters and beasts | Habitat ties to locations |
Story
| Category | What it holds | Feeds the graphs with |
|---|---|---|
| Quests | Adventures and arcs, with status and stakes | Dates place them on the Timeline |
| Sessions | What actually happened at the table | Reveals entities to players, populates the Timeline and dashboard |
| Session Prep | Your plan for next time | Nothing player-facing, ever: prep is always GM-only |
Things and rules
| Category | What it holds | Feeds the graphs with |
|---|---|---|
| Items | Loot, artifacts, equipment | Ownership ties to characters |
| Vehicles | Ships, mounts, rigs: half item, half location | Ownership and capacity |
| Mechanics | House rules and custom abilities | Cross-references to related rules |
Working habits that pay off
- Names and one sentence first. A record with a name and a want is usable at the table; you can deepen it later.
- Connect as you create. Set the faction, the parent location, the owner. Every connection you skip is a graph edge that does not exist.
- Let visibility do the secrecy. Write the secret in the record and mark it GM Secret, instead of keeping a second set of notes.
- Update after each session, not before. The session log is the natural moment to touch records that changed.
- Do not over-prepare. Create enough to run the next session. The database rewards accumulation, not upfront completeness.