Home

Awesome

Client Template for the Kui Graphical CLI Framework

Kui is a framework for extending CLIs with graphical enhancements. If you wish to extend the framework, either by adding custom commands, custom views, or custom theming, this is the place to start!

This repository offers a few silly animal-oriented commands and views, including a way to decorate Kubernetes resources with additional tabs.

Getting Started with Development

npm ci
npm run watch

This will spawn the Webpack watcher. Once it has finished loading, you may open a Kui window via npm run open. If this works, you are all set for developing your Kui-based magic.

Details of the customizations in this client

This wiki introduces the ways in which this application enhances Kui. In particular, this client extends Kui with:

<img src="docs/images/cattab.png" align="right" width="350" title="Showing the Kubernetes decorations"> <img src="docs/images/catdogwidget.gif" align="right" width="350" title="Showing the CatDogWidget StatusStripe widget">

More Documentation on Extending Kui

Building for Production: Electron Double-clickables

If you want to build and distribute your own double-clickable Electron-based clients, then use one of these commands, after which your clients will be placed in ./dist/electron.

npm run build:electron:all # does all of the following...
npm run build:electron:mac:amd64
npm run build:electron:mac:arm64
npm run build:electron:linux:amd64
npm run build:electron:linux:arm64
npm run build:electron:windows:amd64

Building for Production: Hosted Web App

To build a hosted version of Kui, running in a Docker container, use this command:

npx kui-build-docker-with-proxy

This will generate a Docker image kui-shell/kui. To test this production web app, you can use the script npx kui-run-cproxy, and then visit http://localhost:9080.