Repository navigation
Name every agent herdr detects, count them in their spaces, and write down how to add one - #180
Merged
Merged
Conversation
9 of 10 tasks
cobanov
approved these changes
Oct 20, 2026
cobanov
left a comment
Owner
There was a problem hiding this comment.
Looks good: every agent without a reader stays a terminal row, and New chat still offers only the six it can read. It goes in with the stack once #174 and #177 are ready. Small follow-up: once #181 is in, agent_info in scripts/e2e-live.sh is a third list of agents, so docs/adding-an-agent.md should name it.
The table knew 7 of the 22 agents herdr 0.9.5 detects. A pane of any other showed herdr's id: "Terminal in docs, opencode", or "qodercli". Each now has an entry with its name and, where herdr has one, its integration. They have no reader, so each stays a terminal row; the integrations of agents the app cannot read are still left out of the banner. Letta's entry gains herdr's experimental `letta` integration, and Mastra Code, which herdr knows only from its integration, gets an entry too. agentTable.test.ts checks the table against what herdr 0.9.5 answers (`server.agent_manifests` and `herdr integration status`), kept in a fixture: a herdr that adds an agent fails it once the fixture is updated. 28 of its 40 cases fail without the new entries. regression/list-modes now expects the Demo's opencode row to say "OpenCode" (HC-124).
Grok and Antigravity each touched a dozen places: the table, a reader, the store's lookup, the tool names, the prompt parser, the slash catalogue, the watcher, New chat, the Demo, a UI flow and the docs. CLAUDE.md named a few of them. The guide lists all of them in order, with how to find herdr's id and integration for an agent and how to capture real logs and screens for the fixtures, so the next agent is one known path (HC-127). CLAUDE.md points to it. Following it for Antigravity found one place it missed: the Welcome screen still listed "Claude Code, Codex, Grok, Pi or OMP". It names Antigravity now, and regression/welcome checks it.
The Demo's docs space holds only OpenCode, and its card said "no agent · 1 tab · 1 pane" above a row reading "OpenCode · demo/docs". The line counted the agents the app reads and nothing else; one it cannot read is a terminal row (#172), and still an agent (HC-135). `spaceStats` counts both, and what each is doing from its pane's status, so a waiting OpenCode reads "1 agent needs you". The panes fallback counts each pane once. rowText.test.ts covers alone, waiting and beside a Claude, and fails without the change; regression/space-layout finds the docs space by search and reads "1 agent" on it, in dark and light.
cobanov
force-pushed
the
remaining-gaps
branch
from
October 26, 2026 12:53
60f3e32 to
4ec79a1
Compare
cobanov
force-pushed
the
hc-124-agent-names
branch
from
October 26, 2026 12:53
03f34e5 to
365a285
Compare
Owner
|
Rebased onto the new #177; nothing else changed. tsc, lint and jest are green. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
herdr 0.9.5 detects 22 agents; the app's table named 7. A pane of any other showed herdr's id, so the Demo's opencode row read "Terminal in docs, opencode" and a Qoder pane "qodercli". This branch names every one, and writes down how an agent becomes a chat, one commit each. Agents the app cannot read stay terminal rows, as agreed on #172.
This branch sits on
remaining-gaps(#177); merge it after #177.Changes
Every agent herdr detects has a name (HC-124). Amp, Cline, Copilot, Cursor, Devin, Droid, Gemini, Hermes, Kilo, Kimi, Kiro, Maki, Muse, OpenCode, Qoder and Qwen Code get entries, each with herdr's integration name where herdr has one. Letta gains herdr's experimental
lettaintegration, and Mastra Code, which herdr knows only from its integration, gets an entry. None of them has a reader, so the banner still offers only the integrations of agents the app reads.agentTable.test.tschecks the table against what herdr 0.9.5 answers (server.agent_manifestsandherdr integration status), kept infixtures/herdr-agents.json. When herdr adds an agent, updating the fixture fails the test until the table names it. 28 of its 40 cases fail without the new entries.docs/adding-an-agent.md(HC-127). Grok and Antigravity each touched a dozen places, and CLAUDE.md named a few. The guide lists all of them in order (the table, the reader, the store's lookup, tool names, prompts, the slash catalogue, the watcher, New chat, the Demo, a UI flow, the docs), with how to find herdr's id and integration for an agent and how to capture real logs and screens for fixtures. CLAUDE.md points to it.regression/welcomechecks it.A space counts an agent the app cannot read (HC-135,
03f34e5). The Demo's docs space holds only OpenCode, and its card said "no agent" above its OpenCode row. The line now counts both kinds of agent, and what each is doing, so a waiting OpenCode reads "1 agent needs you".regression/space-layoutreads "1 agent" on the docs space.Test plan
npx tsc --noEmit: no errorsnpx expo lint: no errors, no warningsnpx jest: 2,105 passed, 14 skippedpython3 -m unittest discover -s scripts -p 'test_*.py': passesnpm run e2ein Dark and Light on the iPhone 17 Pro simulator (iOS 27): 52 of 52, on a Release build of this branch together with the live-run branch (built with Xcode 27.1 from a freshnpm ci). Screenshots opened in both modes.space-layoutrerun in both modes after03f34e5.Not in this PR
Readers for Cursor, Copilot, OpenCode and Qwen Code (HC-125): none of them is installed here, and a reader is written against real logs, never guessed.