From deb8d19473ebdf7bd9095879b1e701da0f8ae2ac Mon Sep 17 00:00:00 2001 From: Kasper de Graaff Date: Thu, 9 Jul 2026 10:40:50 +0200 Subject: [PATCH] feat(new): add --container-runtime flag (parity with mxcli init) mxcli new always generated a Docker-based devcontainer because it called initCmd.Run() without forwarding the container runtime preference. This adds --container-runtime (docker|podman, default docker) to newCmd and sets initContainerRuntime before the init call so the generated .devcontainer/ reflects the user's choice. Closes #739 Co-Authored-By: Claude Sonnet 4.6 --- cmd/mxcli/cmd_new.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/cmd/mxcli/cmd_new.go b/cmd/mxcli/cmd_new.go index 2e9c2bbc0..d93406d91 100644 --- a/cmd/mxcli/cmd_new.go +++ b/cmd/mxcli/cmd_new.go @@ -35,6 +35,7 @@ Examples: mendixVersion, _ := cmd.Flags().GetString("version") outputDir, _ := cmd.Flags().GetString("output-dir") skipInit, _ := cmd.Flags().GetBool("skip-init") + containerRuntime, _ := cmd.Flags().GetString("container-runtime") if mendixVersion == "" { fmt.Fprintln(os.Stderr, "Error: --version is required (e.g., --version 11.8.0)") @@ -118,6 +119,7 @@ Examples: // Step 3: Initialize tooling if !skipInit { fmt.Printf("\nStep 3/4: Initializing AI tooling...\n") + initContainerRuntime = containerRuntime initCmd.Run(initCmd, []string{absDir}) } else { fmt.Printf("\nStep 3/4: Skipped (--skip-init)\n") @@ -211,6 +213,7 @@ func init() { newCmd.Flags().String("version", "", "Mendix version (e.g., 11.8.0) — required") newCmd.Flags().String("output-dir", "", "Output directory (default: ./)") newCmd.Flags().Bool("skip-init", false, "Skip AI tooling initialization (mxcli init)") + newCmd.Flags().String("container-runtime", "docker", "Container runtime for devcontainer (docker or podman)") rootCmd.AddCommand(newCmd) }