From 4806ee7ef95f0f04079856f7753399b7b7aa6330 Mon Sep 17 00:00:00 2001 From: hachem Date: Sat, 29 Aug 2026 11:26:09 +0200 Subject: feat: recommended option filters --- internal/cli/cli.go | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) (limited to 'internal/cli') diff --git a/internal/cli/cli.go b/internal/cli/cli.go index 7e7705e..4f98b6d 100644 --- a/internal/cli/cli.go +++ b/internal/cli/cli.go @@ -11,6 +11,7 @@ import ( "github.com/charmbracelet/lipgloss" "github.com/hachem-wtf/benson/internal/config" + "github.com/hachem-wtf/benson/internal/setup" ) type command struct { @@ -42,10 +43,19 @@ type model struct { func Run(version string) error { cfg, err := config.Load() if err != nil { - if os.IsNotExist(err) { - return fmt.Errorf("no config found — run `benson setup` to create one") + if !os.IsNotExist(err) { + return fmt.Errorf("failed to load %s: %w", config.Path(), err) + } + + fmt.Println("No configuration found — let's set one up.") + if err := setup.Run(); err != nil { + return err + } + + cfg, err = config.Load() + if err != nil { + return fmt.Errorf("setup did not complete — run `benson setup` to configure") } - return fmt.Errorf("failed to load %s: %w", config.Path(), err) } _, err = tea.NewProgram(newModel(cfg, version)).Run() -- cgit v1.3