Flume
Extract logic from your apps with a user-friendly node editor powered by React.
Install / Use
/learn @chrisjpatty/FlumeREADME

Flume

Guides & Examples
Install
npm install --save flume
Usage
Defining your nodes
Import FlumeConfig and use it to define the nodes and ports that will make up your node editor.
import { FlumeConfig, Controls, Colors } from "flume";
const flumeConfig = new FlumeConfig()
flumeConfig
.addPortType({
type: "number",
name: "number",
label: "Number",
color: Colors.red,
controls: [
Controls.number({
name: "num",
label: "Number"
})
]
})
.addNodeType({
type: "number",
label: "Number",
initialWidth: 150,
inputs: ports => [
ports.number()
],
outputs: ports => [
ports.number()
]
})
.addNodeType({
type: "addNumbers",
label: "Add Numbers",
initialWidth: 150,
inputs: ports => [
ports.number({name: "num1"}),
ports.number({name: "num2"})
],
outputs: ports => [
ports.number({name: "result"})
]
})
Rendering the node editor
To render the node editor, import NodeEditor and pass it your nodeTypes and portTypes from the configuration you created.
import React from 'react'
import { NodeEditor } from 'flume'
import config from './config'
const App = () => {
return (
<div style={{width: 600, height: 800}}> // Give the wrapper a width & height
<NodeEditor
nodeTypes={config.nodeTypes}
portTypes={config.portTypes}
/>
</div>
)
}
For more complete documentation visit: flume.dev
License
MIT © chrisjpatty
Related Skills
bluebubbles
349.0kUse when you need to send or manage iMessages via BlueBubbles (recommended iMessage integration). Calls go through the generic message tool with channel="bluebubbles".
node-connect
349.0kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
slack
349.0kUse when you need to control Slack from OpenClaw via the slack tool, including reacting to messages or pinning/unpinning items in Slack channels or DMs.
frontend-design
109.4kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
