Skip to content

feat(agents): add Hermes agent support#74

Open
zahariadaniel16 wants to merge 1 commit into
RealZST:mainfrom
zahariadaniel16:main
Open

feat(agents): add Hermes agent support#74
zahariadaniel16 wants to merge 1 commit into
RealZST:mainfrom
zahariadaniel16:main

Conversation

@zahariadaniel16
Copy link
Copy Markdown

Summary

  • Adds Hermes (by Nous Research, installed at ~/.hermes) as a fully supported ninth agent alongside Claude Code, Codex, Gemini CLI, Cursor, Antigravity, Copilot, Windsurf, and OpenCode.
  • Introduces Hermes-specific category-aware skill install — skills in Hermes are organized into named subdirectory categories (e.g. apple/, devops/, github/). All three install paths (local, git, marketplace) and the cross-agent deploy flow show a category picker when Hermes is the target.
  • Fixes stale detail panel paths after cross-agent install: new instances are detected and their content + skill locations are loaded without navigating away.

Changes

Rust (hk-core)

  • adapter/hermes.rs (new): HermesAdapter implementing AgentAdapter. Scans ~/.hermes/skills/{category}/ across all category dirs (write target: local/). Reads MCP servers from ~/.hermes/config.yaml (YAML, both URL-based and command-based). No hooks or user-level plugins. Surfaces SOUL.md, memories/, and config.yaml on the Agents page. Project marker: .hermes/skills/local.
  • McpFormat::HermesYaml + serde_yaml = "0.9": full deploy/remove/restore/read for Hermes's YAML config format in deployer.rs and kits/install_plan.rs.
  • service::install_to_agent: new hermes_category: Option<&str> param resolves the target dir to ~/.hermes/skills/{category}/ instead of the default local/.
  • list_hermes_categories command + web route: returns sorted subdirectory names from ~/.hermes/skills/ for the frontend picker.
  • install_from_local and install_from_marketplace in all command handlers (Tauri + web) accept hermes_category.

Frontend

  • Official Hermes SVG mascot with hover-float and click-spin animations.
  • Hermes added to AGENT_ORDER, AGENT_DISPLAY_NAMES, and onboarding scatter positions.
  • Category picker (pill row + "New" text input) wired into:
    • Install dialog (local + git install modes)
    • Marketplace agent install buttons
    • Extension detail panel cross-agent deploy
  • Immediate path refresh: a new useEffect on group?.instances.length loads content and skill locations for newly-added instances right after a cross-agent install.

Test plan

  • cargo test --workspace passes (507 tests)
  • npm test passes (223 tests)
  • Hermes appears in Agents list as detected with correct skill/MCP counts
  • Skills visible in Extensions tab filtered by hermes
  • MCP entry from ~/.hermes/config.yaml appears
  • Installing a skill via local path to Hermes shows category picker; skill lands in selected ~/.hermes/skills/{category}/
  • Marketplace Hermes install button shows category picker
  • Cross-agent deploy to Hermes from detail panel shows category picker
  • Paths section refreshes immediately after cross-agent install

Adds Hermes (by Nous Research) as a fully supported agent alongside the
existing 8. Hermes is detected at ~/.hermes and manages skills organized
into named category subdirectories (e.g. apple/, devops/, github/).

Rust (hk-core):
- New HermesAdapter: scans ~/.hermes/skills/{category}/ across all
  category dirs; global write target is ~/.hermes/skills/local by
  convention; MCP servers read from ~/.hermes/config.yaml (YAML format,
  both URL-based and command-based entries); no hook or plugin support.
- McpFormat::HermesYaml + serde_yaml dependency: full deploy/remove/
  restore/read support for Hermes's YAML config format.
- service::install_to_agent gains hermes_category: Option<&str> so
  cross-agent deploys can target any category directory, not just local.
- install_from_local and install_from_marketplace also accept
  hermes_category in all command handlers (Tauri + web).
- list_hermes_categories command/route exposes available category dirs.
- Project marker: .hermes/skills/local (HK-managed convention).

Frontend:
- Official Hermes SVG mascot with float/spin animations.
- Hermes added to AGENT_ORDER, display names, and onboarding scatter.
- Category picker (pill row + New input) in all three install paths:
  install dialog (local/git), marketplace agent buttons, and extension
  detail panel cross-agent deploy.
- Extension detail: new effect refreshes skill locations and loads
  content for newly-added instances immediately after cross-agent
  install, without navigating away.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant