By flaticols
Detect breaking changes in Go public APIs. Compares git refs or filesystem paths and reports incompatible/compatible changes using golang.org/x/exp/apidiff.
A command-line tool that detects breaking changes in Go APIs by comparing different versions of your code.
gobreaker analyzes your Go packages and reports incompatible API changes between versions, helping you maintain backward compatibility and follow semantic versioning principles. It uses golang.org/x/exp/apidiff under the hood to perform accurate API comparisons.
go install github.com/flaticols/gobreaker/cmd/gobreaker@latest
Or build from source:
git clone https://github.com/flaticols/gobreaker.git
cd gobreaker
go build -o gobreaker ./cmd/gobreaker
gobreaker [OPTIONS] <base-ref> [repo-path]
base-ref (required): The base reference to compare against (branch, tag, or commit SHA)repo-path (optional): Path to the git repository (defaults to current directory)-o, --output <format>: Output format - text (default), json, or markdown-v, --version: Print version information and exit-h, --help: Show help message# Compare current branch against main in current directory
gobreaker main
# Compare against a specific tag in a different repository
gobreaker v1.0.0 /path/to/repo
# Output results as JSON
gobreaker -o json main
# Output results as Markdown (useful for PR comments)
gobreaker --output markdown main
# Check version
gobreaker --version
Shows a human-readable report of breaking changes with proper indentation.
Outputs structured JSON data for programmatic consumption.
Generates a Markdown-formatted report suitable for documentation or pull request comments.
gobreaker identifies various types of breaking changes including:
go build -o gobreaker ./cmd/gobreaker
go test ./...
gobreaker is also available as a Claude Code plugin, bringing breaking-change detection directly into your AI-assisted workflow.
/plugin marketplace add flaticols/gobreaker
/plugin install gobreaker
# Compare default branch vs working directory
/gobreaker:check
# Compare a specific tag against working directory
/gobreaker:check v0.0.1
# Compare two git refs
/gobreaker:check v0.0.1 v0.0.2
# Compare filesystem paths
/gobreaker:check -p /old/pkg /new/pkg
The skill runs gobreaker on your Go project and returns a structured summary: compatible/breaking status, list of changes, semver bump recommendation, and migration hints.
Note: The
gobreakerbinary must be in yourPATH. Install it withgo install github.com/flaticols/gobreaker/cmd/gobreaker@latest.
See LICENSE file for details.
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
npx claudepluginhub flaticols/gobreaker --plugin gobreakerReview Go code for adherence to Go Style Guide
Enhances Claude Code with modern Go guidelines up to go 1.26 version.
Claude Code update watcher: changelog tracking, breaking changes detection, community pulse via Exa, plugin compatibility analysis
Automatically format Go files with gofmt after Write/Edit/MultiEdit operations
Go development following Google Go style guide with Go 1.25+ features and best practices
Go changes since training cutoff (latest: 1.26.0) — new(expr) builtin, errors.AsType, self-referential generics, reflect iterators, go fix modernizer. Load before working with Go.