Skip to content
Nick Mitchell edited this page Apr 12, 2020 · 77 revisions

Getting Started

First clone and build the code, and initiate a watcher. The watcher will recompile and reload any open Kui windows whenever you edit and save source files. This includes changes to TypeScript, CSS, and SCSS source files.

git clone git@github.com:IBM/kui.git
cd kui && npm ci
npm run watch

To verify your installation, try npm run open. You should see a Kui window open and present you with a prompt. Issue a command, such as ls, and click on the links in the table. Clicking on a JSON or YAML file should display the contents in an editor in the Kui Sidecar.

Approaches for Enhancing Kui

Currently, there are five ways to enhance Kui:

Option 1: Directing Command Output to the Terminal

Kui Provides a fully-featured terminal. In response to certain commands, Kui augments the basic ASCII art presented by those commands with graphics.

Source

terminal-oriented commands

Option 2: Directing Command Output to the Sidecar

Your commands can fetch structured information, organize it into one or more tabs. Kui presents tab-structured content in the TopNavSidecar.

Source

left-nav-sidecar-oriented commands

Option 3: Directing Command Output to the Alternate Sidecar

The LeftNavSidecar is a Sidecar variant that optimizes layout for a hierarchical presentation. It also uses a narrower sidecar than the TopNavSidecar.

Source

left-nav-sidecar-oriented commands

Option 4: Status Stripe Widgets

The Kui StatusStripe is the row of buttons at the bottom of the window. You may add buttons or small utilization or status indicators. This image shows two widgets that, when clicked, execute a terminal command.
status-stripe-widgets

Option 5: Custom Layout

You may also choose to craft a custom layout of the core Kui view components. This image shows the custom layout used to suport Kui in Popup mode. Note how this client does not include a UI for switching tabs, places the command input as a StatusStripe widget, and uses the Terminal only for presenting command output.
status-stripe-widgets

Next Steps

  • Customize the overall layout of the UI. [Coming Soon]. For the first three enhancement options, this is an optional step. Only consider this if you have a need to customize the layout of the client.
  • Build and deploy a production release. You may build and distribute your own version of Kui as either a set of double-clickable platform-local applications, or as a hosted service.