feat: add aliases and deacon status line display

- Add 'bd' alias for 'gt bead' command
- Add 'work' alias for 'gt hook' command
- Show deacon icon in mayor status line when running

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
mayor
2026-01-21 22:40:10 -08:00
committed by beads/crew/emma
parent fb4c415127
commit dff6c3fb3c
3 changed files with 17 additions and 1 deletions

View File

@@ -13,6 +13,7 @@ import (
var beadCmd = &cobra.Command{
Use: "bead",
Aliases: []string{"bd"},
GroupID: GroupWork,
Short: "Bead management utilities",
Long: `Utilities for managing beads across repositories.`,

View File

@@ -16,6 +16,7 @@ import (
var hookCmd = &cobra.Command{
Use: "hook [bead-id]",
Aliases: []string{"work"},
GroupID: GroupWork,
Short: "Show or attach work on your hook",
Long: `Show what's on your hook, or attach new work.

View File

@@ -205,6 +205,9 @@ func runMayorStatusLine(t *tmux.Tmux) error {
AgentRefinery: {},
}
// Track deacon presence (just icon, no count)
hasDeacon := false
// Single pass: track rig status AND agent health
for _, s := range sessions {
agent := categorizeSession(s)
@@ -234,6 +237,11 @@ func runMayorStatusLine(t *tmux.Tmux) error {
health.working++
}
}
// Track deacon presence (just the icon, no count)
if agent.Type == AgentDeacon {
hasDeacon = true
}
}
// Get operational state for each rig
@@ -252,7 +260,8 @@ func runMayorStatusLine(t *tmux.Tmux) error {
// Add per-agent-type health in consistent order
// Format: "1/3 👁️" = 1 working out of 3 total
// Only show agent types that have sessions
// Note: Polecats and Deacon excluded - idle state display is misleading noise
// Note: Polecats excluded - idle state is misleading noise
// Deacon gets just an icon (no count) - shown separately below
agentOrder := []AgentType{AgentWitness, AgentRefinery}
var agentParts []string
for _, agentType := range agentOrder {
@@ -267,6 +276,11 @@ func runMayorStatusLine(t *tmux.Tmux) error {
parts = append(parts, strings.Join(agentParts, " "))
}
// Add deacon icon if running (just presence, no count)
if hasDeacon {
parts = append(parts, AgentTypeIcons[AgentDeacon])
}
// Build rig status display with LED indicators
// 🟢 = both witness and refinery running (fully active)
// 🟡 = one of witness/refinery running (partially active)