repowisenousresearch/hermes-agent

Architecture of nousresearch/hermes-agent

nousresearch/hermes-agent is 8,758 source files holding 100,728 symbols across 24 modules, written mainly in Python, TypeScript, JavaScript. The largest module is tests, with 3,164 files, and 236 files are entry points into the dependency graph.

How hermes-agent fits together

Input enters through the terminal interface started by hermes_cli/main.py, which is also a hotspot file in the hermes_cli package, or through the messaging gateway in gateway/run.py, which runs one process that connects the chat platforms. hermes_state.py is listed as a hotspot file and handles the agent's state. acp_adapter/server.py is an entry point for the ACP adapter that exposes the agent to other clients. The desktop app's Electron main process is in apps/desktop/electron/main.ts. The tests directory is the largest module by file count.

Largest modules

  • tests: 3,164 files and 599,459 lines of code
  • apps: 1,871 files and 308,259 lines of code
  • website: 740 files and 183,915 lines of code
  • optional-skills: 525 files and 97,368 lines of code
  • ui-tui: 473 files and 68,442 lines of code
  • skills: 438 files and 78,640 lines of code
  • plugins: 329 files and 110,780 lines of code
  • hermes_cli: 288 files and 182,995 lines of code

Languages

By file count: Python 4,367 files, TypeScript 2,339 files, JavaScript 166 files, Shell 43 files, Rust 10 files, C++ 3 files.

Documentation

Repowise documents hermes-agent in 9,727 pages generated from the source.

More on hermes-agent: summary and FAQ, codebase overview, code health.

Related guide: Best dependency graph tools for monorepos