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.
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 its module and command package paths.
install
Installs a Go binary and registers it with gogitup in a single step. Existing GitHub owner/repo inputs remain supported, and full Go command package paths can also be used.
gogitup install <owner/repo|package-path>
| Name | Required | Default | Description |
|---|---|---|---|
<owner/repo\|package-path> | Yes | None | GitHub repository or full Go command package path |
gogitup install UnitVectorY-Labs/gogitup
gogitup install golang.org/x/vuln/cmd/govulncheck
What install does:
- For GitHub repository and command package paths, fetches the latest GitHub release tag.
- For a non-GitHub package path, uses
@latest. - Verifies that the resulting binary (named after the final path component) is available on
PATH. - Registers the binary with gogitup for future
checkandupgradetracking.
An optional @latest suffix is accepted. Explicit version suffixes are not supported.
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 upgrade.
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 for newer versions of all registered binaries. GitHub modules use GitHub Releases. Other modules use go list -m -u -json <module>@<installed-version> so the Go toolchain determines whether a newer version is available.
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 version data |
What check does:
gogitup check determines update status by combining:
- Installed binary metadata from
go version -m -json. - The embedded module path.
- GitHub Releases for GitHub modules, or the
Updateresult fromgo list -m -u -json <module>@<installed-version>for other modules. - The local cache file
~/.gogitup.cache(version-check results cached for 24 hours).
By default, check uses a non-expired cache entry to reduce remote lookups. Cached results are tied to the installed version that was checked; changing a binary outside gogitup causes a fresh lookup. Use gogitup check --force to bypass the cache and refresh the cached value immediately.
upgrade
Checks for updates and runs go install to upgrade every registered binary that has a newer release available.
gogitup upgrade
| Name | Required | Default | Description |
|---|---|---|---|
--verbose | No | false | Show binaries that are already up to date while checking for updates |
What upgrade does:
upgrade uses installed binary metadata (go version -m -json) and the appropriate version source to find an update, then runs go install <package>@<version> when one is available. For non-GitHub modules, the Go toolchain reports an update only when it considers a newer version available; a merely different version does not trigger an install or downgrade. For command packages below a module root, gogitup stores the original package path as an optional install_path value in ~/.gogitup. When that value is absent, upgrade uses the command package path embedded in the binary, so existing name-only configuration entries remain valid.