|
6 | 6 |
|
7 | 7 | # IBM Cloud Functions Shell
|
8 | 8 |
|
9 |
| -Welcome to a new development experience for IBM Cloud Functions. |
| 9 | +Welcome to a new development experience for IBM Cloud Functions. Cloud Functions Shell (or just _Shell_) is an [Electron](https://electronjs.org/) desktop application that combines a command-line interface (CLI) and a graphical user interface (GUI): |
| 10 | + |
| 11 | +* Developers interact with the cloud mainly through execute textual commands, as in a conventional CLI. The command-line style of interaction enables quick task switching without clicking through various links and allows task automation through scripting. |
| 12 | +* Unlike conventional CLIs, in Shell, data returned from the cloud are carefully rendered into prettified code, tables and visualizations to assist users in various tasks. Mouse interactions are added to avoid copying lengthy text or IDs. Shell also integrates some common graphical tools such as a debugger for inspecting parameters and inserting breakpoints, and an light-weight text editor that offers real-time syntax highlighting. |
| 13 | + |
| 14 | +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. |
| 15 | + |
| 16 | +## Installing Shell |
| 17 | +Shell is currently distributed through the [Node.js package manager (NPM)](https://www.npmjs.com/package/@ibm-functions/shell). We recommend that you install the shell globally (`npm install -g`): |
| 18 | + |
| 19 | +``` |
| 20 | +$ npm install -g @ibm-functions/shell |
| 21 | +``` |
| 22 | + |
| 23 | +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](docs/npm.md#using-shell-with-ibm-cloud-functions-or-apache-openwhisk) to set up your environment. |
| 24 | + |
| 25 | +## Starting Shell |
| 26 | + |
| 27 | +``` |
| 28 | +$ fsh shell |
| 29 | +``` |
| 30 | + |
| 31 | +`fsh` is a shorthand for "function shell". You will see a new window popped up. Welcome to Shell! |
| 32 | + |
| 33 | +_Tip_: You can ping 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. |
| 34 | + |
| 35 | +## Interface Overview |
| 36 | + |
| 37 | +|<img src="docs/figures/ui-overview.gif" width="90%" title="Shell UI Overview">| |
| 38 | +|:--:| |
| 39 | +|Working in Shell| |
| 40 | + |
| 41 | +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. |
| 42 | + |
| 43 | +## Learning Shell |
| 44 | + |
| 45 | +* Basic cloud function commands (TODO) |
| 46 | +* Run Shell commands in the Electron app vs. directly from the terminal (TODO) |
| 47 | +* [Programming Serverless Composition with Composer and Shell](https://github.com/ibm-functions/composer/blob/master/docs/tutorials/introduction/README.md) |
| 48 | +* Tour of Shell's visualizations (TODO) |
| 49 | +* [Shell's YouTube channel](https://www.youtube.com/channel/UCcu16nIMNclSujJWDOgUI_g) for demo videos |
| 50 | + |
| 51 | +## Developing Shell together |
| 52 | + |
| 53 | +Contributions are welcome. Please join in [developing and extending the Shell code](docs/dev/README.md). |
| 54 | + |
10 | 55 |
|
11 |
| -- [About the shell](docs/fsh.md) |
12 |
| -- [Installation](docs/npm.md) |
13 |
| -- Tutorials (TODO) |
14 |
| -- [Using the shell for serverless compositions](https://github.com/ibm-functions/composer/blob/master/docs/README.md#tour-of-the-programming-shell) |
15 |
| -- Contributions are welcome. Please join in [developing and extending the Shell code](docs/dev/README.md). |
|
0 commit comments