Story structure that ships. Three verticals.
A visual authoring platform where every frame is an implementation spec. Three verticals — RPG quest authoring, marketing campaign implementation, and cinematic production storyboarding — share one canvas, zero cross-domain imports.
Install
git clone mcp-tool-shop-org/storyboard-os
pnpm install && pnpm dev
Verify
pnpm verify # 649 tests · 54 pages · 3 apps
Packages
@storyboard-os/core
@storyboard-os/rpg-domain
@storyboard-os/marketing-domain
@storyboard-os/cinematic-domain
@storyboard-os/canvas
@storyboard-os/routing
A platform, not a tool
Five focused packages. Each owns one concern. Nothing leaks across the boundary.
@storyboard-os/core
Generic storyboard primitives with no domain vocabulary — frames, connections (generic over type), projects, templates, and structural validation. Domains own their connection vocabularies.
@storyboard-os/rpg-domain
The RPG authoring contract: 7 frame types, 13 spec fields, 3 production templates, canvas signals, a readiness model, and handoff generation. Pure TypeScript — no React, no Konva.
@storyboard-os/marketing-domain
The campaign-implementation contract: 9 frame types, launch readiness model, critical path analysis, approval gates, measurement loops, and campaign brief export. Answers: can this campaign ship?
@storyboard-os/cinematic-domain
The cinematic production contract: 9 frame types, camera language, VFX/audio/continuity requirements, production signals (health, burden, complexity), and production brief export. Answers: what makes this sequence hard to produce?
@storyboard-os/canvas
Konva rendering with a ViewportHandle API — zoom, pan, fit, center, drag. Accepts any StoryboardCanvasConfig. Has no knowledge of RPG, marketing, or cinematic vocabulary.
@storyboard-os/routing
URL construction helpers with zero dependencies. One factory, three route builders. Each vertical passes its own base path — the canvas and domain work without modification.
649 tests, three verticals, zero cross-domain imports
The cinematic vertical proved multi-vertical architecture for the third time: zero changes to canvas, core, or routing. Core Hardening 1A extracted generic connection types — domains own their vocabulary without casts.
Three verticals, one platform
rpg-storyboard for quest authoring. marketing-storyboard for campaign implementation. cinematic-storyboard for production storyboarding. All run locally — no backend, no accounts, no server.
Game-state signal on the board
STATE (blue), SPEC (green), PARTIAL (orange), DRAFT (gray), BLOCKED (red) — implementation readiness is visible on every frame without opening an inspector.
Full spec depth per beat
Entry conditions, exit conditions, state changes, required assets, test criteria, implementation checklist, designer notes, player text, involved characters and factions — all editable inline.
Durable projects
Create from a template, rearrange the board, edit specs, mark checklist items and test criteria complete. Position and progress persist across reload with no backend.
Topological handoff export
Beats ordered by Kahn's algorithm — upstream dependencies before downstream outcomes, cycle-safe. Download as Markdown for developers or JSON for engines.
Three production templates
Quest Flow (8 frames), Quest Branch (7 frames, 3 divergent paths), Cutscene Beat (5 frames). Every generated frame ships with full spec depth — not a blank starting point.
Progress without spec mutation
Checklist and test completion live in project.progress, never in the spec strings. The handoff regenerates from live state — edited content plus current progress, always in sync.
Launch readiness (marketing)
Critical path to launch, approval gate signals, measurement loop closure. The board shows "BLOCKED / AT RISK / READY" derived from spec completeness — not from human-assigned status.
Campaign brief handoff (marketing)
Markdown + JSON export scoped to a campaign. Same topological sort, different domain. A campaign coordinator can read what ships, what blocks it, and what measures success.
Production signals (cinematic)
Continuity risk, VFX/audio burden, camera complexity, duration rollup, and blocked shots. The board shows production health derived from spec completeness — not from human-assigned status.
Production brief handoff (cinematic)
Per-shot camera language, asset requirements, VFX/audio specs, and readiness status. An editor or animator can receive a sequence they didn't design and understand what to build.
Quick start
Clone and run
git clone https://github.com/mcp-tool-shop-org/storyboard-os
cd storyboard-os
pnpm install
pnpm dev # opens at localhost:4321 Use a package
npm install @storyboard-os/rpg-domain
// Generate a quest board
import { createStoryboardFromTemplate } from '@storyboard-os/rpg-domain';
const board = createStoryboardFromTemplate('quest_flow'); Verify before ship
# All 649 tests + full build in one command
pnpm verify # 6 packages · 3 apps · 54 pages