PromptBoard — readme
Standalone canvas planning tool.
PromptBoard
A Figma-like visual process canvas specialized for prompt engineering workflows. Create, annotate, and export process diagrams as structured JSON for AI interpretation.
What it does
- Canvas-based diagramming — drag, zoom, pan, marquee select
- Typed connectors — flows_to, triggers, depends_on, part_of, blocks (orthogonal routing, draggable waypoints)
- Sections — Figma-style group containers with spec fields (description, acceptance criteria, dependencies)
- Node annotation panel — role, type, flow, automation level, description, rules, notes
- Export for Claude — structured JSON with completeness report and warnings
- Board Consistency Review — deterministic readiness checks plus optional AI advisory suggestions
- Auto-save to localStorage + manual save/load JSON files
- Undo/Redo — 80 levels, JSON-snapshot based
Quick start
# Option 1: open the monolith directly (zero install)
open process-canvas.html
# Option 2: build from source
python build.py
open dist/index.html
Development
src/
html/index.html — HTML skeleton (%%CSS%% and %%JS%% injection markers)
css/main.css — All styles
js/ — JS modules (load order matters — see build.py)
state.js — Global state, DOM refs, INITIAL_DATA
variables.js — Canvas variable store and helpers
history.js — Undo/redo snapshot stack
canvas.js — Pan, zoom, marquee, wheel, fit-all
nodes.js — Node DOM, drag, selection, alignment, render()
connectors.js — Orthogonal routing, waypoints, segment handles
sections.js — Section DOM, drag, resize, add/delete
editor.js — Prompt content editing helpers
panels.js — Node/section/connector annotation panels
toolbar.js — Keyboard shortcuts, connector mode buttons
export.js — Export-for-Claude JSON builder
review.js — Board consistency review engine + optional AI advisory pass
execution.js — Runtime node execution engine and provider calls
persistence.js — initData(), autoSave(), saveToFile(), loadFromFile()
templates.js — Template gallery and seed loading
ui.js — Context menus, utils, app entry point
build.py — Assembles dist/index.html (Python stdlib only)
archive/ — Regression reference (original monolith)
dist/ — Build output (gitignored)
Build
python build.py
# → Built dist/index.html (120,834 bytes) in ~3ms
Requires Python 3.8+, no dependencies.
Architecture
See docs/architecture.md for module dependency graph and design decisions.