clio

command module
v0.4.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 28, 2025 License: MIT Imports: 13 Imported by: 0

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.

CLIo demo

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.

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
go install --tags "fts5" github.com/lian-rr/clio@latest
Build from source
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
# 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.

Documentation

The Go Gopher

There is no documentation for this package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL