Provides command-line tool help to write terminal commands for you using natural language powered by ChatGPT.
You must provide an OpenAI API token via the environment variables TERMINAL_HELP_OPENAI_API_KEY or OPENAI_API_KEY. You can create an OpenAI key here: https://platform.openai.com/api-keys
Here's an example interaction:
[~] help
[question] list files modified the past day (not recursive)
[chatgpt] use "find" with the right flags.
[code] find . -maxdepth 1 -type f -mtime -1
./.DS_Store
./.localrc
./.zsh_history
./.zcompdump
./Brewfile
./.viminfoYou can install terminal-help-app using uv by adding an alias in your shell configuration (~/.bashrc, ~/.zshrc, etc.):
alias help="uvx --from=terminal-help-app help"
# You can alias `help` to whatever you would likeIf you don't have uv installed, here's a quick setup:
curl -LsSf https://astral.sh/uv/install.sh | shYou can read more about installing uv here:
https://docs.astral.sh/uv/getting-started/installation/
Alternatively you can install using pipx by doing:
pipx install terminal-help-appThis will add command-line utility help.
You can learn more about install pipx here:
https://pipx.pypa.io/stable/installation/
Set your OpenAI key in your shell configuration (~/.bashrc, ~/.zshrc, etc.):
export OPENAI_API_KEY="your-key-here"
# Optionally specifically the OpenAI Key for this tool only
export TERMINAL_HELP_OPENAI_API_KEY="your-key-here"You can create an OpenAI key here: https://platform.openai.com/api-keys
Specify the model you would like to use; the default is gpt-4o-mini.
You can override the config directory using the environment variable:
export TERMINAL_HELP_CONFIG_PATH="/path/to/your/config"
# Default is ~/.config/terminal_helpConfiguration and history files are stored by default in:
- Config Directory:
~/.config/terminal_help - Prompt Cache:
~/.config/terminal_help/db.sqlite3 - Question History:
~/.config/terminal_help/question_history - Shell History:
~/.config/terminal_help/code_history