phoenix
is a pure-javascript shell built for puter.com.
Following the spirit of open-source initiatives we've seen like
SerenityOS,
we've built much of the shell's functionality from scratch.
Some interesting portions of this shell include:
- A shell parser which produces a Concrete-Syntax-Tree
- Pipeline constructs built on top of the Streams API
- Platform support for Puter
The shell is a work in progress. The following improvements are considered in-scope:
- Anything specified in POSIX.1-2017 Chapter 2
- UX improvements over traditional shells
examples include: readline syntax highlighting, hex view for binary streams
- Platform support, so
phoenix
can run in more environments
You can use the terminal on Puter, including self-hosted installations.
Under node.js Phoenix acts as a shell for your operating system.
This is a work-in-progress and lots of things are not working
yet. If you'd like to try it out you can run src/main_cli.js
.
Check this issue
for updated information on our progress.
You can find our tests in the test/ directory. Testing is done with mocha. Make sure it's installed, then run:
npm test
We're looking to continue improving the shell and broaden its usefulness. Here are a few ideas we have for the future:
- local machine platform support
See this issue
- further support for the POSIX Command Language
Check our list of missing features