The interactive setup wizard that creates perfect GoReleaser configurations in seconds.
Stop copy-pasting configs. Stop guessing at YAML. Get a production-ready GoReleaser setup with one command.
- π― Interactive wizard - Guides you through every option
- π§ Smart defaults - Detects your project structure automatically
- π GitHub Actions included - Complete CI/CD pipeline ready to go
- π¦ Multi-platform builds - Linux, macOS, Windows, ARM, and more
- π³ Docker support - Multi-arch container images
- π Security built-in - Code signing, SBOM generation
- β Validation - Check your config before releasing
# Install
go install github.com/LarsArtmann/template-GoReleaser/cmd/goreleaser-wizard@latest
# Run the wizard
goreleaser-wizard init
# That's it! Your .goreleaser.yaml is ready$ goreleaser-wizard init
π GoReleaser Configuration Wizard
Let's create the perfect GoReleaser config for your project!
? Project Name βΊ my-awesome-cli
? Project Description βΊ A fantastic CLI tool
? Project Type βΊ CLI Application
? Binary Name βΊ my-awesome-cli
? Main Package Path βΊ ./cmd/my-awesome-cli
? Target Platforms βΊ β linux β darwin β windows
? Target Architectures βΊ β amd64 β arm64
? Enable CGO? βΊ No (recommended)
? Embed Version Info? βΊ Yes (recommended)
? Git Provider βΊ GitHub
? Docker Images? βΊ Yes
? Code Signing? βΊ Yes
? Generate SBOM? βΊ Yes
β Created .goreleaser.yaml
β Created .github/workflows/release.yml
β¨ Setup Complete!go install github.com/LarsArtmann/template-GoReleaser/cmd/goreleaser-wizard@latestgit clone https://github.com/LarsArtmann/template-GoReleaser.git
cd template-GoReleaser
go build -o goreleaser-wizard ./cmd/goreleaser-wizardDownload the latest release from the releases page.
The wizard will guide you through creating a perfect configuration:
goreleaser-wizard initOptions:
--force- Overwrite existing configuration--minimal- Create minimal configuration--pro- Include GoReleaser Pro features
Perfect for CI/CD pipelines:
goreleaser-wizard generate \
--name my-project \
--binary my-app \
--platforms linux,darwin,windows \
--docker \
--github-actionCheck your existing GoReleaser configuration:
goreleaser-wizard validate
# With fixes
goreleaser-wizard validate --fix
# Verbose output
goreleaser-wizard validate --verbose- Optimized build configuration
- Multi-platform support
- Archive generation
- Checksums and signatures
- Changelog generation
- Release configuration
- Automated releases on tags
- Docker image building
- Code signing with cosign
- SBOM generation
- Multi-platform builds
The wizard adapts to your project:
- CLI Application - Single binary with version info
- Web Service - Includes Docker configuration
- Library with CLI - Focuses on the CLI component
- Multiple Binaries - Configures multiple build targets
Enable Pro features during setup:
goreleaser-wizard init --proAdds support for:
- Custom publishers
- Advanced templating
- Nightlies
- Docker manifests
- And more!
When Docker is enabled, the wizard:
- Detects your registry (ghcr.io, Docker Hub, etc.)
- Configures multi-platform images
- Sets up proper labels
- Handles authentication in CI/CD
Optional support for:
- Homebrew - macOS/Linux formula
- Snap - Linux snap packages
- Scoop - Windows package manager
- AUR - Arch Linux (Pro)
After generating your configuration:
# 1. Validate the configuration
goreleaser-wizard validate
# 2. Test build locally
goreleaser build --snapshot --clean
# 3. Create a tag
git tag -a v0.1.0 -m 'First release'
# 4. Push to trigger release
git push origin v0.1.0goreleaser-wizard generate \
--name simple-cli \
--binary simple \
--platforms linux,darwingoreleaser-wizard generate \
--name api-server \
--binary server \
--docker \
--signing \
--github-action \
--platforms linux,darwin,windows \
--architectures amd64,arm64goreleaser-wizard init --minimal
# Then select "Library with CLI" in the wizardContributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- GoReleaser - The amazing release automation tool
- Charm - Beautiful terminal UI components
- Cobra - CLI framework
- Viper - Configuration management
Made with β€οΈ to simplify Go releases