func Execute() {
	if err := rootCmd.Execute(); err != nil {
		rootCmd.Println(err)
		osExit(1)
	}
}
Execute adds all child commands to the root command and sets flags appropriately.
This is called by main.main(). It only needs to happen once to the rootCmd.
package cmd
import (
	"fmt"
	"time"
	"github.com/gofiber/cli/cmd/internal"
	"github.com/muesli/termenv"
	"github.com/spf13/cobra"
)
const version = "0.0.9"
const configName = ".fiberconfig"
var (
	rc = rootConfig{
		CliVersionCheckInterval: int64((time.Hour * 12) / time.Second),
	}
)
type rootConfig struct {
	CliVersionCheckInterval int64 `json:"cli_version_check_interval"`
	CliVersionCheckedAt     int64 `json:"cli_version_checked_at"`
}
func init() {
	rootCmd.AddCommand(
		versionCmd, newCmd, devCmd, upgradeCmd,
	)
}
var rootCmd = &cobra.Command{
	Use:               "fiber",
	Long:              longDescription,
	RunE:              rootRunE,
	PersistentPreRun:  rootPersistentPreRun,
	PersistentPostRun: rootPersistentPostRun,
	SilenceErrors:     true,
}