Neoscaffold
No description available
Install / Use
/learn @neoscaffold/NeoscaffoldREADME
NeoScaffold let's you visually program workflows for ai agents and more.
You can import, edit, and export workflows for:
- building trustworthy and safe ai use-cases
- iterating quickly on new ideas

Table of Contents
<details open="open"> <summary>Table of Contents</summary> <ol> <li><a href="#backstory"> ➤ Backstory 📖🐉</a></li> <li><a href="#installation"> ➤ Installation 💿</a></li> <li> <a href="#fun-with-neoscaffold"> ➤ Fun With NeoScaffold 🎨</a> <ul> <li><a href="#building-an-ai-persona-agent"> ➤ Building an AI Persona Agent 🕴️</a></li> <li><a href="#custom-extensions-for-more-nodes"> ➤ Custom Extensions for More Nodes 🧩</a></li> <li><a href="#rules-for-reliable-quality"> ➤ Rules for Reliable Quality 🔍</a></li> </ul> </li> <li><a href="#contributing-directly"> ➤ Contributing Directly 🤝</a></li> <li><a href="#issues"> ➤ Issues 🐛</a></li> <li><a href="#faq"> ➤ FAQ 🤔</a></li> <li><a href="#changelog"> ➤ Changelog 📜</a></li> <li><a href="#contributors"> ➤ Contributors 🤝</a></li> <li><a href="#license"> ➤ License 📄</a></li> <li><a href="#views"> ➤ Views 👀</a></li> </ol> </details>
Backstory
ComfyUI provided us a new way to build ai inference workflows to create images, and animations. Now, we don't need to write code to setup the inference pipelines, instead we visually program using nodes. Sleepless nights are now spent creating amazing art and pipelines to breath life to our work.
NeoScaffold aims to do same to many more workflows.
Emphasizing the following more:
- Friendly development experience
- No-compromises support for runtime quality checks on node inputs or node outputs
- litegraph.js sharing ComfyUI's front-end graph engine

Installation
First Git clone this repo.
NeoScaffold requires using at least node 18 and python 3.10.
To setup python 3.10 we recommend uv or pyenv.
To get the backend up and running use uv:
# change to server folder
cd server;
# make sure there's a virtual environment
uv venv;
# activate it
source .venv/bin/activate;
# install the dependencies
uv sync;
# run the server
python main.py;
# optionally run the server with delay to watch the output of the nodes
python main.py --inspection-delay 1;
To get the front-end server running:
We recommend using a node version manager like nvm to install node 18 if you don't already have it.
Our example front-end uses Ember.js CLI version 5.8
# Change to the frontend directory
cd neoscaffold;
# Use Node.js version 18
nvm use 18;
# to get ember-cli globally
npm i --global ember-cli@5.8
# Install dependencies using clean-install
npm ci;
# Start the front-end server
npm start;

Fun With NeoScaffold
NeoScaffold can be a colorful and fun way to build workflows. You can use existing nodes, or create your own.

Building an AI Persona Agent
TODO: Add a gif of the persona agent
TODO: add a step by step guide to building the persona agent

Custom Extensions for More Nodes
NeoScaffold provides a way to create extensions that give developers a way to add new nodes to the graph. Their core functionality is defined in python, however the user can provide a non-default litegraph.js "node" to customize the node's appearance in the graph.
Extensions are defined in python with a simple dict-interface like this included in a extension.py file:
# in server/custom_extensions/image_utilities/extension.py
# Example Node
class PreviewImageURL:
# LABELS
CATEGORY = "images"
SUBCATEGORY = "image"
DESCRIPTION = "preview image url"
# INPUT TYPES
INPUT = {
"required_inputs": {
"url": {
"kind": "*",
"name": "url",
"widget": {"kind": "string", "name": "url", "default": ""},
},
}
}
# OUTPUT TYPES
OUTPUT = {
"kind": "RESPONSE",
"name": "RESPONSE",
"cacheable": True,
}
# METHODS
def evaluate(self, node_inputs):
self.url = node_inputs.get("required_inputs").get("url").get("values")
return self.url
# Example Extension
EXTENSION_MAPPINGS = {
"name": "ImageUtilities",
"version": version,
"description": "Extension for additional image nodes",
"javascript_class_name": "ImageUtilities",
"nodes": {
"PreviewImageURL": {
"python_class": PreviewImageURL,
"javascript_class_name": "PreviewImageURL",
"display_name": "PreviewImageURL",
},
},
"rules": {},
}

Rules for Reliable Quality
TODO: Add a gif of the rules in action
TODO: add a step by step guide to building the rules

Contributing Directly
See CONTRIBUTING.md

Issues
We ask our users to create issues if they see a bug, or would like to request a feature from the team.
If you have a question or concern please feel free to reach out on the respective team's channel and we will help you usually within the business day.

FAQ
See FAQ.md

Changelog
See CHANGELOG.md

Author
Conrad Lippert-Zajaczkowski

License
This project is Apache 2.0 licensed.

Views
Related Skills
node-connect
347.2kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
108.0kCreate 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.
openai-whisper-api
347.2kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
347.2kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
