diff --git a/cmd/bd/create.go b/cmd/bd/create.go index 353a4944..8a264620 100644 --- a/cmd/bd/create.go +++ b/cmd/bd/create.go @@ -392,7 +392,7 @@ func init() { createCmd.Flags().String("title", "", "Issue title (alternative to positional argument)") createCmd.Flags().Bool("silent", false, "Output only the issue ID (for scripting)") registerPriorityFlag(createCmd, "2") - createCmd.Flags().StringP("type", "t", "task", "Issue type (bug|feature|task|epic|chore)") + createCmd.Flags().StringP("type", "t", "task", "Issue type (bug|feature|task|epic|chore|merge-request)") registerCommonIssueFlags(createCmd) createCmd.Flags().StringSliceP("labels", "l", []string{}, "Labels (comma-separated)") createCmd.Flags().StringSlice("label", []string{}, "Alias for --labels") diff --git a/cmd/bd/list.go b/cmd/bd/list.go index e86945b6..63488b8e 100644 --- a/cmd/bd/list.go +++ b/cmd/bd/list.go @@ -519,7 +519,7 @@ func init() { listCmd.Flags().StringP("status", "s", "", "Filter by status (open, in_progress, blocked, closed)") registerPriorityFlag(listCmd, "") listCmd.Flags().StringP("assignee", "a", "", "Filter by assignee") - listCmd.Flags().StringP("type", "t", "", "Filter by type (bug, feature, task, epic, chore)") + listCmd.Flags().StringP("type", "t", "", "Filter by type (bug, feature, task, epic, chore, merge-request)") listCmd.Flags().StringSliceP("label", "l", []string{}, "Filter by labels (AND: must have ALL). Can combine with --label-any") listCmd.Flags().StringSlice("label-any", []string{}, "Filter by labels (OR: must have AT LEAST ONE). Can combine with --label") listCmd.Flags().String("title", "", "Filter by title text (case-insensitive substring match)") diff --git a/cmd/bd/show.go b/cmd/bd/show.go index b7d084f9..eaabb514 100644 --- a/cmd/bd/show.go +++ b/cmd/bd/show.go @@ -1313,7 +1313,7 @@ func init() { updateCmd.Flags().StringP("status", "s", "", "New status") registerPriorityFlag(updateCmd, "") updateCmd.Flags().String("title", "", "New title") - updateCmd.Flags().StringP("type", "t", "", "New type (bug|feature|task|epic|chore)") + updateCmd.Flags().StringP("type", "t", "", "New type (bug|feature|task|epic|chore|merge-request)") registerCommonIssueFlags(updateCmd) updateCmd.Flags().String("notes", "", "Additional notes") updateCmd.Flags().String("acceptance-criteria", "", "DEPRECATED: use --acceptance") diff --git a/internal/types/types.go b/internal/types/types.go index a87c00ea..6f6f4bfd 100644 --- a/internal/types/types.go +++ b/internal/types/types.go @@ -218,18 +218,19 @@ type IssueType string // Issue type constants const ( - TypeBug IssueType = "bug" - TypeFeature IssueType = "feature" - TypeTask IssueType = "task" - TypeEpic IssueType = "epic" - TypeChore IssueType = "chore" - TypeMessage IssueType = "message" // Ephemeral communication between workers + TypeBug IssueType = "bug" + TypeFeature IssueType = "feature" + TypeTask IssueType = "task" + TypeEpic IssueType = "epic" + TypeChore IssueType = "chore" + TypeMessage IssueType = "message" // Ephemeral communication between workers + TypeMergeRequest IssueType = "merge-request" // Merge queue entry for refinery processing ) // IsValid checks if the issue type value is valid func (t IssueType) IsValid() bool { switch t { - case TypeBug, TypeFeature, TypeTask, TypeEpic, TypeChore, TypeMessage: + case TypeBug, TypeFeature, TypeTask, TypeEpic, TypeChore, TypeMessage, TypeMergeRequest: return true } return false