Usage

Table of Contents


Global Flags

Flag Description
--version, -v Print the gogitup version
--help, -h Show help message

add

Registers a binary for tracking with gogitup. The binary must already be installed via go install and must originate from a github.com module path.

gogitup add <name>
Name Required Default Description
<name> Yes None Binary name of the tool to track, must be available on PATH (for example ghorgsync)

What add does:

add inspects the installed binary with go version -m -json to confirm it was installed with Go tooling and to extract the embedded module path. The module path must resolve to a github.com/<owner>/<repo> repository.


install

Installs a binary from GitHub using go install and registers it with gogitup in a single step.

gogitup install <owner/repo>
Name Required Default Description
<owner/repo> Yes None GitHub repository in owner/repo format (for example UnitVectorY-Labs/gogitup)

What install does:

  1. Fetches the latest release tag for the repository from the GitHub Releases API.
  2. Runs go install github.com/<owner>/<repo>@<latest>.
  3. Verifies that the resulting binary (named after the repository) is available on PATH.
  4. Registers the binary with gogitup for future check and update tracking.

If the installed binary name differs from the repository name (uncommon), the installation itself still succeeds but the binary will not be registered automatically. Use gogitup add <name> to register it manually.


remove

Removes a binary from tracking. The binary itself is not uninstalled, gogitup just stops tracking it for updates when you run check or update.

gogitup remove <name>
Name Required Default Description
<name> Yes None Registered binary name to remove

list

Lists all registered binaries along with their currently installed versions.

gogitup list [--json]
Name Required Default Description
--json No false Output the list as JSON for scripting

What list does:

list reads the tracked app names from ~/.gogitup and inspects each installed binary with go version -m -json to report the installed version.


check

Checks GitHub for newer releases of all registered binaries. Displays the installed version alongside the latest available version.

gogitup check [--json] [--force]
Name Required Default Description
--json No false Output the results as JSON
--force No false Ignore cached latest-version values and fetch fresh release data from GitHub

What check does:

gogitup check determines update status by combining:

  1. Installed binary metadata from go version -m -json.
  2. The embedded module path (must be a github.com/<owner>/<repo> module).
  3. The GitHub Releases API (/repos/<owner>/<repo>/releases/latest) for the latest release tag.
  4. The local cache file ~/.gogitup.cache (latest release tags cached for 24 hours).

By default, check uses a non-expired cache entry to reduce GitHub API calls. Use gogitup check --force to bypass the cache and refresh the cached value immediately.


update

Checks for updates and runs go install to update every registered binary that has a newer release available.

gogitup update
Name Required Default Description
--verbose No false Show binaries that are already up to date while checking for updates

What update does:

update uses installed binary metadata (go version -m -json) plus the GitHub Releases API to find the latest release, then runs go install <module>@<tag> when an update is available. It refreshes the cache with the latest fetched tag and always fetches fresh release data (it does not rely on cached latest-version values).