Subcommands and Command Groups
Building multi-level CLI hierarchies
Hierarchical commands
Cobra supports arbitrary nesting: root → subcommand → sub-subcommand. Users call app resource action like kubectl get pods.
Adding subcommands
Build each subcommand as a separate cobra.Command and register it with its parent:
var userCmd = &cobra.Command{Use: "user", Short: "Manage users"}
var userCreateCmd = &cobra.Command{Use: "create", Short: "Create user", RunE: createUser}
func init() {
userCmd.AddCommand(userCreateCmd)
rootCmd.AddCommand(userCmd)
}All lessons in this course
- Cobra Fundamentals
- Flags and Persistent Flags
- Subcommands and Command Groups
- Distributing CLI Tools