Metadata-Version: 2.4
Name: henchman-ai
Version: 0.1.4
Summary: A model-agnostic AI agent CLI - your AI henchman for the terminal
Project-URL: Homepage, https://github.com/MGPowerlytics/henchman-ai
Project-URL: Repository, https://github.com/MGPowerlytics/henchman-ai
Project-URL: Documentation, https://github.com/MGPowerlytics/henchman-ai#readme
Author-email: Matthew <matthew@example.com>
License-Expression: MIT
License-File: LICENSE
Keywords: agent,ai,anthropic,assistant,cli,deepseek,henchman,llm,openai,terminal
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Utilities
Classifier: Typing :: Typed
Requires-Python: >=3.10
Requires-Dist: aiohttp>=3.9
Requires-Dist: anthropic>=0.40
Requires-Dist: anyio>=4.0
Requires-Dist: click>=8.0
Requires-Dist: httpx>=0.27
Requires-Dist: mcp>=1.0
Requires-Dist: openai>=1.40
Requires-Dist: prompt-toolkit>=3.0
Requires-Dist: pydantic>=2.0
Requires-Dist: pyyaml>=6.0
Requires-Dist: rich>=13.0
Provides-Extra: dev
Requires-Dist: mypy>=1.10; extra == 'dev'
Requires-Dist: pytest-asyncio>=0.23; extra == 'dev'
Requires-Dist: pytest-cov>=4.0; extra == 'dev'
Requires-Dist: pytest>=8.0; extra == 'dev'
Requires-Dist: ruff>=0.4; extra == 'dev'
Requires-Dist: types-pyyaml>=6.0; extra == 'dev'
Description-Content-Type: text/markdown

# Henchman-AI

> A Model-Agnostic AI Agent CLI in Python

Henchman-AI is a terminal-based AI agent that supports multiple LLM providers (DeepSeek, OpenAI, Anthropic, Ollama) through a unified interface. Inspired by gemini-cli, built for extensibility.

## Features

- 🔄 **Model-Agnostic**: Support any LLM provider through a unified abstraction
- 🐍 **Pythonic**: Leverages Python's async ecosystem and rich libraries
- 🔌 **Extensible**: Plugin system for tools, providers, and commands
- 🚀 **Production-Ready**: Proper error handling, testing, and packaging

## Installation

```bash
pip install henchman-ai
```

Or install from source:

```bash
git clone https://github.com/matthew/henchman-ai.git
cd henchman-ai
pip install -e ".[dev]"
```

## Quick Start

```bash
# Set your API key
export DEEPSEEK_API_KEY="your-api-key"

# Start the CLI
henchman

# Or run with a prompt directly
henchman --prompt "Explain this code" < file.py
```

## Usage

```bash
# Show version
henchman --version

# Show help
henchman --help

# Interactive mode (default)
henchman

# Headless mode with prompt
henchman -p "Summarize README.md"
```

## Configuration

Henchman-AI uses hierarchical configuration:

1. Default settings
2. User settings: `~/.henchman/settings.yaml`
3. Workspace settings: `.henchman/settings.yaml`
4. Environment variables

Example `settings.yaml`:

```yaml
providers:
  default: deepseek
  deepseek:
    model: deepseek-chat

tools:
  auto_accept_read: true
  shell_timeout: 60
```

## Development

```bash
# Install dev dependencies
pip install -e ".[dev]"

# Run tests
pytest

# Linting
ruff check src/ tests/

# Type checking
mypy src/
```

## License

MIT License - see [LICENSE](LICENSE) for details.
