| Name | Description | Type |
|---|---|---|
| 01-Project-Structure | Complete directory structure and file organization for Storyteller Suite plugin | reference |
| 02-Core-Plugin-Architecture | Main plugin class, TypeScript interfaces, settings system, and data persistence patterns | core |
| 03-Entity-Management | Implementation details for all entity types including Character, Location, Event, Scene, Chapter, Item, Group, and Reference | core |
| 04-Modals-System | Modal dialog patterns, ResponsiveModal base class, entity modals, suggest modals, and UI component examples | ui |
| 05-Timeline-System | Timeline visualization system including event timeline, Gantt chart view, dependencies, filtering, and date parsing | feature |
| 06-Map-System | Interactive map system using Leaflet.js for image-based and real-world maps with entity markers and hierarchy | feature |
| 07-Template-System | Template system for creating reusable entity configurations, full world templates, and variable substitution | feature |
| 08-Import-Export | Document import system with parsers for multiple formats and manuscript compilation/export with customizable workflows | feature |
| 09-Internationalization | Multi-language support system with JSON locale files, t() function, and translation guidelines | reference |
| 10-Build-And-Testing | Development workflow including npm scripts, esbuild configuration, Vitest testing, ESLint, and GitHub Actions release workflow | build |
| Storytellersuite-Project-Overview | High-level overview of the Storyteller Suite plugin as implemented in the current GitHub codebase | overview |
Storyteller Suite - Project Overview
Verified against Maws7140/obsidian-storyteller-suite on 2026-03-30.
Latest version in manifest.json and package.json: 1.7.4.
Latest repo commit observed: 2026-03-29 (f863aa7), which is maintenance-only contributor normalization.
Most recent feature release I could verify from the repo history: 1.7.4 on 2026-03-15.
What Is This?
Storyteller Suite is an Obsidian plugin for story planning, worldbuilding, timeline management, manuscript workflows, maps, and campaign/session play. Its core data model stays vault-native by storing entities as Markdown notes with YAML frontmatter instead of opaque database records.
Recent Update Snapshot
- 2026-03-15 - v1.7.4: startup-time patch shipped, based on the release/version bump commits.
- 2026-03-22 and 2026-03-29: follow-up maintenance commits normalized contributor identity/attribution files rather than adding new end-user features.
- Current 1.7.x codebase: includes campaign mode, redesigned timeline/Gantt tooling, compile workflows, richer note integration, and in-app onboarding/update guides.
Key Information
| Field | Value |
|---|---|
| Plugin ID | storyteller-suite |
| Current Version | 1.7.4 |
| Min Obsidian Version | 1.0.12 |
| Desktop Only | false |
| Author | Maws |
| License | MIT |
| Node Engine | >=18.18.0 <23 |
| Repository | Maws7140/obsidian-storyteller-suite |
Current Feature Areas
Story and Worldbuilding Entities
- Core entities: characters, locations, events, items, references, chapters, scenes, and books.
- Expanded worldbuilding entities: groups, compendium entries, cultures, economies, and magic systems.
- Story organization: multi-story mode, One Story Mode, and configurable/custom folders.
Interactive Views
- Dashboard + analytics: main management view plus analytics tooling.
- Timeline + Gantt: grouped lanes, dependencies, progress overlays, forks, eras, conflict detection, exports, and watched-note support.
- Maps: dedicated
MapViewwith image maps, real-world tile maps, hierarchy breadcrumbs, and multi-entity placement. - Graphs: relationship network graph plus a dedicated scene graph view.
- Writing tools: dedicated writing panel/view support.
Campaign / Session Play
- Campaign view: session select + play mode in
CampaignView.ts. - DM tools: party HP and conditions, active actor selection, inventory syncing, lore surfacing, faction/group standings, encounter widgets, and branch-aware scene progression.
- Persistence: session autosave and session-log writing are built into the campaign flow.
Compile, Templates, and Import
- Compile system: reusable workflows, compile steps, scene ordering, and word-count tracking in
src/compile/. - Template system: entity-to-template and note-to-template conversion, variable substitution, validation, migration, and note-backed storage.
- Import parsers: DOCX, EPUB, Fountain, HTML, JSON, Markdown, ODT, PDF, plain text, and RTF.
Data / Note Integration
- Markdown-first storage: entities remain readable/editable outside the plugin UI.
- Entity syncing:
EntitySyncServicekeeps cross-entity relationships in sync. - Better note compatibility: groups are stored as real notes, and relationship properties favor note-linkable names where possible.
Architecture Highlights
- Plugin entry:
src/main.tsis the main plugin entry point and view/command registration hub. - Settings:
src/StorytellerSuiteSettingTab.tsmanages the large settings surface. - Views:
src/views/currently containsDashboardView,AnalyticsDashboardView,CampaignView,TimelineView,MapView,NetworkGraphView,SceneGraphView, andWritingPanelView. - Compile subsystem:
src/compile/containsCompileEngine,SceneOrderManager,WordCountTracker, and workflow steps. - Services:
src/services/EntitySyncService.tsandsrc/services/LocationService.tshandle shared data logic. - Templates:
src/templates/contains storage, conversion, validation, and application logic. - YAML handling:
src/yaml/EntitySections.tscentralizes section/frontmatter rules. - Tutorial + onboarding:
src/tutorial/supports built-in guide/update content. - Localization:
src/i18n/locales/currently shipsen,de,es,fr, andzh.
Data Model
Storyteller Suite stores story data as Markdown files with YAML frontmatter.
---
name: Character Name
description: Brief description
tags:
- protagonist
- warrior
customFields:
weapon: Sword
allegiance: Kingdom
---
## Description
Full description goes here...
## Backstory
Character history...
By default, multi-story mode uses folders like:
StorytellerSuite/Stories/[StoryName]/Characters/StorytellerSuite/Stories/[StoryName]/Locations/StorytellerSuite/Stories/[StoryName]/Events/StorytellerSuite/Stories/[StoryName]/Items/StorytellerSuite/Stories/[StoryName]/Groups/StorytellerSuite/Stories/[StoryName]/References/StorytellerSuite/Stories/[StoryName]/Chapters/StorytellerSuite/Stories/[StoryName]/Scenes/StorytellerSuite/Stories/[StoryName]/Books/StorytellerSuite/Stories/[StoryName]/Maps/StorytellerSuite/Stories/[StoryName]/Compendium/StorytellerSuite/Stories/[StoryName]/Cultures/StorytellerSuite/Stories/[StoryName]/Economies/StorytellerSuite/Stories/[StoryName]/MagicSystems/StorytellerSuite/Stories/[StoryName]/Sessions/
Technology Stack
| Technology | Purpose |
|---|---|
| TypeScript | Primary language |
| Obsidian API | Plugin platform |
| esbuild | Bundling/build pipeline |
| Vitest | Unit/integration testing |
| Playwright | AI/browser-driven test flows |
| WebdriverIO | E2E test automation |
| Leaflet | Map rendering |
| Cytoscape.js | Relationship/network graph rendering |
| vis-timeline | Timeline and Gantt visualization |
| chrono-node | Natural-language date parsing |
| js-yaml | Frontmatter parsing/serialization |
| luxon | Date/time handling |
Development Workflow
# Install dependencies
npm install
# Development build
npm run dev
# Production build
npm run build
# Unit/integration tests
npm run test
# E2E tests
npm run test:e2e
# Playwright AI-focused tests
npm run test:ai
GitHub Actions currently verifies type-check + build in CI, while the repo also includes local test commands for broader coverage.
Key Directories
src/
|- main.ts
|- StorytellerSuiteSettingTab.ts
|- commands/
|- compile/
|- components/
|- i18n/
|- import/
|- leaflet/
|- modals/
|- services/
|- templates/
|- tutorial/
|- views/
|- yaml/
`- utils/
Resources & Links
- [[01-Project-Structure]] - Detailed file organization
- [[02-Core-Plugin-Architecture]] - Main plugin class and settings
- 03-Entity-Management - Entity types and operations
- 04-Modals-System - Modal dialog patterns
- 05-Timeline-System - Timeline and Gantt features
- 06-Map-System - Leaflet map integration
- 07-Template-System - Template creation and usage
- 08-Import-Export - Document parsing and compilation
- 09-Internationalization - Translation system
- 10-Build-And-Testing - Development workflow
- GitHub Repository
- Changelog
- Release Notes