Skip to content

geoh/how-go

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

How-CLI

How-CLI

A Terminal-Based Assistant for Generating Shell Commands

How-CLI is a terminal-based assistant that generates precise shell commands for any task you ask. Powered by Google Gemini's generative AI, it provides context-aware, executable shell commands tailored to your current environment.


Features

  • Generate exact shell commands based on your current working directory, OS, and available tools.
  • Context-aware: considers files, git repositories, shell type, and installed tools.
  • Command history logging for easy reference.
  • Clipboard support: copies generated commands automatically.
  • Typewriter effect for visually appealing output (optional).
  • Configurable Google Gemini API key.
  • Handles API errors, content blocks, and timeouts gracefully.

⚠️ Disclaimer:

Yeah, I know... It's a Gemini wrapper.
I know it's not the next Warp AI terminal or some fancy LLM-based shell integration with auto-completion and context persistence...
I know it's "yet another CLI tool"
and yes, I'm painfully aware that wrapping an API and printing stuff in the terminal isn't groundbreaking computer science...
But here's the thing: I made How-CLI because it was fun and quick to build...
It's not meant to change the world. It's meant to make typing "how to do X in bash" a little more amusing..
Think of it as a weekend hack.

Installation

From Source

Requires Go 1.21 or later:

go install github.com/geoh/how/cmd/how@latest

Or clone and build locally:

git clone https://github.com/geoh/how.git
cd how
go build -o how ./cmd/how
# Move to your PATH, e.g.:
sudo mv how /usr/local/bin/

Demo

how.mp4

Quick Start

Open your terminal and try:

# Examples:
how to create a Python virtual environment
> python -m venv env

how to list all files modified in the last 7 days
> find . -type f -mtime -7

# Show your previous questions and commands
how --history

# Set or update your Google Gemini API key
how --api-key YOUR_GEMINI_API_KEY_HERE

Options

--silent : Suppress spinner and typewriter effect.

--type : Show output with typewriter effect.

--history : Display previous questions and generated commands.

--help : Show help message and exit.

--api-key <API_KEY> : Set or replace your Google Gemini API key.

License

This project is licensed under the MIT License. See the LICENSE file for details.


Tribute

This Go implementation is a port of the original Python project How-CLI by Adem Kouki. All credit for the concept and design goes to the original author. This port aims to provide the same functionality with the performance and deployment benefits of Go.

About

Terminal assistant generating accurate shell commands (Go port)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Go 99.4%
  • Makefile 0.6%