id = "gonzo" name = "Gonzo" homepage = "https://github.com/control-theory/gonzo" description = "The Go based TUI for log analysis." executables = ["gonzo"] [dotfiles] # https://github.com/control-theory/gonzo — the command reference and # configuration section document the persistent config at # $HOME/.config/gonzo/config.yml. paths = ["~/.config/gonzo/config.yml"] exclude = [] secret = [] side_effect = false [commands] format = 1 label = "Analyze logs" description = "Open the Gonzo log-analysis TUI on files, optionally following them, or on Kubernetes pods. Piped stdin, OTLP receiver and custom format files are not covered." quality = "ai-draft" parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = false, short_bundles = false } [[commands.source]] id = "readme" kind = "help" url = "https://raw.githubusercontent.com/control-theory/gonzo/HEAD/README.md" revision = "2026-10-27" evidence = """ -f, --file stringArray Files or file globs to read logs from (can specify multiple) --follow Follow log files like 'tail -f' (watch for new lines in real-time) --format string Log format to use (auto-detect if not specified). Can be: otlp, json, text, or a custom format name -u, --update-interval duration Dashboard update interval (default: 1s) -b, --log-buffer int Maximum log entries to keep (default: 1000) --ai-provider string AI provider to use: 'openai' (default), 'claude-code' --ai-model string AI model for analysis (auto-selects best available if not specified) -s, --skin string Color scheme/skin to use (default, or name of a skin file) --web-port int Port for the Dstl8 Lite web dashboard (default: 5718) --web-disabled Disable the web dashboard --k8s-enabled=true Enable Kubernetes log streaming mode --k8s-namespaces stringArray Kubernetes namespace(s) to watch (can specify multiple, default: all) --k8s-selector string Kubernetes label selector for filtering pods """ [[commands.field]] id = "files" label = "Log files or globs" type = "string" option = ["--file", "-f"] multiple = true sources = ["readme"] [[commands.field]] id = "follow" label = "Follow like tail -f" type = "boolean" option = ["--follow"] sources = ["readme"] [[commands.field]] id = "format" label = "Log format" description = "Auto-detected when unset." type = "string" option = ["--format"] suggestions = [{ value = "otlp", label = "OTLP" }, { value = "json", label = "JSON" }, { value = "text", label = "Text" }] sources = ["readme"] [[commands.field]] id = "log_buffer" label = "Max log entries" type = "integer" option = ["--log-buffer", "-b"] sources = ["readme"] [[commands.field]] id = "ai_provider" label = "AI provider" type = "enum" option = ["--ai-provider"] choices = [{ value = "openai", label = "OpenAI" }, { value = "claude-code", label = "Claude Code" }] sources = ["readme"] [[commands.field]] id = "ai_model" label = "AI model" type = "string" option = ["--ai-model"] sources = ["readme"] [[commands.field]] id = "skin" label = "Skin" type = "string" option = ["--skin", "-s"] sources = ["readme"] [[commands.field]] id = "web_disabled" label = "Disable web dashboard" type = "boolean" option = ["--web-disabled"] sources = ["readme"] [[commands.field]] id = "k8s_enabled" label = "Stream Kubernetes logs" type = "boolean" option = ["--k8s-enabled"] sources = ["readme"] [[commands.field]] id = "k8s_namespaces" label = "Kubernetes namespaces" type = "string" option = ["--k8s-namespaces"] multiple = true sources = ["readme"] [[commands.field]] id = "k8s_selector" label = "Pod label selector" type = "string" option = ["--k8s-selector"] sources = ["readme"] [[commands.task]] id = "follow_files" label = "Follow log files" fields = ["files", "follow"] required = ["files"] set = { follow = [true] } [[commands.task]] id = "k8s" label = "Stream Kubernetes logs" fields = ["k8s_enabled", "k8s_namespaces", "k8s_selector"] required = ["k8s_enabled"] set = { k8s_enabled = [true] } [[commands.group]] id = "basic" label = "Basic" fields = ["files", "follow", "format", "k8s_enabled", "k8s_namespaces", "k8s_selector"] [[commands.group]] id = "advanced" label = "Advanced" fields = ["log_buffer", "ai_provider", "ai_model", "skin", "web_disabled"]