Skip to content
This repository was archived by the owner on Dec 17, 2024. It is now read-only.

Commit 648074a

Browse files
Kerry Changstarpit
authored andcommitted
update README.md
1 parent 98314bb commit 648074a

File tree

3 files changed

+59
-8
lines changed

3 files changed

+59
-8
lines changed

README.md

Lines changed: 46 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,50 @@
66

77
# IBM Cloud Functions Shell
88

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+
1055

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).

docs/figures/ui-overview.gif

1.01 MB
Loading

docs/npm.md

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
1-
## Installing the shell with `npm`
1+
# Setting up Cloud Function Shell
22

3-
The programming shell is currently distributed through the [Node
3+
## Installing Shell
4+
Shell is currently distributed through the [Node
45
package manager](https://www.npmjs.com/package/@ibm-functions/shell).
56

67
```bash
@@ -20,6 +21,16 @@ We also recommend using the `Node.js`
2021
`node v8`. If you're using `npm v3.10.x` you may encounter permissions
2122
issues. In this case, upgrade your `npm` and try again.
2223

24+
## Using Shell with IBM Cloud Functions or Apache OpenWhisk
25+
Currently, most Shell commands are for interacting with [Apache OpenWhisk](https://openwhisk.apache.org/), an open source serverless cloud platform. You can setup Shell to communicate with [IBM Cloud Functions](https://console.bluemix.net/openwhisk/) which is based on OpenWhisk, or your own locally deployed OpenWhisk instance.
26+
27+
Note that if you are an exiting `bx wsk` or `wsk` CLI user, you should be able to [run Shell right away](../README.md#starting-shell). If you have never installed `bx wsk` or `wsk` CLI before, follow the instructions below to set up your environment:
28+
29+
* _Run Shell with IBM Cloud Functions_: You need to have an [IBM Cloud account](https://www.ibm.com/cloud/), and follow the instructions [here](https://console.bluemix.net/openwhisk/learn/cli) to login to the IBM Cloud and verify your setup.
30+
31+
* _Run Shell with Apache OpenWhisk_: you need a valid `$HOME/.wskprops` file and a [locally deployed OpenWhisk instance](https://github.com/apache/incubator-openwhisk#quick-start).
32+
33+
## Updating Shell
2334
We roll out frequent updates and bug fixes. You can check for new
2435
releases via `fsh version -u`.
2536

0 commit comments

Comments
 (0)