eternal-flame-ad/go-exports — explained in plain English
Analysis updated 2026-07-19 · repo last pushed 2019-02-02
Snapshot your Go package's public API at a major release and store the JSON file as a baseline.
Run the comparison tool in your test pipeline to catch breaking changes before shipping a new release.
Audit which exported symbols changed between versions of a shared package used by plugins.
| eternal-flame-ad/go-exports | aegrail/aegrail-engine | aeneasr/form | |
|---|---|---|---|
| Stars | 1 | 1 | 1 |
| Language | Go | Go | Go |
| Last pushed | 2019-02-02 | — | 2019-03-08 |
| Maintenance | Dormant | — | Dormant |
| Setup difficulty | easy | hard | easy |
| Complexity | 2/5 | 5/5 | 2/5 |
| Audience | developer | ops devops | developer |
Figures from each repo's GitHub metadata at analysis time.
Requires a Go codebase with packages you want to snapshot, the tool itself is a standard Go utility with no external dependencies.
go-exports is a tool for Go programmers who use plugins, dynamically loaded code modules. It helps solve a specific headache: Go has strict rules about how packages shared between a main application and its plugins must stay in sync. If the exported symbols (the public-facing functions, types, and variables) change between versions, plugins break. This utility snapshots what your code currently exposes and lets you compare future versions against that snapshot to catch breaking changes early. At a high level, the tool does two things. First, it scans a Go codebase and generates a JSON file listing every exported symbol, including types, functions, struct members, and interface methods. This acts as a baseline record of your public API at a given point in time, say a major release. Second, you can run it with a comparison flag, pointing it at that saved JSON file. It checks the current code against the snapshot and reports any differences, so you immediately see what changed. The primary audience is developers maintaining Go applications that load plugins at runtime. For example, if you're building an extensible server application where third parties write plugins, you need to guarantee that the shared package interface stays stable across releases. Rather than manually auditing every change, you'd snapshot your exports at each major release and run the comparison in your testing pipeline to flag any modifications before they ship. The project is narrowly scoped and practical. It doesn't attempt to be a general-purpose API documentation tool or linter, it just captures and compares exported symbols in a straightforward JSON format. The README is minimal, keeping to the essentials: generate a spec, then compare against it.
A Go tool that snapshots your code's public API into a JSON file and compares future versions against it, so you can catch breaking changes before they break your plugins.
Mainly Go. The stack also includes Go, JSON.
Dormant — no commits in 2+ years (last push 2019-02-02).
Setup difficulty is rated easy, with roughly 5min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
double-check against the repo, no cap.