terminalshare

Persist and share terminal sessions as trees.
Branch, label, replay. Every keystroke preserved.

session tree
$ curl -X POST /trees { "treeId": "a1b2c3d4" }  
root | +-- setup [init] | +-- debugging | | | +-- branch: "try fix A" | | | +-- branch: "try fix B" [working] | +-- deploy <live>
  $ open /trees/a1b2c3d4/view https://terminalshare.com/trees/a1b2c3d4/view

Append-only trees

Every terminal event is an entry in a tree. Fork at any point to explore different paths.

Live sharing

Viewers connect via WebSocket and see the terminal in real time through ghostty-web.

Branching

Move the leaf pointer to branch. Try something, rewind, try something else.

Replay

Walk any path from root to leaf. Snapshots let you jump to any point without full replay.

API

POST /trees create a tree
GET /trees/:id tree info
GET /trees/:id/tree full structure
GET /trees/:id/replay/:nodeId replay to a node
POST /trees/:id/branch branch from a point
POST /trees/:id/label add a bookmark
WS /trees/:id/ws viewer websocket
WS /trees/:id/ws/sandbox sandbox websocket