Experimental Terminal platform built on WebKit + node.js. Currently only for Mac, though the prototype works 90% in any WebKit browser.
Pull request Compare This branch is 67 commits behind unconed:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.



TermKit Icon

Goal: next gen terminal / command application

Addresses following problems:

  1. Monospace character grid with ansi colors is not rich enough to display modern files / media / visualizations / metadata. Cannot effectively handle large output, long/wide tables or direct interaction.
  2. Relying on anonymous pipes to transfer data around is error-prone
    • Human-friendly text results in ambiguities
    • Need to match formats at pipe ends
    • Confusion between data output and notification output
  3. Synchronous input/output makes you wait. SSH keystroke latency is frustrating.
  4. String-based command line requires arcane syntax, results in mistakes, repeated attempts at escaping, etc.
  5. Unix commands are "useless by default", and when asked, will only tell you raw data, not useful facts. e.g. "rwxr-xr-x" instead of "You can't edit this file."

TermKit 0.3 alpha TermKit 0.3 alpha TermKit 0.3 alpha

Warning: Alpha version, still under development. Nothing works yet.

Some cool features

  • Smart token-based input with inline autocomplete and automatic escaping
  • Rich output for common tasks and formats, using MIME types + sniffing
  • Asynchronous views for background / parallel tasks
  • Full separation between front/back-end

TermKit is not a...

  • ...Web application. It runs as a regular desktop app.
  • ...Scripting language like PowerShell or bash. It focuses on executing commands only.
  • ...Full terminal emulator. It does not aim to e.g. host 'vim'.
  • ...Reimplementation of the Unix toolchain. It replaces and/or enhances built-in commands and wraps external tools.

How to use:

  1. Install node.js and npm.
  2. install node-mime: npm install mime
  3. Clone the TermKit repository: git clone git@github.com:unconed/TermKit.git --recursive
  4. Run the NodeKit daemon: cd Node; node nodekit.js
  5. Unzip and run the Mac app in Build/TermKit.zip

Tip: Press ⌥⌘C to access the WebKit console.