Karan Parmar cc45a08388 updated the github links displayed in the Terminal welcome message 1 год назад
..
assets f2e8b5ee3e Phoenix: Remove unwanted CSS includes 1 год назад
config 639e40d355 Phoenix shell deployment update 1 год назад
doc cb81579c53 Copy over phoenix 1 год назад
packages 27553ef926 Cleanup 1 год назад
src cc45a08388 updated the github links displayed in the Terminal welcome message 1 год назад
test dc95f2e065 Phoenix: Support older Node versions in test harness 1 год назад
tools 639e40d355 Phoenix shell deployment update 1 год назад
.gitignore cb81579c53 Copy over phoenix 1 год назад
LICENSE cb81579c53 Copy over phoenix 1 год назад
README.md 4a36670417 Update README.md files for monorepo'd projects 1 год назад
notalicense-license-checker-config.json cb81579c53 Copy over phoenix 1 год назад
package-lock.json fafbc292ca Remove xterm dependency from Phoenix 1 год назад
package.json fafbc292ca Remove xterm dependency from Phoenix 1 год назад
rollup.config.js 33785b3786 chore: Add missing imports for node:process 1 год назад
run.json5 cb81579c53 Copy over phoenix 1 год назад
test.js cb81579c53 Copy over phoenix 1 год назад

README.md

Phoenix

Puter's pure-javascript shell


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

Running Phoenix

In a Browser

You can use the terminal on Puter, including self-hosted installations.

Running in Node

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.

Testing

You can find our tests in the test/ directory. Testing is done with mocha. Make sure it's installed, then run:

npm test

What's on the Roadmap?

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