Metadata-Version: 2.4
Name: hermes-installer
Version: 1.0.0
Summary: Terminal wrapper for Nous Research Hermes Agent installer
Author-email: Gerald Enrique Nelson Mc Kenzie <lordxmen2k@gmail.com>
License: Apache-2.0
Project-URL: Homepage, https://github.com/nousresearch/hermes-agent
Project-URL: Documentation, https://hermes-agent.nousresearch.com/docs
Project-URL: Repository, https://github.com/nousresearch/hermes-agent.git
Project-URL: Bug Tracker, https://github.com/nousresearch/hermes-agent/issues
Keywords: hermes,nous,research,agent,ai,installer
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: POSIX :: Linux
Classifier: Operating System :: MacOS :: MacOS X
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: System :: Installation/Setup
Classifier: Topic :: Terminals :: Terminal Emulators/X Terminals
Classifier: Environment :: Console
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: requests>=2.28.0
Provides-Extra: dev
Requires-Dist: pytest>=7.0; extra == "dev"
Requires-Dist: black>=22.0; extra == "dev"
Requires-Dist: flake8>=5.0; extra == "dev"
Requires-Dist: mypy>=0.991; extra == "dev"
Dynamic: license-file

# Hermes-Installer

[![PyPI version](https://img.shields.io/badge/pypi-v1.0.0-blue)](https://pypi.org/project/hermes-installer/)
[![Python 3.8+](https://img.shields.io/badge/python-3.8+-blue.svg)](https://www.python.org/downloads/)
[![License: Apache 2.0](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)

> **Terminal wrapper for Nous Research Hermes Agent installer**

`hermes-installer` downloads and runs the Hermes Agent bash installer directly in your terminal with full PTY support. Arrow keys, interactive prompts, and selections work natively.

## Features

- **Native Terminal PTY**: Runs directly in your terminal — no web interface needed
- **Full Interactive Support**: Arrow keys, dropdowns, checkboxes, password prompts all work
- **Cross-Platform**: Works on Windows (WSL/Git Bash), Linux, and macOS
- **Auto-Download**: Automatically downloads the latest Hermes installer from GitHub
- **Minimal Dependencies**: Only requires `requests`

## Installation

```bash
pip install hermes-installer
```

## Usage

```bash
# Run the installer
hermes-installer

# Or
python -m hermes_installer
```

The installer will:
1. Download Hermes installer from GitHub (cached for 1 hour)
2. Launch it in your terminal with full interactive support
3. Run the complete Hermes setup with all prompts

After installation, you can:
```bash
source ~/.bashrc  # reload shell (or: source ~/.zshrc)
hermes            # start chatting!
```

## Platform-Specific Notes

### Linux & macOS

Hermes installs to `~/.local/bin/hermes` by default.

**Running Hermes:**
```bash
# The installer should add hermes to your PATH
# You may need to restart your terminal or run:
source ~/.bashrc  # or ~/.zshrc for zsh

# Then use hermes
hermes
```

**If `hermes` command not found:**
```bash
# Add to PATH manually (add to your ~/.bashrc or ~/.zshrc)
export PATH="$HOME/.local/bin:$PATH"

# Or run with full path
~/.local/bin/hermes
```

### Windows

On Windows, Hermes is installed **inside** the Linux environment (WSL) or Git Bash, not in Windows itself.

#### Bash Selection Priority
1. **WSL2** (preferred) - if `wsl --version` succeeds
2. **Git Bash** (fallback) - if found in standard locations

#### Running Hermes from Windows

**From PowerShell/CMD:**
```powershell
# Use 'wsl' prefix to access the Linux-installed command
wsl hermes
```

**From WSL terminal:**
```bash
# Enter WSL first
wsl

# Then run directly
hermes
```

## Hermes Commands

After installation, Hermes provides these commands:

| Command | Description |
|---------|-------------|
| `hermes` | Interactive CLI — start a conversation |
| `hermes model` | Choose your LLM provider and model |
| `hermes tools` | Configure which tools are enabled |
| `hermes config set <key> <value>` | Set individual config values |
| `hermes gateway` | Start the messaging gateway (Telegram, Discord, etc.) |
| `hermes setup` | Run the full setup wizard |
| `hermes update` | Update to the latest version |
| `hermes doctor` | Diagnose any issues |

## Requirements

- **Python**: 3.8+
- **Windows**: WSL2 or Git Bash
- **Linux**: Any distribution with bash
- **macOS**: 10.14+ with bash or zsh
- **Git**: Required by the Hermes installer

## How It Works

```
┌─────────────┐     exec/spawn     ┌─────────────┐
│   Terminal  │ ◄────────────────► │   Hermes    │
│   (Your     │      Full PTY      │   Installer │
│   Shell)    │                    │             │
└─────────────┘                    └─────────────┘
```

The wrapper:
1. Downloads `install.sh` from the NousResearch/hermes-agent GitHub repo
2. Detects the best available shell:
   - **Linux/macOS**: Native bash/zsh
   - **Windows**: WSL → Git Bash
3. Executes the installer with your terminal's stdin/stdout
4. Full PTY support ensures interactive prompts work

## Development

```bash
# Clone repository
git clone https://github.com/nousresearch/hermes-agent.git
cd hermes-installer

# Install in editable mode
pip install -e .

# Run
python -m hermes_installer
```

## License

Apache 2.0 - See [LICENSE](LICENSE) file

---

Built by Nous Research. See the [Hermes Agent documentation](https://hermes-agent.nousresearch.com/docs) for more information.
