hermes-agent/website/docs/developer-guide
Teknium f6db1b27ba
feat: add profiles — run multiple isolated Hermes instances (#3681)
Each profile is a fully independent HERMES_HOME with its own config,
API keys, memory, sessions, skills, gateway, cron, and state.db.

Core module: hermes_cli/profiles.py (~900 lines)
  - Profile CRUD: create, delete, list, show, rename
  - Three clone levels: blank, --clone (config), --clone-all (everything)
  - Export/import: tar.gz archive for backup and migration
  - Wrapper alias scripts (~/.local/bin/<name>)
  - Collision detection for alias names
  - Sticky default via ~/.hermes/active_profile
  - Skill seeding via subprocess (handles module-level caching)
  - Auto-stop gateway on delete with disable-before-stop for services
  - Tab completion generation for bash and zsh

CLI integration (hermes_cli/main.py):
  - _apply_profile_override(): pre-import -p/--profile flag + sticky default
  - Full 'hermes profile' subcommand: list, use, create, delete, show,
    alias, rename, export, import
  - 'hermes completion bash/zsh' command
  - Multi-profile skill sync in hermes update

Display (cli.py, banner.py, gateway/run.py):
  - CLI prompt: 'coder ❯' when using a non-default profile
  - Banner shows profile name
  - Gateway startup log includes profile name

Gateway safety:
  - Token locks: Discord, Slack, WhatsApp, Signal (extends Telegram pattern)
  - Port conflict detection: API server, webhook adapter

Diagnostics (hermes_cli/doctor.py):
  - Profile health section: lists profiles, checks config, .env, aliases
  - Orphan alias detection: warns when wrapper points to deleted profile

Tests (tests/hermes_cli/test_profiles.py):
  - 71 automated tests covering: validation, CRUD, clone levels, rename,
    export/import, active profile, isolation, alias collision, completion
  - Full suite: 6760 passed, 0 new failures

Documentation:
  - website/docs/user-guide/profiles.md: full user guide (12 sections)
  - website/docs/reference/profile-commands.md: command reference (12 commands)
  - website/docs/reference/faq.md: 6 profile FAQ entries
  - website/sidebars.ts: navigation updated
2026-03-29 10:41:20 -07:00
..
_category_.json feat: add documentation website (Docusaurus) 2026-03-05 05:24:55 -08:00
acp-internals.md docs: add ACP and internal systems implementation guides 2026-03-14 00:29:48 -07:00
adding-providers.md docs: align venv path to match installer (venv/ not .venv/) 2026-03-19 18:16:26 -07:00
adding-tools.md feat: add documentation website (Docusaurus) 2026-03-05 05:24:55 -08:00
agent-loop.md docs: fix stale and incorrect documentation across 18 files 2026-03-24 07:53:07 -07:00
architecture.md docs: add provider contribution guide 2026-03-14 19:22:47 -07:00
context-compression-and-caching.md docs: add ACP and internal systems implementation guides 2026-03-14 00:29:48 -07:00
contributing.md feat: add profiles — run multiple isolated Hermes instances (#3681) 2026-03-29 10:41:20 -07:00
creating-skills.md docs: document credential file passthrough and env var forwarding for remote backends (#3677) 2026-03-29 00:16:34 -07:00
cron-internals.md feat: add multi-skill cron editing and docs 2026-03-14 19:18:10 -07:00
environments.md docs: stabilize website diagrams 2026-03-14 22:49:57 -07:00
extending-the-cli.md docs: replace ASCII diagrams with Mermaid/lists, add linting note 2026-03-21 17:58:30 -07:00
gateway-internals.md fix(honcho): isolate session routing for multi-user gateway (#1500) 2026-03-16 00:23:47 -07:00
prompt-assembly.md docs: fix stale and incorrect documentation across 18 files 2026-03-24 07:53:07 -07:00
provider-runtime.md docs: update all docs for /model command overhaul and custom provider support 2026-03-24 07:19:26 -07:00
session-storage.md docs: add ACP and internal systems implementation guides 2026-03-14 00:29:48 -07:00
tools-runtime.md docs: add ACP and internal systems implementation guides 2026-03-14 00:29:48 -07:00
trajectory-format.md docs: add ACP and internal systems implementation guides 2026-03-14 00:29:48 -07:00