diff --git a/.beads/issues.jsonl b/.beads/issues.jsonl new file mode 100644 index 0000000..dc687ff --- /dev/null +++ b/.beads/issues.jsonl @@ -0,0 +1,3 @@ +{"id":"LazyPM-15e","title":"issue1","status":"tombstone","priority":2,"issue_type":"feature","owner":"viljarb@tutanota.com","created_at":"2026-02-05T12:54:47.980567399+01:00","created_by":"vb","updated_at":"2026-02-05T12:54:54.505284343+01:00","deleted_at":"2026-02-05T12:54:54.505284343+01:00","deleted_by":"batch delete","delete_reason":"batch delete","original_type":"feature"} +{"id":"LazyPM-5dx","title":"gergreerg","description":"rgkjioergioreg","status":"tombstone","priority":2,"issue_type":"feature","owner":"viljarb@tutanota.com","created_at":"2026-02-05T12:59:44.540301146+01:00","created_by":"vb","updated_at":"2026-02-05T14:14:33.565644925+01:00","deleted_at":"2026-02-05T14:14:33.565644925+01:00","deleted_by":"batch delete","delete_reason":"batch delete","original_type":"feature"} +{"id":"LazyPM-9qt","title":"asdf","description":"asjoidiajsoijodas","status":"tombstone","priority":2,"issue_type":"feature","owner":"viljarb@tutanota.com","created_at":"2026-02-05T12:59:28.40054283+01:00","created_by":"vb","updated_at":"2026-02-05T14:14:28.948203666+01:00","deleted_at":"2026-02-05T14:14:28.948203666+01:00","deleted_by":"batch delete","delete_reason":"batch delete","original_type":"feature"} diff --git a/pkg/cli/commands/delete.go b/pkg/cli/commands/delete.go new file mode 100644 index 0000000..68fce1b --- /dev/null +++ b/pkg/cli/commands/delete.go @@ -0,0 +1,33 @@ +package commands + +import ( + "fmt" + "strings" + + "github.com/spf13/cobra" +) + +var deleteCmd = &cobra.Command{ + Use: "delete [id]", + Short: "Delete an existing issue", + Long: `Delete an existing issue by its ID.`, + Example: `pm delete issue_id`, + RunE: runDeleteCmd, + Aliases: []string{"del"}, + Args: cobra.MinimumNArgs(1), +} + +func runDeleteCmd(cmd *cobra.Command, args []string) error { + deleteID := strings.Join(args, " ") + + err := svc.Beads.DeleteIssue(cmd.Context(), deleteID) + if err != nil { + return fmt.Errorf("error deleting issue: %w", err) + } + + str := fmt.Sprintf("Deleted issue with ID: %s\n", deleteID) + + fmt.Print(str) + + return nil +} diff --git a/pkg/cli/commands/root.go b/pkg/cli/commands/root.go index edee54c..158cdbb 100644 --- a/pkg/cli/commands/root.go +++ b/pkg/cli/commands/root.go @@ -21,7 +21,7 @@ func Execute(services *service.Services) error { func init() { rootCmd.AddCommand(createCmd) - + rootCmd.AddCommand(deleteCmd) rootCmd.CompletionOptions.DisableDefaultCmd = false rootCmd.AddGroup(&cobra.Group{ID: "help", Title: "Helping Commands"}) rootCmd.SetCompletionCommandGroupID("help")