Skip to main content

JHA - Just Help Assistant. LLM-powered CLI command discovery.

Project description

JHA - Just Help Assistant

If you prefer working in the terminal but sometimes fall short on remembering commands, this CLI tool can help. It’s also useful for anyone still getting comfortable with the command line.

It uses OpenAI models to interpret natural-language queries and suggest relevant shell commands.

Features

  • Query for suitable commands using natural language
  • Support for multiple shells (bash, zsh, cmd, PowerShell)
  • Get explanations for commands
  • Command history tracking for quick re-execution and recall
  • Option to jump to the last command from history
  • Simple config commands to set OPENAI_KEY, MODEL, and SHELL
  • Persistent configuration storage
  • Searched command stored in clipboard for quick execution

Installation

Prerequisites

  • Python 3.8 or higher
  • pip package manager

Install from PyPI

pip install jha-cli

Alternative Installation (Windows)

pip install pipx
python -m pipx ensurepath
# Restart command prompt
pipx install jha-cli

Usage

Check Installation

jha
jha version
jha --help

Initial Setup

# Set your OpenAI API key
jha config set OPENAI_KEY=sk-your-api-key-here

# Set preferred model (optional)
jha config set MODEL=gpt-4o-mini

# Set your shell (optional)
jha config set SHELL=bash

Basic Commands

# Generate a command from natural language
jha "Move a folder with all its children to another location"

# Explain what a command does
jha explain "mv source_folder/ destination_folder/"

# Get explanation for the last generated command
jhax

# View command history
jha history

# Show the last query and command
jha last

# Check version
jha version

Configuration

The configuration file is stored at ~/.jha/config.json and all historical command stored at ~/.jha/history.json

Development Setup

  1. Clone/Download the project

  2. Create virtual environment:

python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate
  1. Install dependencies:
pip install -r requirements.txt
  1. Install as CLI command:
pip install -e .

Architecture

The project uses the following key dependencies:

  • Typer: CLI framework for command parsing and routing
  • OpenAI Python SDK: Integration with OpenAI's API
  • Click & Rich: Terminal formatting and enhanced output
  • Pydantic: Data validation and settings management

Project Structure

jha-cli/
├── src/
│   ├── __init__.py
│   ├── __main__.py           # Entry point
│   ├── cli.py                # Main CLI commands
│   ├── config.py             # Configuration management
│   ├── llm.py                # LLM integration
│   ├── history.py            # Command history tracking
│   └── utils.py              # Utility functions
├── pyproject.toml            # Project configuration
├── requirements.txt          # Dependencies
└── README.md

Contributing

Contributions are welcome! Please feel free to submit issues and pull requests on the GitHub repository.

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

jha_cli-1.0.4.tar.gz (9.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

jha_cli-1.0.4-py3-none-any.whl (10.6 kB view details)

Uploaded Python 3

File details

Details for the file jha_cli-1.0.4.tar.gz.

File metadata

  • Download URL: jha_cli-1.0.4.tar.gz
  • Upload date:
  • Size: 9.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for jha_cli-1.0.4.tar.gz
Algorithm Hash digest
SHA256 fde6f614e955cf739f8763dcf9ba4e518934e9ed4581a45179c693f193c11745
MD5 629ec12d55c6adf92d846769c7fe052a
BLAKE2b-256 09cbf9dc4089869eb4a21419ccf7dd0dc3ce28eb58f5363e6a26a14e9207f079

See more details on using hashes here.

File details

Details for the file jha_cli-1.0.4-py3-none-any.whl.

File metadata

  • Download URL: jha_cli-1.0.4-py3-none-any.whl
  • Upload date:
  • Size: 10.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for jha_cli-1.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 2a4c5312d765116fc98316394f44f00f551c7300c6fd84ed3fb6dace69cbcb4c
MD5 95189bf4cce15ec4b2bbdafac313359f
BLAKE2b-256 f1ecd0e507139e4f889f74e8a969c8105de8dde4104a64f2c9162a13229bf819

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page