Files
hermes-ui/AGENTS.md
T
toor 1e9ea89d86
Build / build (push) Canceled after 0s
NPM Lockfile Check / npm ci --ignore-scripts (push) Canceled after 0s
Playwright / e2e (push) Canceled after 0s
chore: bootstrap hermes-ui skeleton from 0.6.29 snapshot
Import the client, server, skills, tests, and build scripts as the starting
point for the rebuild, then trim the surfaces this project does not ship:
Electron desktop packaging, the marketing website, and the ESP32 firmware
tree. CI keeps the web build, e2e, lockfile, release, and Docker workflows.

Rename the package and CLI entry points to hermes-ui, drop the prepare hook so
npm ci no longer triggers a build, and drop the removed tsconfig and nodemon
references. Rewrite AGENTS.md, ARCHITECTURE.md, DEVELOPMENT.md, and the READMEs
so the documented package map and hard rules match this repository.

reference_code/ is ignored: it is a read-only snapshot, not an input to the build.
2026-10-16 10:34:35 +08:00

2.8 KiB

Agent Map

This file is a short map for coding agents. Keep detailed guidance in docs/ and keep this file small enough to fit into every task context.

First Reads

  • DEVELOPMENT.md - project commands, coding rules, test rules, and PR shape.
  • ARCHITECTURE.md - package boundaries, data ownership, and runtime flow.
  • docs/harness/README.md - how this repository is prepared for agent work.
  • docs/harness/validation.md - which checks to run for each change type.
  • docs/harness/worktree-runbook.md - isolated local dev and test setup.
  • docs/harness/pr-review.md - self-review checklist before pushing.

Common Commands

npm ci --ignore-scripts
npm run harness:check
npm run test
npm run test:e2e
npm run build

Use the smallest relevant check while iterating. Before a broad PR, run npm run harness:check, npm run test:coverage, npm run test:e2e, and npm run build.

Code Ownership Map

  • packages/client/src - Vue 3 client, stores, routes, i18n, API helpers.
  • packages/server/src - Koa API, Socket.IO, persistence, Hermes integration.
  • packages/skills - built-in skills injected into the Hermes skills directory.
  • packages/ekko-agent - legacy in-house agent runtime, slated for removal in Phase 003.
  • tests/client, tests/server, tests/shared - Vitest coverage.
  • tests/e2e - Playwright browser coverage with mocked backend services.
  • .github/workflows - CI, release, and Docker packaging automation.

Hard Rules

  • Keep routes thin: put request handling in controllers and reusable behavior in services.
  • Keep Web UI state under HERMES_WEB_UI_HOME or HERMES_WEBUI_STATE_DIR.
  • Keep Hermes Agent state separate from Web UI state.
  • Register local API routes before proxy catch-all routes.
  • Use structured APIs and argument arrays instead of shell string construction.
  • Add user-facing strings to every locale file.
  • Do not mix unrelated refactors into a bug fix.

Red Lines

  • packages/server/src/services/hermes/agent-bridge/python/ is read-only vendored code.
  • The /chat-run Socket.IO event contract must not change event names, field names, field types, or emission timing. Adding optional fields is allowed.
  • Hermes state.db is read-only. Node-side code must never open it; read session history through the bridge's getHistory/getOutput instead.
  • services/hermes/group-chat/, lib/context-compressor/, and services/hermes/context-engine/ are the chat chain: changes require a docs/chat-chain-changes/<date>-<slug>.md fragment.
  • packages/desktop, packages/website, and packages/ekko-agent are removed or being removed; do not reintroduce them.

When The Agent Gets Stuck

Improve the harness instead of repeating the same prompt. Add missing docs, tests, logs, scripts, or CI checks so the next agent can see and verify the constraint directly.