Skip to content

joe-trellick/paperterm

Repository files navigation

PaperTerm - a web-based shell/terminal experiment

NOTE: You should absolutely not run this project in its current state, it will create a gaping security hole on your machine.

PaperTerm is a toy project that I created during my time at the Recurse Center, mostly to refresh my knowledge of TypeScript, DOM interactions, WebSockets, and general shell/terminal functionality.

I also wanted to play around with several other long-running frustrations with terminals: specifically, that they mostly still act like dumb text-based printers, instead of helping you in your workflow.

PaperTerm is different because it:

  • Treats each command and its output as a collapsible, rerunnable unit
  • Lets you do other things while an earlier command is still running
  • Lets you pin previous results to the side of the screen for reference
  • Lets you delete mistakes from your command history
  • Shows history in the "wrong" direction
  • Uses an awful default HTML textbox for input (it's a toy :)
paperterm-2021-07-13.mp4

Running PaperTerm

You absolutely shouldn't run this program, since it will let anyone on your network send terminal commands to your machine.

But if you do want to take it for a spin:

Other interesting work in this space