From 8dd3bfcd632c57edab180d49a687915377ed146c Mon Sep 17 00:00:00 2001 From: furiosa Date: Thu, 22 Jan 2026 17:25:26 -0800 Subject: [PATCH] feat(sling): register --epic and --convoy flags Add flag variable declarations and Cobra flag registrations for: - --epic: link auto-created convoy to parent epic - --convoy: add to existing convoy instead of creating new Closes: gt-n3o Co-Authored-By: Claude Opus 4.5 --- internal/cmd/sling.go | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/internal/cmd/sling.go b/internal/cmd/sling.go index b5677670..d18ab155 100644 --- a/internal/cmd/sling.go +++ b/internal/cmd/sling.go @@ -96,6 +96,8 @@ var ( slingAccount string // --account: Claude Code account handle to use slingAgent string // --agent: override runtime agent for this sling/spawn slingNoConvoy bool // --no-convoy: skip auto-convoy creation + slingEpic string // --epic: link auto-created convoy to parent epic + slingConvoy string // --convoy: add to existing convoy instead of creating new ) func init() { @@ -113,6 +115,8 @@ func init() { slingCmd.Flags().StringVar(&slingAgent, "agent", "", "Override agent/runtime for this sling (e.g., claude, gemini, codex, or custom alias)") slingCmd.Flags().BoolVar(&slingNoConvoy, "no-convoy", false, "Skip auto-convoy creation for single-issue sling") slingCmd.Flags().BoolVar(&slingHookRawBead, "hook-raw-bead", false, "Hook raw bead without default formula (expert mode)") + slingCmd.Flags().StringVar(&slingEpic, "epic", "", "Link auto-created convoy to parent epic") + slingCmd.Flags().StringVar(&slingConvoy, "convoy", "", "Add to existing convoy instead of creating new") rootCmd.AddCommand(slingCmd) } @@ -191,8 +195,8 @@ func runSling(cmd *cobra.Command, args []string) error { // Determine target agent (self or specified) var targetAgent string var targetPane string - var hookWorkDir string // Working directory for running bd hook commands - var hookSetAtomically bool // True if hook was set during polecat spawn (skip redundant update) + var hookWorkDir string // Working directory for running bd hook commands + var hookSetAtomically bool // True if hook was set during polecat spawn (skip redundant update) if len(args) > 1 { target := args[1]