kui-shell
Version:
This is the monorepo for Kui, the hybrid command-line/GUI electron-based Kubernetes tool
88 lines (63 loc) • 4.54 kB
Markdown
# Kui Shell
[](https://travis-ci.org/IBM/kui)
[](https://opensource.org/licenses/Apache-2.0)
[](https://codecov.io/gh/IBM/kui)
[](https://us-south.functions.cloud.ibm.com/api/v1/web/kuishell_production/kui/typecov-model.json)
[](https://us-south.functions.cloud.ibm.com/api/v1/web/kuishell_production/kui/typecov-model.json)
Kui Shell offers a new development experience for building
cloud-native applications. By combining the power of familiar CLIs
with visualizations in high-impact areas, Kui enables you to
manipulate complex JSON and YAML data models, integrate disparate
tooling, and provides quick access to aggregate views of operational
data.
## Quick Install
The fastest option is to install a prebuilt release.
[Kui-MacOS.tar.bz2](https://macos-tarball.kui-shell.org) **|** [Kui-Linux.zip](https://linux-zip.kui-shell.org)
Visit the [Kui Installation Guide](docs/installation.md)
for installation details and alternative installation options.
## Contributing
If you want to help, please take a look at our [guidelines](CONTRIBUTING.md) and [developer guide](docs/dev/README.md).
## The Kui Experience
[](https://youtu.be/jcV0csyzGdY)
Click the image to see [Kui in
motion](https://youtu.be/jcV0csyzGdY). For more of the backstory of
Kui, read on!
## This is a CLI, with Visualizations on the Side
Kui uses [Electron](https://electronjs.org) to provide you with an
augmented but CLI-focused development experience. By using Electron,
the same experience carries over, from local development on your
laptop, to a browser-based experience.
When running locally, you will have access to your filesystem and your
favorite terminal and text editor. To help with complex data, Kui
offers a suite of **visualizations**. You can gracefully flip between
the terminal and these visualizations, without having to switch to
your browser, log in, wait for pages to load, and navigate through
complex menu structures.
For example, to see a visual summary of your Kubernetes pods, issue
this command from your favorite terminal:
| Example Command | Thumbnail of Output |
| :-------------------------- | :------------------------------------------------------------------------------------------------ |
| `kubectl kui get pods --ui` | [](docs/readme/images/kubectl-get-pods.png) |
Without the `--ui` option, Kui will display the output in your
terminal directly; you will observe that the output is identical to
that of `kubectl`, with the possible addition of syntax
coloration. With Kui, you have the power to navigate between these
modes in a graceful and flexible manner.
<a href="https://ibm.box.com/shared/static/55gasbz9fc40qrg43iq4b8t1uckupft4.gif">
<img align="right" alt="kubectl get pods drilldown animated gif" src="docs/readme/images/kubectl-get-pods-thumbnail.gif"></img>
</a>
Now try clicking on a row. You should see the "sidecar" sweep in from
the right. This split screen mode allows you to drill down to the
details of your pods. You can click on one, then another, for rapid
inspection of several of your resources. The animated gif should give
you a sense of the possibilities (click on it to see a larger
version).
## Kui as a Tool Platform
Kui can form the basis for delivering CLI-driven GUI experiences. Here
are a few such uses of Kui:
- Apache OpenWhisk visualizations: [Oui](https://github.com/kui-shell/oui#readme)
If you want to create your own client, with a custom theme, custom
icons, and an enhanced set of commands, you can start here:
- [Clone and own a boilerplate repo](https://github.com/kui-shell/plugin-kubectl-boilerplate)
- [API documentation for authoring new commands](https://github.com/IBM/kui/wiki/Authoring-Kui-Plugins)
- [Some older documentation](docs/dev/custom-clients.md); we will be consolidating this into the newer docs.