Metadata-Version: 2.1
Name: kel-cli
Version: 0.0.3
Summary: AI Assistant for your CLI
Home-page: https://kel.qainsights.com
Author: NaveenKumar Namachivayam
Author-email: NaveenKumar Namachivayam <contact@qainsights.com>
License: MIT
Project-URL: Homepage, https://github.com/qainsights/kel
Project-URL: Issues, https://github.com/qainsights/kel/issues
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.6
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: annotated-types==0.6.0
Requires-Dist: anyio==3.7.1
Requires-Dist: certifi==2023.11.17
Requires-Dist: click==8.1.7
Requires-Dist: colorama==0.4.6
Requires-Dist: distro==1.8.0
Requires-Dist: exceptiongroup==1.2.0
Requires-Dist: h11==0.14.0
Requires-Dist: httpcore==1.0.2
Requires-Dist: httpx==0.25.2
Requires-Dist: idna==3.6
Requires-Dist: markdown-it-py==3.0.0
Requires-Dist: mdurl==0.1.2
Requires-Dist: openai==1.3.6
Requires-Dist: pydantic==2.5.2
Requires-Dist: pydantic_core==2.14.5
Requires-Dist: Pygments==2.17.2
Requires-Dist: pyperclip==1.8.2
Requires-Dist: rich==13.7.0
Requires-Dist: sniffio==1.3.0
Requires-Dist: toml==0.10.2
Requires-Dist: tqdm==4.66.1
Requires-Dist: typing_extensions==4.8.0
Requires-Dist: anthropic~=0.7.7
Requires-Dist: langchain~=0.0.348

# Kel

Kel is your AI assistant in your CLI. 

> Kel `கேள்` means `ask` in Tamil.

## Demo

<a href="https://asciinema.org/a/626190" target="_blank"><img src="https://asciinema.org/a/626190.svg" /></a>

## Features

- Free and Open Source
- Bring your own API keys
- Supports multiple Large Language Models (LLMs) like GPT-4, Claude, ollama2, etc.
- Supports OpenAI assistants to chat with your documents
- Customizable

## Installation

### Pre-requisites
- Python 3.6 or higher
- pip3
- API keys for OpenAI and other LLMs

### Steps

```bash
python3 setup.py install
```

## Usage

```bash
kel_package -v
```

```bash
kel_package -h
```

```bash
kel_package "git command to rebase"
```

```bash
kel_package "command to get active connections in linux"
```

```bash
kel_package "What was the population of India in 1990?"

> I'm sorry, I can only assist with questions related to software engineering and command line tools. 
I am unable to provide information on the population of India in 1990.
```

Now change the prompt and ask the same question.
```bash
kel_package "What was the population of India in 1990?" -p "You are a demography expert" 

> The population of India in 1990 was around 874 million people.
```

Now change the LLM and ask the same question.
```bash
kel_package "What was the population of India in 1990?" -p "You are a demography expert" -c ollama -m llama2 
```

## Configuration

Kel can be configured using a [config file](./config.toml). It is a TOML file and supports vast number of options. 

The default config file is `~/.kel/config.toml` or `~/.config/kel/config.toml` or `KEL_CONFIG_FILE` environment variable.

## Defaults

- OpenAI's `gpt-3.5-turbo-1106`
- Display stats
- Default prompt focuses on developers
- Copies the answer to clipboard
- and more...

## Support

If you like this project, please consider donating to the following addresses.

- Buy me a coffee: https://www.buymeacoffee.com/qainsights



