No description, website, or topics provided.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
bin
context
dna
plasma
public
tests/unit
.gitignore
README.md
angel.json
archconsole-staging.js
archconsole.js
index.html
inject-js-start.js
nw-archconsole.js
package.json
preview.png

README.md

What is this?

Archconsole

This is very limited web based unix/win/mac terminal. It is the simplest implementation ever still enough to handle:

  • everyday nodejs development
  • very basic server administration via ssh+paired keys
  • simple autocomplete
  • command chaining (using && and | )
  • shell/terminal mode of command execution (supporting sudo, ssh & etc...) thanks to pty.js & term.js
    • this is experimental, don't expect to work, especially on windows

Why?

Archconsole is inspired heavily from TermKit (https://github.com/unconed/TermKit), but its aim is to enrich nodejs daily development by giving easier dev. env. modifications in self-hosted mode. In addition it is organic inside, which will bring tighter integration with organic based projects.

How?

How to use in browser

  1. $ node archconsole.js
  2. open http://localhost:3333/
  3. input terminal command

how to use in nodewebkit

  1. $ node archoconsole.js
  2. $ nodewebkit ./

Features

  • scripting of custom commands and plugins in javascript

    See /bin/shellstart/*.js files for more info.

shortcut combos

  • every command has a marker on its left.

    • green - then command completed successfully.
    • red - failure occurred.
    • organge/blue - then the command is still running.
  • ctrl+space - goes to the bottom of the shell and toggles command input focus

  • ctrl+shift+c - terminates last started command

  • ctrl+shift+enter - restarts last started command

  • when command is still running you can see it on top of the browser window with a number

    • ctrl+shift+1 - restarts that command with number 1
    • alt+shift+2 - terminates that command with number 2

git

  • alt+shift+g - runs git status on current working directory
  • alt+shift+p - runs git pull origin {currentBranchName}
  • alt+shift+u - runs git push origin {currentBranchName}

ungit

  • alt+shift+enter - runs ungit on current working directory

node

  • alt+shift+r - reads from current directory package.json and executes via node its main
  • alt+shift+t - reads from current directory package.json and executes via node its scripts.test

terminal

  • shift+enter - when starting command by pressing shift+enter it will be executed in terminal. This although not very stable is providing robust support for terminal usage of sudo, vim & alike...

cwd-status

thanks to gift

  • ctrl+shift+space - checks current directory and if it is git updates status bar:
    • shows not committed changes if any
    • shows current branch name
    • shows not pushed or not pulled committs if any

nvm

  • nvm v0.8.14 - switches current working version of node. Works only when running node installed via nvm

Requirements

  • nodejs v0.8.14 || v0.10.18 || above

quick-cd

remembers visited paths when you cd into them.

  • ctrl+alt+z brings in list of sorted by most visited remembered paths with support for quick cd into them.

edit

  • ctrl+alt+shift+e - runs atom (atom.io) editor at current working directory

nodewebkit related

  • global shortcut keys
    • ctrl+alt+a - show/hide archconsole when running in nodewebkit
  • type exit - closes the current archconsole window

How to install

$ git clone repo `target`
$ cd `target`
$ npm install

Note for windows

Make sure you have node-gyp requirements installed

use angel to manage

$ npm install organic-angel -g

starting

$ cd `target`
$ angel app start archconsole-staging.js

stoping

$ cd `target`
$ angel app stop archconsole-staging.js

restarting

$ cd `target`
$ angel app restart archconsole-staging.js

Attention

This is pre-alpha version, I'm on it daily and actually used v0.0.1 to build next versions. So it is these days usable at some extend.

how to contribute

  1. fork
  2. create a pull request

or

  1. file any issues/ideas/comments

License

MIT