@@ -11,6 +11,7 @@ import (
1111 "time"
1212
1313 "charm.land/lipgloss/v2"
14+ "github.com/entireio/cli/cmd/entire/cli/palette"
1415 "golang.org/x/term"
1516)
1617
@@ -63,16 +64,16 @@ func newActivityStyles(w io.Writer) activityStyles {
6364 if useColor {
6465 s .bold = lipgloss .NewStyle ().Bold (true )
6566 s .dim = lipgloss .NewStyle ().Faint (true )
66- s .label = lipgloss .NewStyle ().Foreground (lipgloss .Color ("8" )).Bold (true )
67+ s .label = lipgloss .NewStyle ().Foreground (lipgloss .Color (palette . Muted )).Bold (true )
6768 s .value = lipgloss .NewStyle ().Bold (true )
68- s .unit = lipgloss .NewStyle ().Foreground (lipgloss .Color ("8" ))
69- s .desc = lipgloss .NewStyle ().Foreground (lipgloss .Color ("8" ))
70- s .repoNm = lipgloss .NewStyle (). Foreground ( lipgloss . Color ( "7" ))
71- s .commitH = lipgloss .NewStyle ().Foreground (lipgloss .Color ("8" ))
69+ s .unit = lipgloss .NewStyle ().Foreground (lipgloss .Color (palette . Muted ))
70+ s .desc = lipgloss .NewStyle ().Foreground (lipgloss .Color (palette . Muted ))
71+ s .repoNm = lipgloss .NewStyle () // default fg: inverts with terminal theme
72+ s .commitH = lipgloss .NewStyle ().Foreground (lipgloss .Color (palette . Muted ))
7273 s .commitM = lipgloss .NewStyle ().Bold (true )
73- s .add = lipgloss .NewStyle ().Foreground (lipgloss .Color ("2" ))
74- s .del = lipgloss .NewStyle ().Foreground (lipgloss .Color ("1" ))
75- s .muted = lipgloss .NewStyle ().Foreground (lipgloss .Color ("8" ))
74+ s .add = lipgloss .NewStyle ().Foreground (lipgloss .Color (palette . Success ))
75+ s .del = lipgloss .NewStyle ().Foreground (lipgloss .Color (palette . Error ))
76+ s .muted = lipgloss .NewStyle ().Foreground (lipgloss .Color (palette . Muted ))
7677 }
7778
7879 return s
@@ -95,12 +96,17 @@ func (s activityStyles) renderAgent(agentID, text string) string {
9596
9697type agentDisplay struct {
9798 Label string
98- Color string // ANSI 256 color code
99+ Color string // agent brand color (hex); lipgloss resolves to the terminal's profile
99100 Char rune // block character for bar charts
100101}
101102
102- // Agent colors match the dark-mode CSS variables from entire.io (Tailwind 400-level).
103- // Lipgloss resolves hex to the best representation for the terminal's color profile.
103+ // Agent colors are the per-agent brand colors from entire.io (dark-mode CSS
104+ // variables, Tailwind 400-level). This is a deliberate exception to the CLI's
105+ // base16 palette: there are more agents than base16 has distinct hues, so
106+ // collapsing them onto ANSI slots makes neighboring agents indistinguishable
107+ // in bar charts and legends. We keep the hex values so each agent stays
108+ // recognizable; lipgloss resolves them to the best representation for the
109+ // terminal's color profile. The non-brand "unknown" fallback uses muted gray.
104110var agentDisplayMap = map [string ]agentDisplay {
105111 "claude" : {Label : "Claude Code" , Color : "#fb923c" , Char : '▓' }, // orange-400
106112 "gemini" : {Label : "Gemini" , Color : "#60a5fa" , Char : '▓' }, // blue-400
@@ -112,7 +118,7 @@ var agentDisplayMap = map[string]agentDisplay{
112118 "cursor" : {Label : "Cursor" , Color : "#38bdf8" , Char : '▓' }, // sky-400
113119 "droid" : {Label : "Droid" , Color : "#f472b6" , Char : '▓' }, // pink-400
114120 "kiro" : {Label : "Kiro" , Color : "#c084fc" , Char : '▓' }, // purple-400
115- "unknown" : {Label : "Unknown" , Color : "245" , Char : '░' },
121+ "unknown" : {Label : "Unknown" , Color : palette . Muted , Char : '░' },
116122}
117123
118124var agentOrder = []string {
0 commit comments