Thanks to visit codestin.com
Credit goes to github.com

Skip to content

The interactive setup wizard that creates perfect GoReleaser configurations in seconds. Stop copy-pasting configs and get production-ready releases with one command.

License

Notifications You must be signed in to change notification settings

LarsArtmann/GoReleaser-Wizard

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

60 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

GoReleaser Wizard πŸš€

License: MIT Go Version GoReleaser

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.

✨ Features

  • 🎯 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

🎬 Quick Start

# 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

πŸ“Έ Demo

$ 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!

πŸ› οΈ Installation

Using Go

go install github.com/LarsArtmann/template-GoReleaser/cmd/goreleaser-wizard@latest

From Source

git clone https://github.com/LarsArtmann/template-GoReleaser.git
cd template-GoReleaser
go build -o goreleaser-wizard ./cmd/goreleaser-wizard

Download Binary

Download the latest release from the releases page.

πŸ“– Usage

Interactive Mode (Recommended)

The wizard will guide you through creating a perfect configuration:

goreleaser-wizard init

Options:

  • --force - Overwrite existing configuration
  • --minimal - Create minimal configuration
  • --pro - Include GoReleaser Pro features

Non-Interactive Mode

Perfect for CI/CD pipelines:

goreleaser-wizard generate \
  --name my-project \
  --binary my-app \
  --platforms linux,darwin,windows \
  --docker \
  --github-action

Validate Configuration

Check your existing GoReleaser configuration:

goreleaser-wizard validate

# With fixes
goreleaser-wizard validate --fix

# Verbose output
goreleaser-wizard validate --verbose

🎯 What It Creates

.goreleaser.yaml

  • Optimized build configuration
  • Multi-platform support
  • Archive generation
  • Checksums and signatures
  • Changelog generation
  • Release configuration

.github/workflows/release.yml

  • Automated releases on tags
  • Docker image building
  • Code signing with cosign
  • SBOM generation
  • Multi-platform builds

πŸ—οΈ Project Types

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

πŸ”§ Advanced Features

GoReleaser Pro Support

Enable Pro features during setup:

goreleaser-wizard init --pro

Adds support for:

  • Custom publishers
  • Advanced templating
  • Nightlies
  • Docker manifests
  • And more!

Docker Integration

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

Package Managers

Optional support for:

  • Homebrew - macOS/Linux formula
  • Snap - Linux snap packages
  • Scoop - Windows package manager
  • AUR - Arch Linux (Pro)

πŸ§ͺ Testing Your Configuration

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.0

πŸ“š Examples

Minimal CLI Tool

goreleaser-wizard generate \
  --name simple-cli \
  --binary simple \
  --platforms linux,darwin

Full-Featured Web Service

goreleaser-wizard generate \
  --name api-server \
  --binary server \
  --docker \
  --signing \
  --github-action \
  --platforms linux,darwin,windows \
  --architectures amd64,arm64

Library with CLI

goreleaser-wizard init --minimal
# Then select "Library with CLI" in the wizard

🀝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing)
  5. Open a Pull Request

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ™ Acknowledgments

  • GoReleaser - The amazing release automation tool
  • Charm - Beautiful terminal UI components
  • Cobra - CLI framework
  • Viper - Configuration management

πŸ”— Links


Made with ❀️ to simplify Go releases

About

The interactive setup wizard that creates perfect GoReleaser configurations in seconds. Stop copy-pasting configs and get production-ready releases with one command.

Topics

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages