Create, visualize, and edit Kikwiflow .kikwi process definition files without leaving VS Code —
powered by the same visual canvas as the Kikwiflow Craft web modeler.
Status: early preview. See CHANGELOG.md for what's implemented so far.
Features
Visual editor — open any .kikwi file and get the full drag-and-drop process canvas (events, gateways,
tasks, boundary events) instead of raw JSON.
New Process File — Kikwiflow Craft: New Process File scaffolds a minimal valid flow (start → end) and
opens it directly in the canvas.
Validation — the Kikwiflow linter runs on every change and reports issues in the Problems panel, each
linking back to its rule documentation.
Text-editor fallback — Kikwiflow Craft: Reopen with Text Editor opens the raw JSON with full schema
validation, autocomplete, and hover docs.
Go to bean — next to any executor/provider-bean field (Executable Task, Exclusive Gateway decision
bean, Timer Task and SLA boundary due-date bean), a button opens the matching @Component("...") class if
it already exists in the open workspace, or offers to generate it — from the same Java templates the
Spring Boot export uses — if it doesn't. The first time you create a bean you'll be asked to confirm the
base Java package (auto-detected from a pom.xml/build.gradle when possible); after that it's
remembered for the rest of the workspace.
Requirements
None — the extension bundles everything it needs.
Known limitations
Editing the same file simultaneously in the visual canvas and a raw-text split view resets the canvas's
selection/viewport on every external change (content stays in sync; only transient UI state resets).
Node/edge label translations currently default to English; full VS Code display-language parity is planned.
Exporting with "project" scope (all sibling processes in a linked Project) only exports the current
process here — the sibling list is a web-Dashboard-only concept backed by browser localStorage, which
this host doesn't share.
"Go to bean" only searches .java files inside the currently open workspace — a bean that already exists
in a Maven/Gradle module you haven't opened here won't be found (you'd end up creating a duplicate stub).
It also only covers Executable Task, Exclusive Gateway, and Timer Task/SLA beans for now — Event
Catcher/Thrower correlation beans aren't wired up yet.