ibm-functions / shell

An Electron-based development tool for IBM Cloud Functions and Composer.
Apache License 2.0
60 stars 16 forks source link
cli electron faas functions ibm-cloud ibm-cloud-functions openwhisk serverless shell visualization

DEPRECATED

This project has been superceded by the the Kui project. As a result, this repository is no longer maintained.

IBM Cloud Functions Shell

Welcome to a new development experience for IBM Cloud Functions. Cloud Functions Shell (or just Shell) is an Electron desktop application that combines a command-line interface (CLI) and a graphical user interface (GUI):

As a local desktop application, Shell is fast and is designed for productive use, and can access local storage to provide new features like interacting with other editors and debugging a function in a local container.

Installing Shell

Shell is currently distributed through the Node.js package manager (NPM). We recommend that you install the shell globally (npm install -g):

$ npm install -g @ibm-functions/shell --unsafe-perm=true

If you are an existing wsk or bx wsk CLI user, you should be able to start using Shell right away with the host and credential specified in $HOME/.wskprops. If you have never installed bx wsk or wsk CLI before, follow the instructions in the install and troubleshooting page to set up your environment.

Starting Shell

$ fsh shell

fsh is a shorthand for "function shell". You will see a new window popped up. Welcome to Shell!

Tip: You can pin Shell's icon to the desktop for quick access. For example, in MacOS, you can right click on the blue Shell icon and select Options > Keep in Dock. Next time you can click on that icon to start Shell from the dock.

Interface Overview

Working in Shell

Shell has a CLI and a sidecar that can be opened and closed on demand. Contents that need more space such as JSON data or visualizations are usually shown in the sidecar, whereas execution messages and lists are shown under the corresponding command.

Learning Shell

Developing Shell together

Contributions are welcome. Please join in developing and extending the Shell code.