Skip to main content

A secure, zero-bloat CLI companion that turns natural language and error logs into executable commands.

Project description

hey-cli 🤖

A zero-bloat, privacy-first, locally-hosted CLI agent powered by Ollama.

Python Version License Ollama Local

hey isn't just an LLM wrapper. It's a context-aware system agent designed to bridge the gap between human language and POSIX shell utilities natively on your host machine.

Ask it to parse your error logs, debug Docker, clear DNS caches, or execute complex file maneuvers—all while executing safely behind a dynamic zero-trust governance matrix.

🚀 Why hey-cli over Copilot/ChatGPT?

  1. Total Privacy: Your code and system logs never leave your physical CPU. All context gathering and reasoning is done locally via Ollama.
  2. True Cross-Platform Skills: Under the hood, hey-cli's "Skills Engine" detects if you're on macOS (BSD), Ubuntu (GNU), Windows (PowerShell), or Arch Linux, and actively refuses to generate incompatible flags like xargs -d on Mac.
  3. Agentic Execution: Ask "is docker running?" and hey will silently execute docker info in the background, read the stdout, analyze it, and return a plain English answer.
  4. Security Governance: Built-in AST-level parsing. Safe commands (like git status) auto-run. Destructive commands (rm -rf, -exec delete) require explicit typed confirmation.

📦 Installation

Prerequisite: You must have Python 3.9+ installed.

macOS & Linux

Paste this snippet into your terminal to auto-install pipx, ollama, pull the required language model, and build hey-cli natively.

curl -sL https://raw.githubusercontent.com/sinsniwal/hey-cli/main/install.sh | bash

Windows (PowerShell)

Paste this into your PowerShell terminal:

Invoke-WebRequest -Uri "https://raw.githubusercontent.com/sinsniwal/hey-cli/main/install.ps1" -OutFile "$env:TEMP\hey_install.ps1"; & "$env:TEMP\hey_install.ps1"

🛠️ Usage

Simply type hey followed by your objective.

Context-Gathering (Zero-Trust)

hey is my docker hub running?

hey will silently run systemctl is-active docker or docker info, see that it failed to connect to the socket, and explain the situation.

Execution (Governance Protected)

hey forcefully delete all .pyc files

hey parses the generated find . -name "*.pyc" -exec rm -f {} + command, detects rm and -exec triggers, and pauses execution until you explicitly type rm to authorize.

Debugging Logs

npm run build 2>&1 | hey what is causing this webpack error?

🛡️ Governance Matrix

Safety is a first-class citizen. hey-cli maintains a local governance database (~/.hey-rules.json):

  • Never List: Things like rm -rf / and mkfs are permanently blocked at the compiler level.
  • Explicit Confirm: High-risk ops (truncate, drop, rm) require typing exact keyword verification.
  • Y/N Confirm: Moderate risk ops requiring a quick y.
  • Allowed List: Safe diagnostics like cat, ls, grep auto-run natively.

🤝 Adding OS Skills

Is hey generating incorrect shell semantics for your niche operating system?

You can make it permanently smarter without touching code! Simply open hey_cli/skills/ and create a markdown file for your OS containing explicit English instructions (e.g. "Do not use apt on Alpine, use apk add"). The engine dynamically parses .md rulesites at runtime. Pull requests are heavily welcomed!

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

hey_cli_python-1.0.3.tar.gz (15.2 kB view details)

Uploaded Source

Built Distribution

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

hey_cli_python-1.0.3-py3-none-any.whl (15.1 kB view details)

Uploaded Python 3

File details

Details for the file hey_cli_python-1.0.3.tar.gz.

File metadata

  • Download URL: hey_cli_python-1.0.3.tar.gz
  • Upload date:
  • Size: 15.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for hey_cli_python-1.0.3.tar.gz
Algorithm Hash digest
SHA256 4c3378038e0f8811f5becbfb8c01f03fb95e5318afde677cade5ec9065dcb66a
MD5 b76adb8bb7a5fc49350cb4cc72c1f125
BLAKE2b-256 aaf747b077fc07daaeb690cea855bf05d0e7ae390fc197f72748100d100d39fc

See more details on using hashes here.

File details

Details for the file hey_cli_python-1.0.3-py3-none-any.whl.

File metadata

  • Download URL: hey_cli_python-1.0.3-py3-none-any.whl
  • Upload date:
  • Size: 15.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for hey_cli_python-1.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 a94b6bbb0d8cb6d7d71c9d46aba78e2138176449a79869497eb7da2e5d36a2a8
MD5 df2d7541530d39e97db8c6ab50384579
BLAKE2b-256 e9ccb72ecfda9a5e199ddc96fba1d665ce5c5fb3d58d123468e9715bc93a46af

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