The 2025 Wheel Reinvention Jam just concluded. See the results.
A visual "shell" that makes it easy to play with processes and build "scripts". Terminals must die.

About Flowshell


Proponents of the command line praise its power, flexibility, and simplicity. But I think command lines need to die in a fire.

Building scripts out of simple processes is good. Arcane one-liners are not. Command-line shells are a nightmare of broken syntax, destructive actions, and rigid but inscrutable design. Unstructured text is bad for interop. Writing scripts is a tedious process of re-running previous commands and piping results to and from temporary files. Often you blow away your work by accident. It all sucks. No one should live like this.

My solution to this is Flowshell: a visual "shell" inspired by shader editors and dataflow programming systems.

Watch a 10-minute overview of Flowshell's design and features:

Flowshell's design principles:

  • Interactive by default. There should be a continuum from "just playing around" to "writing a script". It should be possible to just drop in a file, mash it around, and drag it back out, having never written a "script" at any point.
  • Intermediate results are tangible. The output of each node is always saved so it can be re-used, or exported as is. You should never have to re-run a previous step while working on subsequent steps, and you should never have to pipe anything to a temp file for development purposes.
  • Loosely structured data. No one should have to write a parser for some wacko ad-hoc data format. Something like JSON provides the right amount of structure: easy for producers to produce, easy for consumers to consume.

For more information, see this blog post.

Read more
Filters

Recent Activity

Here's a 10-minute video demo showing off all the features of &flowshell as they stand at the conclusion of the jam! I had a ton of fun with this project, I think it turned out quite well, and I think I may have to continue adding more nodes. And undo and redo. And any kind of serialization. https://www.youtube.com/watch?v=VyqxUs1mUng

View original message on Discord

You can now add new nodes from a menu in &flowshell. It's all coming together...just gonna add a few more nodes to demo things and then work on my writeup.

View original message on Discord

IT WORKS. I can now plumb together runs of nodes in &flowshell to do little shell-like things.

Tomorrow I'll finalize the project by adding a few key things: file writing, node snapping, and a bunch more nodes that show off more capabilities of the system.

View original message on Discord

Nodes in &flowshell can have multiple inputs and multiple outputs, making it easy to (for example) separate the stdout and stderr from a process, retroactively!

View original message on Discord

At long last, making progress on the real core of &flowshell. I have a node type, I can execute a process, and I can preview its output.

View original message on Discord

End of day progress for day 1 is just that I got clay working in Go. That rabbit hole was deeper than I had hoped. &flowshell

View original message on Discord