Repository navigation
v0.3.0 — roles, and the queue's own words in every prompt
Two things an AGENT.md should never have had to carry.
A role, shared by every post that names it
An agent is one post — a role in one repo — so two devs on two projects meant
two copies of one method, drifting apart. role: names a file in the fleet's
roles/ dir, and a run is now assembled in three layers, widest first:
FLEET.md the whole fleet
roles/dev.md this role
agents/dev/AGENT.md this post
---
role: dev
model: opus
workdir: ~/Projects/myapp
---Any layer may be absent, a role file is plain markdown, and there is no
inheritance between roles — write roles/marketer.md and it works. A role:
naming a file that does not exist grounds that agent on purpose:
FLEET.md is optional because nobody named it, while a run assembled without
a third of its instructions looks exactly like one that had them.
herdr-fleet agent list names what failed and the rest of the fleet keeps
working.
The queue's own status words, in the prompt
Every persona retyped its project's vocabulary by hand, so renaming a column
left agents writing statuses their own CLI refuses. The fleet already owns
those words — the prompt now states them, for the queue the task came from:
work this fleet may pick up: ready-for-agent
a task that ended done: done
a run that failed: ready-for-human
Only the words the fleet writes itself. A board's triage, wontfix and
waiting-on-a-human columns are not named, for the same reason they are not in
the statuses: whitelist: the fleet never puts a task in them. A backend with
no status words at all is told so rather than handed Backlog.md's.
Two prompt lines were also false once a source could work a project's own
backlog — the task no longer lives "not in this repo", and a run may now end
without a verdict when it hands the task on.
Also
- The README documents running a post on another agent runtime (
pi,
opencode, and the twenty-odd kinds Herdr speaks), including the two traps:
model:is written through as--modelin that runtime's spelling, and
mcp_config:emits Claude Code's flag, which no other runtime has. herdr-fleet initscaffoldsroles/with a commented example.