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.2.tar.gz (15.0 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.2-py3-none-any.whl (14.7 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for hey_cli_python-1.0.2.tar.gz
Algorithm Hash digest
SHA256 b6c62baa1c4abdd885c355becc13ea8170df92ff66cadd16350b2e86ebf54b56
MD5 b12f18c0f0775cbc16c73250a5934180
BLAKE2b-256 c1a3cf287a906e40dae62c170a6c6fa635f3c876225016bde4dd91ac0579c85d

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for hey_cli_python-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 ee61cdf3cdfa094bb86596a4a470ea3588e4840c67ab990d763ed7e1bd40f15f
MD5 0cce9edc5a332600c3552dd92f8148a8
BLAKE2b-256 f8cfe64a79fd2ef9457f9d8ca812f0a19676e5f9b42e50b95df8f45f8a07df21

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