puter/src/phoenix
2024-12-08 11:31:47 -08:00
..
assets refactor: move puter gui to workspace 2024-07-07 17:12:55 -04:00
config remove duplicate and/or incorrect license headers 2024-07-09 13:50:20 -07:00
doc fix: double-echo in phoenix 2024-09-04 23:56:23 -04:00
src clean: remove unused imports from phoenix 2024-12-06 15:28:07 -05:00
test Revert "Created test cases for issue #878 " 2024-12-08 11:31:47 -08:00
tools remove duplicate and/or incorrect license headers 2024-07-09 13:50:20 -07:00
.gitignore refactor: move puter gui to workspace 2024-07-07 17:12:55 -04:00
LICENSE refactor: move puter gui to workspace 2024-07-07 17:12:55 -04:00
notalicense-license-checker-config.json refactor: move puter gui to workspace 2024-07-07 17:12:55 -04:00
package-lock.json refactor: move puter gui to workspace 2024-07-07 17:12:55 -04:00
package.json fix: fix CI attempt #5 2024-07-18 16:36:44 -04:00
README.md refactor: move puter gui to workspace 2024-07-07 17:12:55 -04:00
rollup.config.js fix: prevent code from breaking just because it was bundled 2024-10-18 15:06:08 -04:00
run.json5 refactor: move puter gui to workspace 2024-07-07 17:12:55 -04:00
test.js refactor: combine parsely and strataparse into @heyputer/parsers 2024-12-06 15:08:23 -05:00

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: