package main import ( "os" "git.solsynth.dev/goatworks/turbine/pkg/launchpad/config" "git.solsynth.dev/goatworks/turbine/pkg/launchpad/deploy" "git.solsynth.dev/goatworks/turbine/pkg/launchpad/dev" "github.com/joho/godotenv" "github.com/rs/zerolog" "github.com/rs/zerolog/log" ) func init() { // Initialize logging log.Logger = log.Output(zerolog.ConsoleWriter{Out: os.Stderr}) } func main() { // Load .env file if it exists if err := godotenv.Load(); err != nil { log.Info().Msg("No .env file found, relying on environment variables.") } // Check for command-line arguments if len(os.Args) < 2 { log.Fatal().Msg("Usage: launchpad \nCommands: dev, deploy") } // Load the main launchpad configuration cfg := config.Load() command := os.Args[1] // Dispatch to the correct handler switch command { case "dev": dev.RunDev(cfg) case "deploy": log.Info().Msg("Generating docker-compose.yml for production deployment...") deploy.GenerateDockerCompose(cfg) default: log.Fatal().Msgf("Unknown command: %s", command) } }