/howto

How to do bash commands you always forget. OpenAI-powered.

Primary LanguageGoMIT LicenseMIT

Howto

Howto is a GPT-3/Codex-powered shell tool that allows you to talk with your shell in natural language.

Howto demo

Forgot how to create a conda environment?

% howto create conda env
conda create -n <env_name> python=3.6

Forgot how to add a new env to Jupyter?

% howto add kernel to jupyter
python -m ipykernel install --user --name=

Want to download the biggest Rick Astley's hit?

% howto download youtube video for never give you up
youtube-dl -f 18 https://www.youtube.com/watch?v=dQw4w9WgXcQ

Howto can also suggest how to be a nicer person

 % howto be a nicer person
alias please='sudo'

It works by sending requests to OpenAI API and requires you to setup your own OPENAI_API_TOKEN.

Installation

Option 1: Download the binary from Github

OS Architecture Link
Linux x86_64 howto-linux-x86_64
MacOS x86_64 (Intel) howto-darwin-x86_64
MacOS arm64 (M1) howto-darwin-arm64
Windows x86_64 howto-windows-x86_64

Full list of architectures can be found on the release page.

Then untar it and add it to your PATH. For example:

tar -xvf howto-v1.0.1-darwin-amd64.tar.gz
mv howto /usr/local/bin/

moving the binary to /usr/local/bin can require

Option 2: Build from source

If you have Go installed, you can build the binary from source.

go build

if you have your $GOPATH/bin in your path, just run go install . to install the binary

Then move the binary to your path, e.g., mv howto /usr/local/bin/

Environment variables

You need to connect your OpenAI API key to the program by setting the OPENAI_API_KEY environment variable. Get your OpenAI API key here.

OPENAI_API_KEY=<your_api_key>

By default we use text-davinci-002, you can change it to a different model by setting the HOWTO_OPENAI_MODEL environment variable. It's best to use Codex models (e.g., code-davinci-002), but they are currently in beta and not available to everyone.

HOWTO_OPENAI_MODEL=code-davinci-002