kibash is a bash extension that rewrites natural language from your input buffer into the corresponding shell command instantly*
*between 200-500ms, using groq + gpt-oss-20b
kibash depends on cai to query LLMs, as well as jq to parse the structured output
You can install cai a few ways:
- cargo:
cargo install cai - brew
brew install cai - (future: static musl build of
cai?)
curl --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/waveplate/kibash/develop/install.sh | sh-
Clone this repository:
git clone https://github.com/waveplate/kibash.git cd kibash -
Run the installer:
./install.sh
-
Restart your shell or run
source ~/.bashrc.
Type a natural language request in your terminal.
scale cats.mp4 to 720x400 and flip it horizontally
Press Ctrl + Space (default).
The text will be replaced by the corresponding shell command.
ffmpeg -i cats.mp4 -vf "scale=720:400,hflip" cats720.mp4
Shows the current configuration (Provider, Model, System Prompt).
Selects the LLM provider and model.
- Example:
kibash use openai gpt-4o
You can use tab-completion to see the providers supported (openai, cerebras, deepseek, google, anthropic, xai, groq)
The model corresponds to the model string used by the provider's API, or a list of shortened model aliases which you can select via tab-completion.
Sets the system prompt.
- Example:
kibash system "Generate a linux shell command which corresponds to the prompt, never use output codeblocks"
These commands all support tab-completion
The standard naming convention of {PROVIDER}_API_KEY is observed:
ANTHROPIC_API_KEYGOOGLE_API_KEYGROQ_API_KEYOPENAI_API_KEYCEREBRAS_API_KEYDEEPSEEK_API_KEYXAI_API_KEY
Or if you want to use cai-specific keys, prepend CAI_ to the variable name, e.g,.
CAI_ANTHROPIC_API_KEY
Or if you prefer YAML, edit ~/.config/cai/secrets.yaml
The key names are the same as in the first section, but but lowercase (e.g., anthropic_api_key, etc)
