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:
@@ -13,6 +13,7 @@ import (
|
|||||||
|
|
||||||
var beadCmd = &cobra.Command{
|
var beadCmd = &cobra.Command{
|
||||||
Use: "bead",
|
Use: "bead",
|
||||||
|
Aliases: []string{"bd"},
|
||||||
GroupID: GroupWork,
|
GroupID: GroupWork,
|
||||||
Short: "Bead management utilities",
|
Short: "Bead management utilities",
|
||||||
Long: `Utilities for managing beads across repositories.`,
|
Long: `Utilities for managing beads across repositories.`,
|
||||||
|
|||||||
@@ -16,6 +16,7 @@ import (
|
|||||||
|
|
||||||
var hookCmd = &cobra.Command{
|
var hookCmd = &cobra.Command{
|
||||||
Use: "hook [bead-id]",
|
Use: "hook [bead-id]",
|
||||||
|
Aliases: []string{"work"},
|
||||||
GroupID: GroupWork,
|
GroupID: GroupWork,
|
||||||
Short: "Show or attach work on your hook",
|
Short: "Show or attach work on your hook",
|
||||||
Long: `Show what's on your hook, or attach new work.
|
Long: `Show what's on your hook, or attach new work.
|
||||||
|
|||||||
@@ -205,6 +205,9 @@ func runMayorStatusLine(t *tmux.Tmux) error {
|
|||||||
AgentRefinery: {},
|
AgentRefinery: {},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Track deacon presence (just icon, no count)
|
||||||
|
hasDeacon := false
|
||||||
|
|
||||||
// Single pass: track rig status AND agent health
|
// Single pass: track rig status AND agent health
|
||||||
for _, s := range sessions {
|
for _, s := range sessions {
|
||||||
agent := categorizeSession(s)
|
agent := categorizeSession(s)
|
||||||
@@ -234,6 +237,11 @@ func runMayorStatusLine(t *tmux.Tmux) error {
|
|||||||
health.working++
|
health.working++
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Track deacon presence (just the icon, no count)
|
||||||
|
if agent.Type == AgentDeacon {
|
||||||
|
hasDeacon = true
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Get operational state for each rig
|
// Get operational state for each rig
|
||||||
@@ -252,7 +260,8 @@ func runMayorStatusLine(t *tmux.Tmux) error {
|
|||||||
// Add per-agent-type health in consistent order
|
// Add per-agent-type health in consistent order
|
||||||
// Format: "1/3 👁️" = 1 working out of 3 total
|
// Format: "1/3 👁️" = 1 working out of 3 total
|
||||||
// Only show agent types that have sessions
|
// 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}
|
agentOrder := []AgentType{AgentWitness, AgentRefinery}
|
||||||
var agentParts []string
|
var agentParts []string
|
||||||
for _, agentType := range agentOrder {
|
for _, agentType := range agentOrder {
|
||||||
@@ -267,6 +276,11 @@ func runMayorStatusLine(t *tmux.Tmux) error {
|
|||||||
parts = append(parts, strings.Join(agentParts, " "))
|
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
|
// Build rig status display with LED indicators
|
||||||
// 🟢 = both witness and refinery running (fully active)
|
// 🟢 = both witness and refinery running (fully active)
|
||||||
// 🟡 = one of witness/refinery running (partially active)
|
// 🟡 = one of witness/refinery running (partially active)
|
||||||
|
|||||||
Reference in New Issue
Block a user