go-release

Generates GoReleaser config, Dockerfile, and GitHub Actions release workflows for Go CLI apps.

1|Updated Mar 3, 2026
One-click install
npx skills add https://github.com/akhy/agent-skills --skill go-release-akhy
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: go-release
Source: https://github.com/akhy/agent-skills/tree/main/go-release
Command: npx skills add https://github.com/akhy/agent-skills --skill go-release-akhy

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes assets (resource) components.

What problem does it solve? Setting up release automation for a Go CLI project requires writing and maintaining GoReleaser configuration, multi-platform Dockerfiles, and GitHub Actions workflows by hand, which is error-prone and repetitive across projects. ## Core Features & Use Cases - GoReleaser Configuration: Generates a complete .goreleaser.yaml with cross-platform builds, archives, checksums, changelog grouping, and Homebrew tap publishing. - Docker & GHCR Distribution: Creates an Alpine or Debian based Dockerfile and a docker.yml workflow that builds and pushes multi-arch images to GitHub Container Registry. - Release Workflow Automation: Produces a release.yml GitHub Actions workflow triggered by version tags, plus an optional internal/version package wired to ldflags. - Use Case: You have a Go CLI tool in a repo with a go.mod and want tagged releases to automatically publish binaries, a Homebrew formula, and Docker images. Run this Skill to scaffold the entire release pipeline in one pass. ## Quick Start Set up automated releases with GoReleaser, GitHub Actions, GHCR, and a Homebrew tap for my Go CLI project.

Frequently Asked Questions about go-release

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I set up GoReleaser for a Go CLI project?▼

Run this Skill in the project root and it reads go.mod to infer the module path, Go version, and binary name, then generates a complete .goreleaser.yaml with cross-platform builds, archives, checksums, and changelog grouping. It also creates the release.yml GitHub Actions workflow that runs GoReleaser on version tags.

How to publish a Go binary to a Homebrew tap with GitHub Actions?▼

Enable the homebrew distribution channel and the Skill adds a brews section to .goreleaser.yaml targeting your homebrew-tap repository. You must create the tap repo with a Formula directory and add a TAP_GITHUB_TOKEN secret with repo scope to your project.

Does GoReleaser support projects that require CGO?▼

Yes, the Skill scans source files for import "C" to detect CGO. When CGO is required it sets CGO_ENABLED=1, removes windows from the build targets, and uses a Debian-based Dockerfile instead of Alpine for the Docker image.

How do I test a GoReleaser release locally without publishing?▼

Run goreleaser release --snapshot --clean in your project directory. This builds all artifacts and validates the configuration without creating a GitHub release or pushing to the Homebrew tap or container registry.

What GitHub secrets are needed for automated Go releases?▼

GITHUB_TOKEN is provided automatically by GitHub Actions and covers releases and GHCR pushes. If Homebrew distribution is enabled, you also need a TAP_GITHUB_TOKEN secret containing a personal access token with repo scope for the tap repository.