github.com/ActiveState/cli@v0.0.0-20240508170324-6801f60cd051/cmd/state/internal/cmdtree/fork.go (about) 1 package cmdtree 2 3 import ( 4 "github.com/ActiveState/cli/internal/captain" 5 "github.com/ActiveState/cli/internal/locale" 6 "github.com/ActiveState/cli/internal/primer" 7 "github.com/ActiveState/cli/internal/runners/fork" 8 ) 9 10 func newForkCommand(prime *primer.Values) *captain.Command { 11 runner := fork.New(prime) 12 params := &fork.Params{} 13 14 return captain.NewCommand( 15 "fork", 16 locale.Tl("fork_title", "Forking Project"), 17 locale.Tl("fork_description", "Fork an existing ActiveState Platform project"), 18 prime, 19 []*captain.Flag{ 20 { 21 Name: "org", 22 Description: locale.Tl("fork_flag_org", "The organization to fork the project to"), 23 Value: ¶ms.Organization, 24 }, 25 { 26 Name: "name", 27 Description: locale.Tl("fork_flag_name", "The name of the new project to be created"), 28 Value: ¶ms.Name, 29 }, 30 { 31 Name: "private", 32 Description: locale.Tl("fork_flag_private", "Denotes if the forked project will be private"), 33 Value: ¶ms.Private, 34 }, 35 }, 36 []*captain.Argument{ 37 { 38 Name: locale.Tl("fork_arg_namespace", "org/project"), 39 Description: locale.Tl("fork_arg_namespace_desc", "The namespace of the project to be forked"), 40 Required: true, 41 Value: ¶ms.Namespace, 42 }, 43 }, 44 func(cmd *captain.Command, args []string) error { 45 return runner.Run(params) 46 }).SetGroup(VCSGroup).SetSupportsStructuredOutput() 47 }