package main

import (
	"fmt"
	"os"

	"github.com/spf13/cobra"
)

func main() {
	if err := newRootCommand().Execute(); err != nil {
		fmt.Fprintln(os.Stderr, err)
		os.Exit(1)
	}
}

func newRootCommand() *cobra.Command {
	rootCmd := &cobra.Command{
		Use:   "warpbox",
		Short: "WarpBox command line interface",
		Long:  "WarpBox provides commands for running and managing the WarpBox service.",
	}

	rootCmd.AddCommand(newRunCommand())
	rootCmd.AddCommand(newBoxCommand())
	rootCmd.AddCommand(newEnvCommand())
	return rootCmd
}
