DAGEdit, Now in Clojure
A quick update on the keyboard DAG editor.
The first version was a JavaScript experiment in the browser. I've now rewritten it in Clojure. The main version is a TUI: it runs in the terminal, edits a graph saved as a .json file, and opens a node's details in your $EDITOR.
The editor itself is written once, as shared Clojure / ClojureScript code that draws the screen as a grid of characters. The terminal version prints that grid. And the same code, compiled to JavaScript, is the new web version, which looks just like the terminal.

The web version has one thing the terminal doesn't: a Graphviz drawing of the DAG. Ctrl+P pops it up, and P pins it, so the editor is on the left and the graph is on the right, redrawn as you type. From there you can download the graph as SVG, PNG, DOT or Cypher.
Your graph is saved in the browser as you go. Ctrl+S downloads it as a .json file, and Alt+O opens a .json or a Graphviz .dot file.
Some of the keys have changed since the first post:
| Key | What it does |
|---|---|
| Ctrl+F | fork: a new connected node in the next column |
| Ctrl+Y, then Ctrl+V | copy a node's output, and paste it as an input on another node (a merge) |
| Ctrl+K | delete a node, joining up the nodes either side |
| Ctrl+E | the connections palette |
F1 lists them all.
Try it here: DAGEdit.