From f7c6d224c3df20023274f2bd823b0e9d68401d92 Mon Sep 17 00:00:00 2001 From: Francisco Fantl Date: Tue, 30 Jun 2026 18:20:23 +0000 Subject: [PATCH] fix: prevent subcommands from showing root-level commands in help output Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> --- cmd/templates.go | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/cmd/templates.go b/cmd/templates.go index 3a96b533..6fe0d68a 100644 --- a/cmd/templates.go +++ b/cmd/templates.go @@ -7,9 +7,10 @@ import ( ) func getUsageTemplate() string { - return `Usage: - {{.CommandPath}} [command] - + return `Usage:{{if .Runnable}} + {{.UseLine}}{{end}}{{if .HasAvailableSubCommands}} + {{.CommandPath}} [command]{{end}} +{{if not .HasParent}} Commands: {{rpad "setup" 29}} Create your first feature flag using a step-by-step guide {{rpad "config" 29}} View and modify specific configuration values @@ -29,7 +30,19 @@ Common resource commands: Flags: {{.LocalFlags.FlagUsages | trimTrailingWhitespaces}} -` +{{else}}{{if .HasAvailableSubCommands}}{{$cmds := .Commands}} + +Available Commands:{{range $cmds}}{{if (or .IsAvailableCommand (eq .Name "help"))}} + {{rpad .Name .NamePadding }} {{.Short}}{{end}}{{end}}{{end}}{{if .HasAvailableLocalFlags}} + +Flags: +{{.LocalFlags.FlagUsages | trimTrailingWhitespaces}}{{end}}{{if .HasInheritedFlags}} + +Global flags: +{{.InheritedFlags.FlagUsages | trimTrailingWhitespaces}}{{end}}{{if .HasAvailableSubCommands}} + +Use "{{.CommandPath}} [command] --help" for more information about a command.{{end}} +{{end}}` } func HasRequiredFlags(cmd *cobra.Command) bool {