Repository navigation
Muster 0.11.0
New
- A message for you raises a notification. An agent's post to
@human, or an unaddressed post
in a group whose policy rings you, raises a banner naming the group and who wrote; chatter
between agents raises nothing. Choosing it, orcmd+shift+awhen it is the most urgent thing
asking, opens the group's transcript: a tab runningmuster msg log --group G --follow, or the
one already running it. Going there counts as reading the group, and the banner comes down.
Messages posted while Muster is closed wait, and notify when a window opens.[notifications] messages = falsetakes the banner away. muster msg log --followkeeps printing a group's messages as they arrive, until
interrupted, and with--jsonprints one line per message.- Groups can have a policy.
muster msg group new G --policy Fmakes a group whose policy, a
TOML file, says whom an unaddressed post wakes, whom each author may address, and who may change
the group.group setreplaces it but leaves a pause alone,group addandgroup remove
change the members,groups --jsonshows each group's, and a refusal says what the policy
allows. Every change is a line in the group's log. A group with no policy lets anyone do
anything, as every group did before. muster msg pause Gholds a group's wakes without losing a message: its posts wake nobody
but you untilmuster msg resume G, which wakes each member once for what it has unread.- A Claude Code session can fetch its own messages with hooks instead of having the wake typed
into its pane.extras/claude-code/messaging-hooks.jsonreads any new message after each tool
call and, when a turn ends, waits for the next wake that is due. Merge it into the session's
settings, or pass it with--settings. A session whose turn ends without its Stop hook, at an
API error or Esc, is rung for what it has unread, as any agent in a pane is. - A council skill,
extras/skill/council/, for several agents and you working one question
together overmuster msg, withdirected.tomlandroundtable.tomlto convene one with from
your own shell. - Agents on your laptop and on a devenv share groups of messages. While a window is attached to
both machines,muster msg join --group reviewon the devenv joins thereviewmade on the
laptop, a post on either wakes whoever it is for on the other, and the guard against posting
unread holds across the two. Each machine names the other's agents with that machine's name, as
critic@devenv. The devenv's name for the laptop is chosen when they first link and kept from
then on: on a Mac, the computer's name from Sharing settings, which a new network does not
change. A group's policy holds for posts from either machine, andgroup remove review critic@devenvremoves a member on the other machine.muster docs msghas the rest. - A group kept on the other machine says when it cannot be sure. With no window attached to
both, a post, join or leave for the other machine's group fails at once, naming the machine, and
groups kept on each machine work as ever. A post, join or leave the other machine took but never
answered exits 4,unanswered, and says it may have landed:muster msg logshows whether.
After a daemon restarts,readandloganswer for a group kept elsewhere, saying they may be
behind, until the link returns, andlog --followwaits for it. A post here for a member on a
machine that cannot be reached is delivered when the link returns, and exits 0. While a machine
linked to earlier is down,joinwith a bare name is refused,unchecked, rather than making a
group here that hides the one there. - There is one of you, on the laptop. A devenv post meant for you notifies through the
laptop's window, and an agent on the devenv that posts to@humanreaches you in a group you
have joined. Your own shell on the devenv is you as well: from it you can post in and change a
group kept there that you are in, and anything else is refused, naming the laptop to run it
on.
Behaves differently
- The new verbs need the new daemon. Between updating Muster and the app's next start, the
0.10.1 daemon is still running.muster msgrefuseslog --follow,wait --due,join --pull
and the group verbs against it and says to update Muster, rather than sending requests that
daemon would misread. - The guard never holds your own post. An agent is refused a post while it has unread
messages in the group; you are not, since you read the transcript as it arrives.
Fixed
- Panes made before Muster was quit and opened again drive the new window. Their
muster
said the window had quit; it now reaches whichever window holds the pane, on the laptop and on
a devenv. On a devenv where you run two installs of Muster, a pane made by 0.10.1 may reach the
other install's window.
Not there yet
- A post
--tosomeone on another machine, you included, needs a group you have both joined. - A group whose policy names who may join it cannot yet be joined from another machine.
- Messages name you
@human; a display name of your own is not built.
Apple Silicon, macOS 14 or newer. Notarized and stapled.
brew install amterp/tap/muster
sha256 604eedee5c0554ce85fb252bbdd0fb879acfdc4899e048e071e50bbc5af64514
Full Changelog: v0.10.1...v0.11.0