Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Experimental Terminal platform built on WebKit + node.js. Currently only for Mac, though the prototype works 90% in any WebKit browser.

branch: master
Readme.md

TermKit

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 alphaTermKit 0.3 alphaTermKit 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.
  2. install npm: curl http://npmjs.org/install.sh | sh
  3. Clone the TermKit repository: git clone git@github.com:unconed/TermKit.git --recursive
  4. Change directory to Node: cd Node
  5. install node-mime: npm install mime
  6. Run the NodeKit daemon: node nodekit.js
  7. Unzip and run the Mac app in Build/TermKit.zip

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

Includes:

Something went wrong with that request. Please try again.