GRPM is a command-line tool written in Go that helps you discover, manage, and install GitHub releases. It functions as a package manager specifically designed for GitHub releases, allowing you to search repositories, view release information, and download assets directly from your terminal.
Download the tool from the releases.
-
Extract the Archive:
Unpack the downloaded file to access the executable:
tar -xzf grpm.tar.gz-
Move to System Path:
Move the grpm binary to /usr/local/bin so it can be accessed globally as a command:
sudo mv grpm /usr/local/bin/-
Set Permissions:
Ensure the file has the necessary permissions to run as an executable:
sudo chmod +x /usr/local/bin/grpm-
Extract the Binary: Right-click the .zip file and select Extract All.... Inside, you will find the grpm.exe executable.
-
Move to a Permanent Folder (Optional): Move grpm.exe to a dedicated folder where it won't be accidentally deleted. Example: C:\Program Files\grpm\ or C:\bin\
-
Add to System PATH: To run grpm from any Command Prompt or PowerShell window, you must add it to your PATH:
-
Open the Start Search, type "env", and select Edit the system environment variables.
-
Click the Environment Variables button.
-
Under User variables, select Path and click Edit.
-
Click New and paste the path to the folder where you moved the .exe (e.g., C:\bin).
-
Click OK on all windows to save.
git clone https://github.com/hish22/grpm.git
cd grpm
go build -o grpm ./cmd/grpm.goBefore using GRPM, initialize the configuration file:
grpm -dThis creates ~/.config/grpm/config.toml with default settings.
Show current configuration:
grpm config --showEdit configuration directly:
grpm config --openConfiguration options include:
install_dir: Where assets are installed.download_dir: Where files are downloaded.os: Operating system filter.arch: Architecture filter.
| Flag | Short | Type | Description |
|---|---|---|---|
--show |
-s |
bool | Show TOML configuration information |
--open |
-o |
bool | Open TOML configuration file |
Search for GitHub repositories:
grpm search --repo <name>Sort results by stars:
grpm search --repo <name> --sort stars --order desc # Most stars first
grpm search --repo <name> --sort stars --order asc # Fewest stars first| Flag | Short | Type | Default | Description |
|---|---|---|---|---|
--repo |
-r |
string | Repository name to search | |
--page |
-p |
int | 1 | Page number of results |
--sort |
-s |
string | Sort by: stars, forks, help-wanted-issues, updated | |
--order |
-o |
string | Order: asc, desc |
Get repository details and README:
grpm info --owner <owner> --repo <name>You can also provide just one of them:
grpm info --owner <owner> # Uses most starred repo by owner
grpm info --repo <name> # Uses most starred repo with that name| Flag | Short | Type | Description |
|---|---|---|---|
--owner |
-o |
string | Repository owner |
--repo |
-r |
string | Repository name |
View latest releases (limited to 5):
grpm release --repo <owner>/<repo> --latestView the latest release:
grpm release --repo <owner>/<repo> --latest-releaseView a specific release by tag:
grpm release --repo <owner>/<repo> --tag v1.0.0| Flag | Short | Type | Description |
|---|---|---|---|
--repo |
-r |
string | Repository name (owner/repo) |
--latest |
-a |
bool | Show 5 latest releases |
--latest-release |
-l |
bool | Show only the latest release |
--tag |
-t |
string | Show specific release by tag |
Install the latest release:
grpm install --repo <owner>/<repo>Install a specific version:
grpm install --repo <owner>/<repo> --tag v1.0.0Auto-extract and setup the binary:
grpm install --repo <owner>/<repo> --setupDuring installation, select an asset from the available release assets.
| Flag | Short | Type | Description |
|---|---|---|---|
--repo |
-r |
string | Repository name (owner/repo) |
--tag |
-t |
string | Specific release tag to install |
--match |
-m |
bool | Show only assets matching config OS/arch |
--setup |
-s |
bool | Auto extract and setup the asset |
--force |
-f |
bool | Skip confirmation prompts |
View all installed releases:
grpm listCheck if a specific installed release has a newer version available:
grpm update --repo <owner>/<repo> --checkUpdate a specific release to the latest version:
grpm update --repo <owner>/<repo> --latest| Flag | Short | Type | Description |
|---|---|---|---|
--repo |
-r |
string | Repository name (owner/repo) |
--latest |
-l |
bool | Update to the latest version |
--check |
-c |
bool | Check if update is available |
--force |
-f |
bool | Skip confirmation prompts |
Remove an installed release:
grpm remove --repo <owner>/<repo>| Flag | Short | Type | Description |
|---|---|---|---|
--repo |
-r |
string | Repository name (owner/repo) |
Clear the search cache:
grpm cache --clear| Flag | Short | Type | Description |
|---|---|---|---|
--clear |
-c |
bool | Clear all cached data |
- Fork the repository
- Create a feature branch
- Make your changes
- Submit a pull request
MIT License