Software-specific language
Node kinds include clients, gateways, services, brokers, databases, decisions, and outcomes. Calls and events use different edge operators. Tables include fields, keys, and cardinality.
checkout => events "OrderPlaced"Write services, events, decisions, tables, and sequences in a readable language. Flowmark handles compound layout, routed edges, icons, and interactive playback from the same source.
npx @ministryplace/flowmark-cli studioNode kinds include clients, gateways, services, brokers, databases, decisions, and outcomes. Calls and events use different edge operators. Tables include fields, keys, and cardinality.
checkout => events "OrderPlaced"Groups participate in layout. Arrange regions as rows, stacks, or named grids; span tracks; tune density; and choose how routed edges handle crossings.
arrange: grid · rowSpan: 2Animation blocks reference existing nodes and edges. Trace a path, activate or pulse a node, pause, jump, or run steps in parallel. Browser embeds provide playback controls.
flow api -> checkout for 1.2sFlowmark combines software-specific shapes with content-aware sizing, architectural icons, typography, group treatment, labeled routes, and coordinated themes. The defaults are meant to produce a coherent diagram before you write custom styles.
Snapshot theme values into a portable file with no browser runtime.
Any browser frameworkWeb componentPan, zoom, fullscreen, theme switching, source updates, and playback.
React applicationsLive view and playgroundUse the interactive view directly or include an editable source panel.
Astro · MDX · VitePress · documentationMarkdown fencesRender fenced diagrams to static SVG through Remark or Markdown-it.
Vite · Rollup · Webpack · application buildsFirst-class .flowmark importsChoose SVG, data URL, source, React, or custom-element imports explicitly.
Pull requests · CICLI validation and renderingCheck source, render artifacts, and detect generated-file drift in a build.
Flowmark files are ordinary text. A pull request can show that an interaction became an event, while CI renders the updated SVG for readers who only need the result.
billing: service "Billing"
- billing -> events "Payment"
+ billing => events "PaymentCaptured"