From 4a7c3822956fee540cac2a51538c50bbb5007dac Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Wed, 1 Apr 2026 19:46:16 +0300 Subject: z9: update GUI Nano Banana guidance --- internal/cli/command.go | 4 ++-- internal/cli/command_test.go | 12 ++++++------ 2 files changed, 8 insertions(+), 8 deletions(-) (limited to 'internal/cli') diff --git a/internal/cli/command.go b/internal/cli/command.go index 46ab640..eac89c2 100644 --- a/internal/cli/command.go +++ b/internal/cli/command.go @@ -20,7 +20,7 @@ func CreateRootCommand(flags *Flags) *cobra.Command { Long: `totalrecall generates Anki flashcard materials from Bulgarian words. It creates audio pronunciation files using OpenAI TTS and downloads -representative images using the currently supported OpenAI image provider. +representative images. Launching with no arguments opens the interactive GUI, which uses Nano Banana for images by default. Use --image-api to override the image backend for explicit runs. Nano Banana model and text-model flags are exposed for upcoming runtime wiring. @@ -57,7 +57,7 @@ func setupFlags(cmd *cobra.Command, flags *Flags) { // Local flags cmd.Flags().StringVarP(&flags.OutputDir, "output", "o", defaultOutputDir, "Output directory") cmd.Flags().StringVarP(&flags.AudioFormat, "format", "f", flags.AudioFormat, "Audio format (wav or mp3)") - cmd.Flags().StringVar(&flags.ImageAPI, "image-api", flags.ImageAPI, "Image source (currently openai)") + cmd.Flags().StringVar(&flags.ImageAPI, "image-api", flags.ImageAPI, "Image source override (GUI no-arg path defaults to Nano Banana; explicit CLI default is OpenAI)") cmd.Flags().StringVar(&flags.BatchFile, "batch", "", "Process words from file (one per line)") cmd.Flags().BoolVar(&flags.SkipAudio, "skip-audio", false, "Skip audio generation") cmd.Flags().BoolVar(&flags.SkipImages, "skip-images", false, "Skip image download") diff --git a/internal/cli/command_test.go b/internal/cli/command_test.go index ff0570c..6c5273d 100644 --- a/internal/cli/command_test.go +++ b/internal/cli/command_test.go @@ -23,11 +23,11 @@ func TestCreateRootCommand(t *testing.T) { if !strings.Contains(cmd.Short, "Bulgarian Anki Flashcard Generator") { t.Errorf("Expected Short description to contain 'Bulgarian Anki Flashcard Generator'") } - if !strings.Contains(cmd.Long, "currently supported OpenAI image provider") { - t.Errorf("Expected Long description to describe the supported OpenAI image provider") + if !strings.Contains(cmd.Long, "uses Nano Banana for images by default") { + t.Errorf("Expected Long description to describe the Nano Banana GUI default") } - if strings.Contains(cmd.Long, "OpenAI or Gemini Nano Banana") { - t.Errorf("Long description should not imply Nano Banana runtime support") + if !strings.Contains(cmd.Long, "Use --image-api to override the image backend") { + t.Errorf("Expected Long description to explain the image backend override") } // Test that flags are set up @@ -109,8 +109,8 @@ func TestSetupFlags(t *testing.T) { if imageAPIFlag.DefValue != "openai" { t.Errorf("Expected default image-api to be openai, got %s", imageAPIFlag.DefValue) } - if imageAPIFlag.Usage != "Image source (currently openai)" { - t.Errorf("Expected image-api help to describe only the current OpenAI provider, got %q", imageAPIFlag.Usage) + if imageAPIFlag.Usage != "Image source override (GUI no-arg path defaults to Nano Banana; explicit CLI default is OpenAI)" { + t.Errorf("Expected image-api help to describe the GUI Nano Banana default and explicit CLI override, got %q", imageAPIFlag.Usage) } nanoBananaModelFlag := cmd.Flags().Lookup("nanobanana-model") -- cgit v1.2.3