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:
- Fetches the latest release tag for the repository from the GitHub Releases API.
- Runs
go install github.com/<owner>/<repo>@<latest>. - Verifies that the resulting binary (named after the repository) is available on
PATH. - Registers the binary with gogitup for future
checkandupdatetracking.
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:
- Installed binary metadata from
go version -m -json. - The embedded module path (must be a
github.com/<owner>/<repo>module). - The GitHub Releases API (
/repos/<owner>/<repo>/releases/latest) for the latest release tag. - 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).