SO Storyboard OS
Open source · v1.1.0

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