HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
ianb
jsshell
JavaScript2011–2011
ianb / jsshell

jsshell

Shell (ala bash) written in Javascript for the browser and Node.js (incomplete prototype!)

2Distinct people
2Mentions
0Explicit recommenders
47GitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Shell (ala bash) written in Javascript for the browser and Node.js (incomplete prototype!)

GitHub

Where it is used

No documented product use has been verified yet.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 1:49:46 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by week2 dated mentions

Observed mentions: 2011-01-04 23:52:11 UTC to 2011-05-18 18:59:25 UTC. Weeks start Monday, UTC.

012011-01-03 00:00:00 UTC to 2011-01-10 00:00:00 UTC (exclusive): 1 mentions; 1 submissions, 0 commentsJan 32011-01-10 00:00:00 UTC to 2011-01-17 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2011-01-17 00:00:00 UTC to 2011-01-24 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2011-01-24 00:00:00 UTC to 2011-01-31 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2011-01-31 00:00:00 UTC to 2011-02-07 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2011-02-07 00:00:00 UTC to 2011-02-14 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2011-02-14 00:00:00 UTC to 2011-02-21 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2011-02-21 00:00:00 UTC to 2011-02-28 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2011-02-28 00:00:00 UTC to 2011-03-07 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2011-03-07 00:00:00 UTC to 2011-03-14 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 commentsMar 72011-03-14 00:00:00 UTC to 2011-03-21 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2011-03-21 00:00:00 UTC to 2011-03-28 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2011-03-28 00:00:00 UTC to 2011-04-04 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2011-04-04 00:00:00 UTC to 2011-04-11 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2011-04-11 00:00:00 UTC to 2011-04-18 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2011-04-18 00:00:00 UTC to 2011-04-25 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2011-04-25 00:00:00 UTC to 2011-05-02 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2011-05-02 00:00:00 UTC to 2011-05-09 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2011-05-09 00:00:00 UTC to 2011-05-16 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2011-05-16 00:00:00 UTC to 2011-05-23 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 commentsMay 16

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
Jan 32011-01-03 00:00:00 UTC2011-01-10 00:00:00 UTC110
Jan 102011-01-10 00:00:00 UTC2011-01-17 00:00:00 UTC000
Jan 172011-01-17 00:00:00 UTC2011-01-24 00:00:00 UTC000
Jan 242011-01-24 00:00:00 UTC2011-01-31 00:00:00 UTC000
Jan 312011-01-31 00:00:00 UTC2011-02-07 00:00:00 UTC000
Feb 72011-02-07 00:00:00 UTC2011-02-14 00:00:00 UTC000
Feb 142011-02-14 00:00:00 UTC2011-02-21 00:00:00 UTC000
Feb 212011-02-21 00:00:00 UTC2011-02-28 00:00:00 UTC000
Feb 282011-02-28 00:00:00 UTC2011-03-07 00:00:00 UTC000
Mar 72011-03-07 00:00:00 UTC2011-03-14 00:00:00 UTC000
Mar 142011-03-14 00:00:00 UTC2011-03-21 00:00:00 UTC000
Mar 212011-03-21 00:00:00 UTC2011-03-28 00:00:00 UTC000
Mar 282011-03-28 00:00:00 UTC2011-04-04 00:00:00 UTC000
Apr 42011-04-04 00:00:00 UTC2011-04-11 00:00:00 UTC000
Apr 112011-04-11 00:00:00 UTC2011-04-18 00:00:00 UTC000
Apr 182011-04-18 00:00:00 UTC2011-04-25 00:00:00 UTC000
Apr 252011-04-25 00:00:00 UTC2011-05-02 00:00:00 UTC000
May 22011-05-02 00:00:00 UTC2011-05-09 00:00:00 UTC000
May 92011-05-09 00:00:00 UTC2011-05-16 00:00:00 UTC000
May 162011-05-16 00:00:00 UTC2011-05-23 00:00:00 UTC101

What Hacker News says

2 sources
I played around with what I think is a very similar idea a while back: https://github.com/ianb/jsshell -- I think the basic architecture is the same, but this is much more advanced; I never really got past the point of displaying all output as literals. In both cases I think this is really as much a replacement for the shell (e.g., bash) as for the terminal. The truly fundamental verb in a Unix system is executing something with a set of string parameters, an environment, and a cwd, and passing stdin in, with stderr and stdout coming out. That's pretty much everything, so there's a lot of flexibility about how you can present that to a person -- all the stuff like &, if statements, file redirection, shell quoting, etc., is part of the shell UI, it isn't really core to the OS or any of the commands. There's a lot of graphics and icons in
Read the rest
this particular implementation, but IMHO that's not really the important part. Taking out the statefulness of the shell is the more interesting part to me. "cd" seems magic, but it's just setting an internal variable in the shell. Foreground and background processes seem core, but they are just a way of handling the inability for a terminal to handle more than one thing at once. Variable substitution, redirection, backticks... these are all abstractions; and they are useful abstractions, but they might deserve a bit of rethinking.
In TermKit - a graphical terminal replacement

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.