https://github.com/lian-rr/clio
Your terminal's ultimate companion.
https://github.com/lian-rr/clio
bash charmbracelet fish go shell
Last synced: 6 months ago
JSON representation
Your terminal's ultimate companion.
- Host: GitHub
- URL: https://github.com/lian-rr/clio
- Owner: lian-rr
- License: mit
- Created: 2024-09-22T21:24:06.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2025-04-28T15:17:35.000Z (about 1 year ago)
- Last Synced: 2025-04-28T16:26:43.062Z (about 1 year ago)
- Topics: bash, charmbracelet, fish, go, shell
- Language: Go
- Homepage:
- Size: 1.54 MB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# CLIo
**CLIo** is your terminal's ultimate companion,
user-friendly TUI (Text User Interface) application designed to help you explore, use,
and understand the terminal commands effortlessly.
Whether you're a beginner trying to learn the command-line interface (CLI) or a seasoned pro looking for a handy way of storing your library,
CLIo offers an intuitive and powerful way to master your shell.

## Installation
### Install latest binary
The recommended approach is to use the installation script, which automatically handles the installation of **CLIo** including the requirements for your environment.
```sh
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/lian-rr/clio/releases/latest/download/clio-installer.sh | sh
```
### From source
#### Prerequisites
- go `v.1.21+`
#### Install with Go
```sh
go install --tags "fts5" github.com/lian-rr/clio@latest
```
### Build from source
```sh
git clone https://github.com/lian-rr/clio
cd clio
go build --tags "fts5" .
```
> Remeber to add the binary path to your `PATH` environment variable
## Features
- 📚 **Command Library**: Browse a comprehensive list of terminal commands with detailed descriptions.
- 📖 **Command Explanations**: Get beginner-friendly explanations of commands, powered by OpenAI.
- 🔍 **Search and Filter**: Quickly find commands by name, keyword, or functionality.
- 📋 **History**: See previous uses of the command with the arguments used.
### Roadmap
- Export/Import command library.
- Configure custom Explanation engines (e.g Ollama)
- Custom Themes
- Custom Keymaps
## Configuration
In case you want to customize some of **CLIo**'s options
you can provide the necessary configuration in the config file.
**CLIo** checks for the configuration in the `$HOME/.config/clio/clio.toml` file.
This path can be replaced by setting the `CLIO_CONFIG_PATH` environment variable.
### Example config
```toml
# write debug logs.
debug = false
# base path for storing the application data, e.g. SQLite db.
pathOverride = ""
# explanation feature configuration.
[professor]
# used for enabling the explanation feature.
enabled = false
# type of processor. Supported values [openai]. required if professor is enable.
type = "openai"
# openAI config for the openai professor.
[professor.openai]
# OpenAI key. required
key = "key"
# Used if you want to customize the explanation prompt.
# (This will completly replace the default prompt)
customPrompt = ""
# Url for the API.
url = ""
# OpenAI model.
model = ""
```
## Discloure
Until the version `v.1.0.0`, bugs are expected and backwards compatibility not promised.