From 9c103e1e8c5546ab78e00e7c34c6716d6f94399a Mon Sep 17 00:00:00 2001 From: Jayesh Betala Date: Thu, 14 May 2026 17:29:14 +0530 Subject: [PATCH] fix(setup): clarify Hermes host banner --- README.md | 2 +- setup | 9 +++++++-- test/gen-skill-docs.test.ts | 13 +++++++++++++ 3 files changed, 21 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 87f2d5ddd6..cf8af9c023 100644 --- a/README.md +++ b/README.md @@ -119,7 +119,7 @@ Or target a specific agent with `./setup --host `: | Factory Droid | `--host factory` | `~/.factory/skills/gstack-*/` | | Slate | `--host slate` | `~/.slate/skills/gstack-*/` | | Kiro | `--host kiro` | `~/.kiro/skills/gstack-*/` | -| Hermes | `--host hermes` | `~/.hermes/skills/gstack-*/` | +| Hermes | `--host hermes` | Prints integration instructions; `bun run gen:skill-docs --host hermes` writes `.hermes/skills/` | | GBrain (mod) | `--host gbrain` | `~/.gbrain/skills/gstack-*/` | **Want to add support for another agent?** See [docs/ADDING_A_HOST.md](docs/ADDING_A_HOST.md). diff --git a/setup b/setup index f812511e4d..077dbc96f2 100755 --- a/setup +++ b/setup @@ -71,12 +71,17 @@ case "$HOST" in exit 0 ;; hermes) echo "" - echo "Hermes integration uses the same model as OpenClaw — Hermes spawns" + echo "Hermes integration uses the same model as OpenClaw: Hermes spawns" echo "Claude Code sessions, and gstack provides methodology artifacts." echo "" + echo "./setup --host hermes does not install files into Hermes today." + echo "It only prints integration instructions." + echo "" echo "To integrate gstack with Hermes:" echo " 1. Tell your Hermes agent: 'install gstack for hermes'" - echo " 2. Or generate artifacts: bun run gen:skill-docs --host hermes" + echo " 2. Or generate reviewable artifacts locally:" + echo " bun run gen:skill-docs --host hermes" + echo " This writes .hermes/skills/ in this checkout." echo "" exit 0 ;; gbrain) diff --git a/test/gen-skill-docs.test.ts b/test/gen-skill-docs.test.ts index 4bf8abeeeb..598a5cb503 100644 --- a/test/gen-skill-docs.test.ts +++ b/test/gen-skill-docs.test.ts @@ -2275,6 +2275,19 @@ describe('setup script validation', () => { expect(setupContent).toContain('claude|codex|kiro|factory|opencode|auto'); }); + test('Hermes host banner is explicit that setup is not an installer', () => { + const hermesStart = setupContent.indexOf(' hermes)'); + const hermesEnd = setupContent.indexOf(' gbrain)', hermesStart); + expect(hermesStart).toBeGreaterThan(-1); + expect(hermesEnd).toBeGreaterThan(hermesStart); + + const hermesBlock = setupContent.slice(hermesStart, hermesEnd); + expect(hermesBlock).toContain('./setup --host hermes does not install files into Hermes today.'); + expect(hermesBlock).toContain('It only prints integration instructions.'); + expect(hermesBlock).toContain('bun run gen:skill-docs --host hermes'); + expect(hermesBlock).toContain('This writes .hermes/skills/ in this checkout.'); + }); + test('auto mode detects claude, codex, kiro, and opencode binaries', () => { expect(setupContent).toContain('command -v claude'); expect(setupContent).toContain('command -v codex');