From 9695a11cc4f3c218eb259bf002ce9b80560e2486 Mon Sep 17 00:00:00 2001 From: Luxferre Date: Sat, 21 Mar 2026 19:21:16 +0200 Subject: [PATCH] feat: display ASCII banner on TUI startup --- cmd/sidekick-tui/main.go | 8 +++++++- cmd/sidekick-tui/tui_test.go | 3 +++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/cmd/sidekick-tui/main.go b/cmd/sidekick-tui/main.go index 5f05d55..4a99718 100644 --- a/cmd/sidekick-tui/main.go +++ b/cmd/sidekick-tui/main.go @@ -39,6 +39,12 @@ var ( userStyle = lipgloss.NewStyle().Foreground(lipgloss.Color("6")).Bold(true) agentStyle = lipgloss.NewStyle().Foreground(lipgloss.Color("5")).Bold(true) sysStyle = lipgloss.NewStyle().Foreground(lipgloss.Color("8")).Italic(true) + + banner = ` _ __ __ _ __ + ___ (_) ___/ / ___ / /__ (_) ____ / /__ + (_-< / / / _ / / -_) / '_/ / / / __/ / '_/ +/___//_/ \_,_/ \__/ /_/\_\ /_/ \__/ /_/\_\ +----------------------------------------------` ) type model struct { @@ -106,7 +112,7 @@ func initialModel() model { textarea: ta, agent: agent, pool: pool, - history: []sidekick.Message{{Role: sidekick.MessageRoleSystem, Content: "Sidekick initialized. Type a message below."}}, + history: []sidekick.Message{{Role: sidekick.MessageRoleSystem, Content: banner + "\n\nSidekick initialized. Type a message below."}}, } } diff --git a/cmd/sidekick-tui/tui_test.go b/cmd/sidekick-tui/tui_test.go index a8df42b..202a387 100644 --- a/cmd/sidekick-tui/tui_test.go +++ b/cmd/sidekick-tui/tui_test.go @@ -27,6 +27,9 @@ func TestInitialModel(t *testing.T) { if len(m.history) != 1 { t.Errorf("expected 1 initial message in history, got %d", len(m.history)) } + if !strings.Contains(m.history[0].Content, "Sidekick initialized") { + t.Error("expected initial message content to contain 'Sidekick initialized'") + } } func TestModelUpdate(t *testing.T) {