JHA - Just Help Assistant. LLM-powered CLI command discovery.
Project description
JHA - Just Help Assistant
For those - who still are not friend with CLI.
A powerful LLM-based CLI tool that helps you find and execute the right commands for your development workflows.
Features
✨ LLM-Powered Command Discovery
- Query for suitable commands using natural language
- Get explanations for complex commands
- Support for multiple shells (bash, zsh, cmd, powershell)
- Command history tracking for quick re-execution or recall
🔧 Configuration Management
- Simple config command to set OpenAI API key
- Choose your preferred LLM model
- Specify your shell
- Persistent configuration storage
📋 Usage Examples
# Check Installation
jha version
jha --help
# Setup your API key, MODEL & Shell
jha config set OPENAI_KEY=sk-xxx-yyy-zzz #Acquire & Set your OpenAI Key
jha config set MODEL=gpt-4o-mini # Set your preferred model
jha config set SHELL=bash # Set the bash you are working on
# Find a command
jha "Move a folder with all its children to another location"
# Get explanation for last command
jhax
# Get explanation for any command
jha explain "<command-goes-here>"
# See all historical commands
jha history
jha history clear
Installation
Prerequisites
- Python 3.8+
- pip or poetry
Development Setup
-
Clone/Download the project
-
Create virtual environment:
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
- Install dependencies:
pip install -r requirements.txt
- Install as CLI command:
pip install -e .
Configuration
Configuration is stored in ~/.jha/config.json
Architecture
- Typer: CLI framework for argument parsing and command routing
- OpenAI Python SDK: LLM integration
- Click: Terminal formatting and colors
- JSONSchema: Configuration 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
├── setup.py
├── requirements.txt
└── README.md
Contributing
Feel free to submit issues and enhancement requests!
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file jha_cli-1.0.1.tar.gz.
File metadata
- Download URL: jha_cli-1.0.1.tar.gz
- Upload date:
- Size: 8.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bd67060b753a2ebfbb75a756f7b3a39a82ada5bf0e27780b7c27718f85a69c9b
|
|
| MD5 |
ed932ddc6cd62979471cc0b0a70602ac
|
|
| BLAKE2b-256 |
87ef67308a19487214d72c4e057a915c6ed966580f9485794f9e0897a2f9e29d
|
File details
Details for the file jha_cli-1.0.1-py3-none-any.whl.
File metadata
- Download URL: jha_cli-1.0.1-py3-none-any.whl
- Upload date:
- Size: 10.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
de09c9fe17ea3e209b817a642a4889016dd9874a27ff82cdccc9be4a4af26526
|
|
| MD5 |
0effe16796a14a56a57920d95190c6e2
|
|
| BLAKE2b-256 |
0def8e3ca046eb4097da5e1040680d7bcfd98c44dba1ad8d30969711cccf1905
|