diff --git a/pkg/cli/delete.go b/pkg/cli/delete.go new file mode 100644 index 0000000000..3a428fa190 --- /dev/null +++ b/pkg/cli/delete.go @@ -0,0 +1,35 @@ +package cli + +import ( + "fmt" + + "github.com/spf13/cobra" + + "github.com/replicate/cog/pkg/client" +) + +func newDeleteCommand() *cobra.Command { + cmd := &cobra.Command{ + Use: "delete", + Short: "Delete a package", + RunE: deletePackage, + Args: cobra.MinimumNArgs(1), + Aliases: []string{"rm"}, + } + return cmd +} + +func deletePackage(cmd *cobra.Command, args []string) error { + repo, err := getRepo() + if err != nil { + return err + } + cli := client.NewClient() + for _, id := range args { + if err := cli.DeletePackage(repo, id); err != nil { + return err + } + fmt.Printf("Deleted package %s:%s\n", repo, id) + } + return nil +} diff --git a/pkg/cli/root.go b/pkg/cli/root.go index 5bbc0551ae..1b2416584a 100644 --- a/pkg/cli/root.go +++ b/pkg/cli/root.go @@ -43,6 +43,7 @@ func NewRootCommand() (*cobra.Command, error) { newDownloadCommand(), newListCommand(), newBenchmarkCommand(), + newDeleteCommand(), ) return &rootCmd, nil