docs: move Hermes overview out of agent context root

This commit is contained in:
Michael Lam committed 2026-05-19 23:55:58 -07:00
1 parent 9c983e693a
commit 471b75d762
4 files changed
+27 -3

No files matched your search

+3
View File
@@ -2,6 +2,9 @@
## [Unreleased] ## [Unreleased]
### Documentation
- **PR #2619** by @Michaelyklam (closes #2595) — Move the long human-facing Hermes comparison document from root `HERMES.md` to `docs/why-hermes.md` so Hermes Agent sessions in this repository load `AGENTS.md` as the project-specific assistant guidance. README links now point to the new docs path and a regression test prevents root `HERMES.md` / `.hermes.md` context files from shadowing `AGENTS.md` again.
## [v0.51.95] — 2026-05-20 — Release BS (stage-388 — 5-PR batch — live tool callback event dedup + browser-only dashboard links + messaging transcript merge alignment + Geist Contrast skin + SSE runtime diagnostics) ## [v0.51.95] — 2026-05-20 — Release BS (stage-388 — 5-PR batch — live tool callback event dedup + browser-only dashboard links + messaging transcript merge alignment + Geist Contrast skin + SSE runtime diagnostics)
+3 -3
View File
@@ -68,7 +68,7 @@ What makes it different from other agentic tools:
the results back into its own memory the results back into its own memory
- **Self-hosted** — your conversations, your memory, your hardware - **Self-hosted** — your conversations, your memory, your hardware
**vs. the field** *(landscape is actively shifting — see [HERMES.md](HERMES.md) for the full breakdown)*: **vs. the field** *(landscape is actively shifting — see [docs/why-hermes.md](docs/why-hermes.md) for the full breakdown)*:
| | OpenClaw | Claude Code | Codex CLI | OpenCode | Hermes | | | OpenClaw | Claude Code | Codex CLI | OpenCode | Hermes |
|---|---|---|---|---|---| |---|---|---|---|---|---|
@@ -89,7 +89,7 @@ with memory, cron, and messaging. The key differences: Hermes writes and saves i
automatically as a core behavior (OpenClaw's skill system centers on a community marketplace); automatically as a core behavior (OpenClaw's skill system centers on a community marketplace);
Hermes is more stable across updates (OpenClaw has documented release regressions and ClawHub Hermes is more stable across updates (OpenClaw has documented release regressions and ClawHub
has had security incidents involving malicious skills); and Hermes runs natively in the Python has had security incidents involving malicious skills); and Hermes runs natively in the Python
ecosystem. See [HERMES.md](HERMES.md) for the full side-by-side. ecosystem. See [docs/why-hermes.md](docs/why-hermes.md) for the full side-by-side.
--- ---
@@ -552,7 +552,7 @@ State lives outside the repo at `~/.hermes/webui/` by default
## Docs ## Docs
- `HERMES.md` -- why Hermes, mental model, and detailed comparison to Claude Code / Codex / OpenCode / Cursor - `docs/why-hermes.md` -- why Hermes, mental model, and detailed comparison to Claude Code / Codex / OpenCode / Cursor
- `ROADMAP.md` -- feature roadmap and sprint history - `ROADMAP.md` -- feature roadmap and sprint history
- `ARCHITECTURE.md` -- system design, all API endpoints, implementation notes - `ARCHITECTURE.md` -- system design, all API endpoints, implementation notes
- `TESTING.md` -- manual browser test plan and automated coverage reference - `TESTING.md` -- manual browser test plan and automated coverage reference
View File
File renamed without changes.
+21
View File
@@ -0,0 +1,21 @@
from pathlib import Path
def test_root_does_not_shadow_agents_md_with_hermes_context_file():
repo_root = Path(__file__).resolve().parents[1]
for name in ("HERMES.md", ".hermes.md"):
assert not (repo_root / name).exists(), (
f"{name} at the repository root is auto-loaded by Hermes Agent as "
"project context before AGENTS.md; long human-facing Hermes overview "
"docs belong under docs/."
)
def test_why_hermes_doc_remains_linked_from_readme():
repo_root = Path(__file__).resolve().parents[1]
readme = (repo_root / "README.md").read_text(encoding="utf-8")
assert (repo_root / "docs" / "why-hermes.md").exists()
assert "docs/why-hermes.md" in readme
assert "[HERMES.md](HERMES.md)" not in readme