Skip to content

Running locally

The repo contains three runnable apps. Each has a different purpose.


app/desktopApp — the production editor

The full, production-grade workflow editor. This is the app you build and ship to end users.

./gradlew :app:desktopApp:run

What it includes: - All first-party plugins (math, IO, style-nodes, sticky notes, list ops, control, types, text) - Workflow launcher home screen (templates + recents) - Subgraph drill-in navigation - Full theme / appearance controls

This app is backed by app/app which owns plugin registration and demo workflow definitions. Production features (file open/save, recent files, unsaved-changes confirmation) are being added to app/desktopApp directly — not to app/app.


app/sample — the consumer integration example

A minimal JVM Desktop app that shows how to embed Graphyn as a library in your own project. Intended as a living reference for external consumers.

./gradlew :app:sample:run

What it shows: - Installing a single plugin (MathPlugin) via DefaultGraphynPluginRegistry - Passing specs and executors to WorkflowExecutionEngine and GraphynEditorShell - Auto-saving the workflow to ~/.graphyn/sample-workflow.json using workflowFlow

Source: app/sample/src/main/kotlin/com/ronjunevaldoz/graphyn/sample/SampleApp.kt


app/app — plugin showcase (not a runnable target)

A KMP library module, not a standalone app. It: - Registers all first-party plugins into a GraphynBootstrap helper - Defines demo WorkflowDefinition scenes used by app/desktopApp - Hosts GraphynApp — the top-level composable app/desktopApp calls

Do not add persistence, file management, or production features here. Those belong in app/desktopApp. Do not add registered node specs for demo purposes only — use local WorkflowDefinition data inside DemoScenes instead.


Other targets

Target Command
Android ./gradlew :app:androidApp:installDebug
Web (JS) ./gradlew :app:webApp:jsBrowserRun
Web (WASM) ./gradlew :app:webApp:wasmJsBrowserRun
Tests ./gradlew :app:shared:jvmTest