Skip to main content
FlowDrop is organized as tree-shakable sub-modules. Import only what you need to minimize bundle size.

Module structure

@flowdrop/flowdrop — full bundle (re-exports everything)
core — types & utilities, zero heavy deps
editor — visual workflow editor (@xyflow/svelte)
form — JSON Schema → dynamic forms
form/code — code & JSON editor (+CodeMirror, ~300KB)
form/markdown — markdown editor (+CodeMirror)
display — content rendering
playground — testing & human-in-the-loop
settings — user preferences
styles — CSS design tokens

@flowdrop/flowdrop/core

Types and utilities with zero heavy dependencies. Safe to import anywhere without pulling in Svelte components or CodeMirror. Key exports:

@flowdrop/flowdrop/editor

Visual workflow editor with @xyflow/svelte. Key exports:

@flowdrop/flowdrop/form

Dynamic form generation from JSON Schema. Key exports:

@flowdrop/flowdrop/form/code

Code and JSON editor support (adds ~300KB, requires CodeMirror). Key exports:

@flowdrop/flowdrop/form/markdown

Markdown editor support (requires CodeMirror + @codemirror/lang-markdown). Key exports:

@flowdrop/flowdrop/display

Content rendering components. Key exports:

@flowdrop/flowdrop/playground

Interactive workflow testing and human-in-the-loop. Key exports:

@flowdrop/flowdrop/settings

User preferences with hybrid persistence. Key exports:

@flowdrop/flowdrop/styles

CSS styling with design tokens. Exports: CSS files with --fd-* custom properties for theming.

@flowdrop/flowdrop

Full bundle — re-exports from all sub-modules for convenience. Use this when bundle size is not a concern.

REST API

FlowDrop expects a backend implementing these endpoint groups. Not all are required — see Backend Implementation for which tier each belongs to.

Required (Tier 1 — Minimum Viable Backend)

Optional (Tier 3 — Advanced Features)

See the API reference for full endpoint documentation, or follow the Backend: Express.js recipe to get started quickly.