Topgrade
github.com
What it is
Topgrade is a free command-line tool that detects tools in use and runs the commands needed to update them. Run it with the `topgrade` command. The project provides self-updating binaries, source installation, and package-manager options; release binaries cover macOS, Windows, Linux, and FreeBSD. Its example configuration includes Arch package managers, DNF, Nix, Homebrew, Flatpak, and Winget. Topgrade can pull or fetch configured Git repositories, and custom commands can run before, during, or after its built-in commands. It can use SSH to run Topgrade on configured remote hosts before acting locally. On first run, it creates a configuration file if one is missing and also loads and merges files from `topgrade.d`. The project describes itself as a fork of r-darwish's Topgrade that aims to keep the tool maintained. Its example configuration advises against running it as root on Unix, since it invokes sudo or an equivalent where needed. Only the latest version is supported, and fixes are not backported.
Spec sheet
- Purpose
- Topgrade detects the tools you use and runs the appropriate commands to update them.Read 30 Sep 2026 · github.com
- CLI workflow
- The project README says to run Topgrade with the `topgrade` command.Read 30 Sep 2026 · github.com
- Configuration
- On first run, Topgrade creates a configuration file if one does not already exist, and it also loads and merges files from `topgrade.d`.Read 30 Sep 2026 · github.com
- Custom commands
- Custom commands can be configured to run before, during, or after Topgrade's built-in commands.Read 30 Sep 2026 · github.com
- Git repositories
- Topgrade can pull or fetch predefined and user-configured Git repositories, with a setting to choose fetch instead of pull.Read 30 Sep 2026 · github.com
- Install options
- The project lists self-updating binaries and source installation for all platforms, plus package-manager installation options.Read 30 Sep 2026 · github.com
- Package integrations
- The example configuration includes settings for Arch package managers, DNF, Nix, Homebrew, Flatpak, and Winget.Read 30 Sep 2026 · github.com
- Privilege guidance
- The example configuration says Topgrade should not be run as root on Unix because it invokes sudo or an equivalent where needed.Read 30 Sep 2026 · github.com
- Project history
- The repository describes this project as a fork of r-darwish's Topgrade that aims to keep it maintained.Read 30 Sep 2026 · github.com
- Remote execution
- Topgrade can use SSH to run Topgrade on configured remote hosts before acting locally.Read 30 Sep 2026 · github.com
- Security reporting
- The security policy directs vulnerability reports to the repository's Security tab.Read 30 Sep 2026 · github.com
- Support and community
- The project invites users to open an issue or discussion for questions and provides a Discord server for discussion.Read 30 Sep 2026 · github.com
- Supported operating systems
- The release page provides binaries for Apple macOS, Windows, Linux, and FreeBSD.Read 30 Sep 2026 · github.com
- Supported versions
- The security policy says only the latest Topgrade version is supported and fixes are not backported.Read 30 Sep 2026 · github.com
Plans and prices
Strong points and limits
Strong points
- Free, with binaries and source installation
- Supports macOS, Windows, Linux, and FreeBSD
- Can update configured Git repositories
- Custom commands can run around built-in commands
- Can run on configured remote hosts over SSH
Limits
- Only the latest version is supported
- Fixes are not backported
- Project advises against running as root on Unix
Who it suits
Topgrade suits users who want a command-line way to update multiple tools and configure package managers, repositories, or custom commands. Its remote-host option may also suit users managing configured machines over SSH.
Verdict
Topgrade brings package-manager updates, repository handling, custom commands, and remote execution into a configurable CLI workflow. Users should note its latest-version-only support policy and the Unix guidance against running it as root.
Where Specifiction places it
- Software Update Tools#13 of 297.6