Tired of context-switching out of your terminal? howto brings an expert directly into your shell, just ask in natural language and let your favorite LLM provider work its magic. You can now forget about man and --help.
Built to leverage local LLMs, reduce cloud provider expenses, and eliminate friction when working in a terminal.
With howto you can save successful prompts and responses as aliases to reuse them in future, avoiding inference and latency.
howto config <host:port>: configure the API providerhowto list: list models from the providerhowto set <model>: choose a modelhowto mode <ask|yolo>: choose confirmation behaviorhowto alias <name> <prompt>: store reusable aliaseshowto raw <prompt>: print raw provider outputhowto repl: interactive prompt loophowto fix [history-file]: ask the provider for a command to fix terminal historyhowto save <prompt>: persist a prompt response in the cache
Configuration and cache are stored in ~/.howto/config.json and ~/.howto/cache.json.
The simplest way to make howto available everywhere is to install the package in editable mode:
cd /home/nonar/Software/howto
python3 -m pip install --user -e .This installs the howto command from pyproject.toml into your user Python bin directory.
If ~/.local/bin is not already on your PATH, add this to your shell profile:
export PATH="$HOME/.local/bin:$PATH"On Debian/Ubuntu systems, python3 -m pip install --user -e . may fail with an "externally-managed-environment" error. In that case, use a virtual environment instead:
cd /home/nonar/Software/howto
python3 -m venv ~/.venvs/howto
source ~/.venvs/howto/bin/activate
pip install -e .Or, if you have pipx installed, use:
cd /home/nonar/Software/howto
pipx install --editable .To verify the project and confirm changes, use the built-in unittest suite:
cd /home/nonar/Software/howto
python3 -m unittest discover -s tests -vThis will run all tests in tests/test_howto.py and report pass/fail status.