New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

kha_cli

Package Overview
Dependencies
Maintainers
1
Versions
54
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

kha_cli

KhaCloud CLI Tool for KhaCloud Development and Deployment

latest
Source
npmnpm
Version
3.7.15
Version published
Weekly downloads
1
-88.89%
Maintainers
1
Weekly downloads
 
Created
Source

Kha CLI

Kha CLI is a command-line tool for remote AI assisted development and managing your work with multiple websites on KhaCloud based cloud services. The tool can be used with non KhaCloud projects for remote AI assisted development.

Documentation for Plugins development can be found here.

Requirements

  • Linux (Not tested on Windows and Mac)
  • Node.js 12 or higher for execution (For installation, Node.js 18 or higher is required, the n package could be used)
  • NPM (comes with Node.js)
  • NPX
  • node-pre-gyp ( Install using sudo npm install -g node-pre-gyp)
  • A KhaCloud based cloud service account (For plugins only)

Note: To install n

sudo npm install -g n
sudo n v18.14.0 # to install v18.14.0
sudo n v14.18.1 # to install v14.18.1
sudo n # to switch between versions

Note: node-pre-gyp May require build tools

sudo apt-get update
sudo apt-get install python3 make g++ python3-pip
sudo npm install -g node-pre-gyp

Installation

sudo npm install -g kha_cli

** For windows users: ** Open a command prompt as administrator and run the following command before installation:

Set-ExecutionPolicy RemoteSigned

Update

sudo npm update -g kha_cli

Usage

Configuration (For plugins only)

Before using Kha Plugins CLI, you need to set up your kha-plugin-config.jsonc file

Commands

Remote Development

kha connect

Connects a local project for remote work/development

Can work on KhaCloud projects or any other type of projects

Create a CyberOcean cloud account for enhanced AI capabilities, persistent and more secure project management

kha connect config

Creates the config file kha-connect.jsonc to add action scripts, to run remotely from the dev envirement Example of a config file:

{
  "actions": [
    {
      "enabled": true, // Should be set true or the action will be ignored
      "key": "kha-upload", // Should be unique
      "label": "Kha Upload", // The name shown on the button
      "icon": "mdi-upload", // Accepts only MDI Icons
      "command": "kha upload" // Command to execute EXP: "npm run build", "./my-bash-script.sh", ...
    }
  ]
}

Plugin's commands

kha init

Initializes a new Kha Plugins project

kha init fix

Fixes the project initialization by adding the missing files or folders

kha upload

Uploads your work to the default website

# Upload with ignoring some tasks (Tasks names are not case sensitive)
kha upload --ignore=tasks,adminui,...

kha listen

Listens for changes in your work and uploads them to the website

kha routes

Shows the API and WEB routes endpoints

kha ai

Runs an AI task, It's based on OpenAI's GPT-3 API, Some tasks require GPT-3 16K model, OpenAI key is required

Plugin's theme commands

kha theme

Shows the theme commands list, and the available themes

kha theme init <THEME_NAME>

Initializes a new theme

kha theme upload <THEME_NAME>

Uploads the all the theme files/settings to the website

kha theme static-upload <THEME_NAME>

Uploads the theme static files to the website

Plugin's tasks

  • Init tasks in the plugin if it's not initialized yet
kha init tasks
  • Copy the example task in the tasks folder

  • Rename the file kha-task.example.jsonc to kha-task.jsonc, and fill the options

  • Use the task from the API, by creating a task object

// Example task to generate a video
const generateVideoTask = await utils.createTask("generate-video");

// Run the task and wait for the result, `true` is used to run the task as admin, if `false` the task will be run as the current user
const taskResult = await generateVideoTask.runAndWait(data, true);

// Run the task and don't wait for the result, and get task id, to retrieve the result later
await generateVideoTask.run(data, true);
const taskId = generateVideoTask.id; // Store the task id to use it later to retrieve the result and the state
// After some time OR from another request
const taskId = /* Retrieve the task id from where it's stored */;
const generateVideoTask = await utils.getTaskById(taskId);
const taskResult = await generateVideoTask.getResult();

// To get task state and any given point in time
const taskStatus = await myTask.getState(); // pending, finished, failed

For more information about tasks creation, visit the documentation of PETH plugins_engine_task_handler on Github

Trigger Files

Pre Install Script

  • It runs at the start of kha upload script
  • File name should be kha-pre-install.sh

After Install Script

  • It runs at the end of kha upload script (After uploading to the server)
  • File name should be kha-install.sh

FAQs

Package last updated on 26 Jan 2026

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts