From c4ce191bb2bc4701c181b0928235a310a62f0c46 Mon Sep 17 00:00:00 2001 From: Steve Yegge Date: Tue, 23 Dec 2025 13:16:04 -0800 Subject: [PATCH] feat: add --resolution as alias for --reason on bd close (GH#721) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Jira CLIs use --resolution flag (go-jira, jira-cli). Adding this as a hidden alias improves agent ergonomics - LLMs have a prior for this flag. Follows same pattern as --body alias for --description (GitHub CLI). 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 --- cmd/bd/show.go | 6 ++++++ cmd/bd/testdata/close_resolution_alias.txt | 16 ++++++++++++++++ 2 files changed, 22 insertions(+) create mode 100644 cmd/bd/testdata/close_resolution_alias.txt diff --git a/cmd/bd/show.go b/cmd/bd/show.go index af885828..0ea31106 100644 --- a/cmd/bd/show.go +++ b/cmd/bd/show.go @@ -972,6 +972,10 @@ var closeCmd = &cobra.Command{ Run: func(cmd *cobra.Command, args []string) { CheckReadonly("close") reason, _ := cmd.Flags().GetString("reason") + // Check --resolution alias if --reason not provided + if reason == "" { + reason, _ = cmd.Flags().GetString("resolution") + } if reason == "" { reason = "Closed" } @@ -1411,6 +1415,8 @@ func init() { rootCmd.AddCommand(editCmd) closeCmd.Flags().StringP("reason", "r", "", "Reason for closing") + closeCmd.Flags().String("resolution", "", "Alias for --reason (Jira CLI convention)") + _ = closeCmd.Flags().MarkHidden("resolution") // Hidden alias for agent/CLI ergonomics closeCmd.Flags().Bool("json", false, "Output JSON format") closeCmd.Flags().BoolP("force", "f", false, "Force close pinned issues") closeCmd.Flags().Bool("continue", false, "Auto-advance to next step in molecule") diff --git a/cmd/bd/testdata/close_resolution_alias.txt b/cmd/bd/testdata/close_resolution_alias.txt new file mode 100644 index 00000000..fe48f164 --- /dev/null +++ b/cmd/bd/testdata/close_resolution_alias.txt @@ -0,0 +1,16 @@ +# Test bd close --resolution alias (GH#721) +# Jira CLI convention: --resolution instead of --reason +bd init --prefix test + +# Create issue +bd create 'Issue to close with resolution' +cp stdout issue.txt +exec sh -c 'grep -oE "test-[a-z0-9]+" issue.txt > issue_id.txt' + +# Close using --resolution alias +exec sh -c 'bd close $(cat issue_id.txt) --resolution "Fixed via resolution alias"' +stdout 'Closed test-' + +# Verify close_reason is set correctly +exec sh -c 'bd show $(cat issue_id.txt) --json' +stdout 'Fixed via resolution alias'