Goal: next gen terminal / command application
Addresses following problems:
- 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.
- 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
- Synchronous input/output makes you wait. SSH keystroke latency is frustrating.
- String-based command line requires arcane syntax, results in mistakes, repeated attempts at escaping, etc.
- 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."
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:
- Install node.js and npm.
- install node-mime:
npm install mime
- install socket.io:
npm install socket.io
- Clone the TermKit repository:
git clone email@example.com:unconed/TermKit.git --recursive
- Run the NodeKit daemon:
cd Node; node nodekit.js
- Unzip and run the Mac app in Build/TermKit.zip
Tip: Press ⌥⌘C to access the WebKit console.