UNPKG

kui-shell

Version:

This is the monorepo for Kui, the hybrid command-line/GUI electron-based Kubernetes tool

55 lines (43 loc) 2.07 kB
# Developing a Custom Kui Client To develop a custom Kui client, you have two choices. First, you may fork this repository and populate e.g. `clients/my-client`, using [the default client](../../clients/default) as a starting point. Second, you may develop your client externally to this repository. ## Developing a client within the Kui repo If you go this route, you can add plugins of your own by placing them in the top-level [plugins](../../plugins) directory. It will be more difficult for you to exclude the plugins that are part of this repository; there is currently no way to selectively exclude these plugins. To build clients in this "monorepo" mode, and assuming you have already cloned-and-owned the default client: see [Packaging up Kui](packaging.md). ### Developing a client externally The advantage of developing your client externally to the main Kui repository lies in the power you have to pick and choose the plugins, and plugin versions, you would like to be part of your client. For example, if you would like to include only the [kubernetes plugin](../../plugins/plugin-k8s), and bundle some of our own plugins on top, this is an easy possibility: ```bash mkdir my-client && cd my-client npm init -y npm install --save-dev @kui-shell/builder npm install --save @kui-shell/core npm install --save @kui-shell/plugin-k8s npx kui-init ``` These are all one-time tasks. If you would like to add or delete plugins in the future, or pin versions of these, you would use normal `npm` commands to manage the node modules. After this initial setup step, you are ready to build your clients: ```bash npx kui-build-headless npx kui-build-electron npx kui-build-webpack ``` As above, you needn't build all three flavors of clients; this example is intended to enumerate the commands. ## Next Step: Customize! Now that you have made a decision on how to develop a custom Kui client, you are ready to begin making customization choices. For more information on customizing your client, please consult the [customization guide](customization-guide.md).