diff --git a/website/docs/developer-guide/contributing.md b/website/docs/developer-guide/contributing.md index 3df072ca09..c1a6165912 100644 --- a/website/docs/developer-guide/contributing.md +++ b/website/docs/developer-guide/contributing.md @@ -13,7 +13,7 @@ Thank you for contributing to Hermes Agent! This guide covers setting up your de We value contributions in this order: 1. **Bug fixes** — crashes, incorrect behavior, data loss -2. **Cross-platform compatibility** — Windows, macOS, different Linux distros +2. **Cross-platform compatibility** — macOS, different Linux distros, WSL2 3. **Security hardening** — shell injection, prompt injection, path traversal 4. **Performance and robustness** — retry logic, error handling, graceful degradation 5. **New skills** — broadly useful ones (see [Creating Skills](creating-skills.md)) @@ -88,7 +88,7 @@ pytest tests/ -v ## Cross-Platform Compatibility -Hermes runs on Linux, macOS, and Windows. Critical rules: +Hermes officially supports Linux, macOS, and WSL2. Native Windows is **not supported**, but the codebase includes some defensive coding patterns to avoid hard crashes in edge cases. Key rules: ### 1. `termios` and `fcntl` are Unix-only @@ -100,7 +100,7 @@ try: menu = TerminalMenu(options) idx = menu.show() except (ImportError, NotImplementedError): - # Fallback: numbered menu for Windows + # Fallback: numbered menu for i, opt in enumerate(options): print(f" {i+1}. {opt}") idx = int(input("Choice: ")) - 1 @@ -108,7 +108,7 @@ except (ImportError, NotImplementedError): ### 2. File encoding -Windows may save `.env` files in `cp1252`: +Some environments may save `.env` files in non-UTF-8 encodings: ```python try: @@ -119,7 +119,7 @@ except UnicodeDecodeError: ### 3. Process management -`os.setsid()`, `os.killpg()`, and signal handling differ on Windows: +`os.setsid()`, `os.killpg()`, and signal handling differ across platforms: ```python import platform @@ -131,10 +131,6 @@ if platform.system() != "Windows": Use `pathlib.Path` instead of string concatenation with `/`. -### 5. Shell commands in installers - -If you change `scripts/install.sh`, check if the equivalent change is needed in `scripts/install.ps1`. - ## Security Considerations Hermes has terminal access. Security matters. @@ -175,7 +171,7 @@ refactor/description # Code restructuring 1. **Run tests**: `pytest tests/ -v` 2. **Test manually**: Run `hermes` and exercise the code path you changed -3. **Check cross-platform impact**: Consider Windows and macOS +3. **Check cross-platform impact**: Consider macOS and different Linux distros 4. **Keep PRs focused**: One logical change per PR ### PR Description diff --git a/website/docs/getting-started/installation.md b/website/docs/getting-started/installation.md index bcbd9b020f..3756e8eed4 100644 --- a/website/docs/getting-started/installation.md +++ b/website/docs/getting-started/installation.md @@ -1,7 +1,7 @@ --- sidebar_position: 1 title: "Installation" -description: "Install Hermes Agent on Linux, macOS, Windows, or WSL" +description: "Install Hermes Agent on Linux, macOS, or WSL2" --- # Installation @@ -10,26 +10,14 @@ Get Hermes Agent up and running in under two minutes with the one-line installer ## Quick Install -### Linux / macOS / WSL +### Linux / macOS / WSL2 ```bash curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash ``` -### Windows (PowerShell) - -```powershell -irm https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.ps1 | iex -``` - -### Windows (CMD) - -```cmd -curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.cmd -o install.cmd && install.cmd && del install.cmd -``` - -:::warning Windows Note -[Git for Windows](https://git-scm.com/download/win) is required. Hermes uses Git Bash internally for shell commands. +:::warning Windows +Native Windows is **not supported**. Please install [WSL2](https://learn.microsoft.com/en-us/windows/wsl/install) and run Hermes Agent from there. The install command above works inside WSL2. ::: ### What the Installer Does @@ -49,7 +37,7 @@ The installer handles everything automatically: Reload your shell and start chatting: ```bash -source ~/.bashrc # or: source ~/.zshrc (Windows: restart your terminal) +source ~/.bashrc # or: source ~/.zshrc hermes setup # Configure API keys (if you skipped during install) hermes # Start chatting! ``` @@ -85,8 +73,8 @@ brew install git brew install ripgrep node ``` -**Windows (native):** -Hermes runs natively on Windows using [Git for Windows](https://git-scm.com/download/win) (which provides Git Bash for shell commands). Install Git for Windows first, then use the PowerShell or CMD quick-install command above. WSL also works — follow the Ubuntu instructions. +**Windows:** +Native Windows is not supported. Please install [WSL2](https://learn.microsoft.com/en-us/windows/wsl/install) and follow the Ubuntu/Debian instructions above. diff --git a/website/docs/getting-started/quickstart.md b/website/docs/getting-started/quickstart.md index 4dc10bc530..31836c6811 100644 --- a/website/docs/getting-started/quickstart.md +++ b/website/docs/getting-started/quickstart.md @@ -13,14 +13,13 @@ This guide walks you through installing Hermes Agent, setting up a provider, and Run the one-line installer: ```bash -# Linux / macOS / WSL +# Linux / macOS / WSL2 curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash ``` -```powershell -# Windows (PowerShell) -irm https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.ps1 | iex -``` +:::tip Windows Users +Install [WSL2](https://learn.microsoft.com/en-us/windows/wsl/install) first, then run the command above inside your WSL2 terminal. +::: After it finishes, reload your shell: diff --git a/website/docs/index.md b/website/docs/index.md index b259c2b4ca..3b0464d085 100644 --- a/website/docs/index.md +++ b/website/docs/index.md @@ -23,7 +23,7 @@ It's not a coding copilot tethered to an IDE or a chatbot wrapper around a singl | | | |---|---| -| 🚀 **[Installation](/docs/getting-started/installation)** | Install in 60 seconds on Linux, macOS, or Windows | +| 🚀 **[Installation](/docs/getting-started/installation)** | Install in 60 seconds on Linux, macOS, or WSL2 | | 📖 **[Quickstart Tutorial](/docs/getting-started/quickstart)** | Your first conversation and key features to try | | ⚙️ **[Configuration](/docs/user-guide/configuration)** | Config file, providers, models, and options | | 💬 **[Messaging Gateway](/docs/user-guide/messaging)** | Set up Telegram, Discord, Slack, or WhatsApp |