redhat-et / redhat-et/ripwire

Help wanted — verify ripwire's Hermes integration on a real Hermes

Open
#69 0 comments 0 reactions 0 assignees View on GitHub
help wanted
Dominant language
C++
Stars
2.1k
Forks
125
Avg merge
5h 28m
Merged PRs (30d)
163

Description

Hermes support is in flight (#51 by @AnkitArya, plus the merged Hermes-format skill from #46 by
@ashutoshsinghpr7). **Nobody maintaining this repo runs Hermes**, so what we ship for it is verified
against documentation and source-reading, not against a running agent.

If you have Hermes:

```bash
bash scripts/verify-agent-integration.sh hermes
```

Phase 1 runs the mechanical half inside a throwaway `HOME` — nothing touches your real config. Phase 2
prints two prompts to paste into Hermes and a markdown block to paste back. **A FAIL is the useful
result.**

## Two claims that are actively disputed, and one that is not

**Disputed — a review of the Hermes CLI source contradicts #51 as written, and we cannot settle it:**

1. **MCP registration.** #51 emits `hermes mcp add ripwire -- --mcp`. Reading the CLI, `mcp add`
appears to take `--command` plus `--args` with `nargs=argparse.REMAINDER` ("must be the last option"),
which would make a bare `--` end option parsing and strand `` as an unrecognised positional. If
that reading is right the correct form is `hermes mcp add ripwire --command --args --mcp`.
**Which one actually registers a working server?**
2. **Hook slot.** #51 refuses `--hook` for Hermes on the grounds that it has no Claude/Codex-style
PreToolUse slot. A review found `config.yaml` supporting `hooks: pre_tool_call:` with a matcher and a
command, JSON on stdin carrying `tool_name`/`tool_input`/`cwd`/`session_id`, and `{"decision":"block"}`
or exit 2 to block. If that is current, Hermes DOES have a slot and what is missing is our port —
`hooks/ripwire-nudge.sh` switches on Claude's tool names. The honest refusal message would then be "we
have not ported the hook yet", not "there is no slot".

**Not disputed, but unrun:** `AGENTS.md` as the context file, `${HERMES_HOME:-~/.hermes}/skills` as the
skills root, and that Hermes has a `terminal` tool and should therefore be CLI-first like Claude, Codex,
opencode and openclaw.

## A seam between the two Hermes PRs, if you want the harder question

#46 (merged) ships a Hermes-format skill at `skills/hermes//SKILL.md`. #51's `--hermes` installs
`skills/ripwire-*`, and that glob does not match `skills/hermes/`. So once both land, `--hermes` deploys
the Claude/Codex-format skills into a Hermes profile while the skill purpose-built **for** Hermes still
needs a manual `cp`. Should `--hermes` prefer `skills/hermes/*` and fall back to the flat set? That
depends on whether Hermes tolerates both formats in one directory — which we cannot test.

Contributor guide

Open the contributing guide

Research direction

Start with scripts/verify-agent-integration.sh hermes and run both phases using a real Hermes installation. Compare the observed MCP registration, hook behavior, and skill deployment with the claims in #51 and the Hermes-format skill from #46. Done means documenting reproducible results for each disputed point and the skills-directory behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
bash
Domain
cli, devtools, testing-qa
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.