MCPcopy Index your code
hub / github.com/chrisjpatty/flume

github.com/chrisjpatty/flume @v1.2.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v1.2.0 ↗ · + Follow
216 symbols 402 edges 62 files 0 documented · 0% updated 2mo agov1.2.0 · 2025-11-05★ 1,62658 open issues

Browse by type

Functions 160 Types & classes 56
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

NPM JavaScript Style Guide Minzip Size

Flume

A screenshot of a live Flume editor

Guides & Examples

flume.dev

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 (


 // Give the wrapper a width & height
      <NodeEditor
        nodeTypes={config.nodeTypes}
        portTypes={config.portTypes}
      />



  )
}

For more complete documentation visit: flume.dev

License

MIT © chrisjpatty

Extension points exported contracts — how you extend this code

Core symbols most depended-on inside this repo

Shape

Function 147
Interface 42
Method 13
Class 10
Enum 4

Languages

TypeScript100%

Modules by API surface

src/typeBuilders.ts17 symbols
src/components/Stage/Stage.tsx15 symbols
src/components/Comment/Comment.tsx14 symbols
src/types.ts13 symbols
src/components/Node/Node.tsx13 symbols
src/components/IoPorts/IoPorts.tsx13 symbols
src/nodesReducer.ts12 symbols
src/connectionCalculator.ts11 symbols
src/components/Select/Select.tsx11 symbols
src/components/Control/Control.tsx10 symbols
src/components/Draggable/Draggable.tsx9 symbols
src/components/ContextMenu/ContextMenu.tsx7 symbols

For agents

$ claude mcp add flume \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page