Codex Narrative Engine
pendingby Codex IDE
Narrative intelligence for TTRPG world-building — entity indexing, consistency linting, and dead-link detection for your campaign vault.
Codex Narrative Engine
An Obsidian plugin that adds narrative intelligence to your TTRPG campaign vault. Codex indexes your world-building notes, surfaces broken links, detects logical contradictions in your story, and brings AI assistance directly into your creative workflow — so you can focus on running the game instead of auditing your lore.
Quick Start
- Install the plugin (manually for now; community listing coming soon).
- Add frontmatter to your notes — at minimum
type: npc,type: location, etc. — so Codex can index them. - Open the warnings panel (ribbon icon or
Codex: Open narrative warnings) to see dead links and state conflicts. - Set up an AI provider in Settings > Codex Narrative Engine > AI provider to unlock Lore Chat and AI-powered generation.
Features
World Management
- Entity indexing — reads frontmatter to build a live index of every entity in your vault.
- Smart autocomplete — type
[[to search your entity index; filter by type with[[npc:,[[location:, etc. - Hover previews — hover any
[[wiki-link]]for a quick summary from the entity's frontmatter and opening text. - Dead-link detection — unresolved links are underlined in the editor, flagged in the gutter, and listed in the Narrative Warnings panel.
- State conflict warnings — catches contradictions like a dead NPC listed as present in a session, or an item held by a dead character.
- Create & rename entities — create new entity files from templates, or rename an entity and have every reference updated automatically.
AI-Powered Tools (Bring Your Own Key)
All AI features use your own API key — no subscription required. Supports Google Gemini, OpenAI, Anthropic (Claude), Ollama, LM Studio, and any OpenAI-compatible endpoint.
- Lore Chat — a sidebar conversation panel grounded in your campaign lore, with edit / regenerate / save-all-as-notes.
- Enhance Note — expands a stub entity into a fully fleshed-out note while preserving existing content.
- Generate Entity — creates a new NPC, location, item, or other entity from a short description, complete with frontmatter and optional stat block.
- Describe Scene — generates atmospheric read-aloud text for a location or session scene.
- Extract Entities — scans a session log or narrative note and creates individual entity files for each named NPC, location, or item.
- Revise Selection — select any text, give a natural-language instruction, and review the AI's changes in a diff before applying.
Documentation
| Guide | Description |
|---|---|
| Getting Started | Installation, vault setup, entity frontmatter, templates |
| Features | Detailed walkthrough of every world-management feature |
| AI Guide | Provider setup, Lore Chat, each AI command explained |
| Settings Reference | Every setting with its type, default, and description |
| Commands Reference | Every command, hotkey, context menu entry, and ribbon icon |
Installation
From Obsidian Community Plugins (coming soon)
- Open Settings > Community Plugins
- Search for Codex Narrative Engine
- Click Install, then Enable
Manual / Sideload
- Download
main.js,manifest.json, andstyles.cssfrom the latest release. - Create a folder in your vault:
.obsidian/plugins/codex-narrative-engine/ - Copy the downloaded files into that folder.
- Open Settings > Community Plugins, refresh the list, and enable Codex Narrative Engine.
Building from Source
Requires Node.js 18+.
git clone https://github.com/jdicorpo/codex-narrative-engine.git
cd codex-narrative-engine
npm install
npm run build
The built plugin files will be at packages/codex-obsidian/main.js and packages/codex-obsidian/manifest.json.
To develop with hot-reload:
npm run dev
Running Tests
npm test
Runs the codex-core unit test suite (entity indexing, link resolution, diagnostic rules).
Project Structure
packages/
codex-core/ Editor-agnostic narrative engine (indexing, diagnostics, link resolution)
codex-obsidian/ Obsidian plugin (UI, commands, vault integration)
codex-core has no dependency on Obsidian and can be reused in other editors.
License
For plugin developers
Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.