package main import ( "fmt" "os" "os/exec" ) // Helper function to write content to a file func writeFile(path, content string) { if err := os.WriteFile(path, []byte(content), 0644); err != nil { fmt.Printf("[ERROR] Failed to write file %s: %v\n", path, err) os.Exit(1) } } // Helper function to check if a command exists in PATH func commandExists(cmd string) bool { _, err := exec.LookPath(cmd) return err == nil } // Helper function to run a command with output visible func runCommand(name string, args ...string) error { cmd := exec.Command(name, args...) cmd.Stdout = os.Stdout cmd.Stderr = os.Stderr return cmd.Run() } // Helper function to run a command quietly (no stdout) func runCommandQuiet(name string, args ...string) error { cmd := exec.Command(name, args...) cmd.Stdout = nil cmd.Stderr = os.Stderr return cmd.Run() } // Helper function to run a command in a specific directory func runCommandInDir(dir string, name string, args ...string) error { cmd := exec.Command(name, args...) cmd.Dir = dir cmd.Stdout = os.Stdout cmd.Stderr = os.Stderr return cmd.Run() }