https://github.com/iskorotkov/package-manager-cli
Package manager for GitHub releases
https://github.com/iskorotkov/package-manager-cli
cli github golang package-manager
Last synced: 2 months ago
JSON representation
Package manager for GitHub releases
- Host: GitHub
- URL: https://github.com/iskorotkov/package-manager-cli
- Owner: iskorotkov
- Created: 2021-10-07T18:12:47.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2023-03-06T23:29:13.000Z (over 3 years ago)
- Last Synced: 2025-03-05T02:36:26.722Z (over 1 year ago)
- Topics: cli, github, golang, package-manager
- Language: Go
- Homepage:
- Size: 121 KB
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Package Manager CLI
Package manager for installing GitHub releases.
It's a CLI tool that lets you search and install other CLI tools from GitHub from your console.
If you need to get the latest version of `k9s`, `buf`, `kubectx`, `minikube`, `legendary` or other package, you don't have to make changes to system installation (which may not be possible) or search for the latest release on GitHub, select a correct file for your OS/architecture, manually extract and install it.
All you have to do is to use `pmcli install minikube`, and it's done!
## Installation
1. Download `pmcli` from releases page and place it in `~/.local/share/bin` folder.
2. Run `chmod +x ~/.local/share/bin/pmcli` to make file executable.
3. Run `pmcli` to make sure everything is working.
NOTE: Make sure that `~/.local/share/bin` is added to `PATH` environment variable.
## Usage
Search for minikube on GitHub:
```shell
pmcli search minikube
```
---
See info about minikube package:
```shell
pmcli info minikube
```
NOTE: It internally makes a search request, takes the first match (i. e. what GitHub considers to be the best match) and shows info about it.
---
Install minikube for your OS/arch:
```shell
pmcli install minikube
```
NOTE: It internally makes a search request, takes the first match (i. e. what GitHub considers to be the best match) and installs the latest release.
NOTE: It extracts .tar.gz archive if necessary, then creates symlinks to binaries in ~/.local/share/bin folder. It can skip a binary file if it already exist there.
NOTE: You can use `pmcli install {owner}/{repo}` instead of shorter version `pmcli install {repo}` if the latter doesn't pick the correct repo.
---
Uninstall minikube package (if it's installed):
```shell
pmcli uninstall minikube
```
---
List installed packages:
```shell
pmcli list
```
## Configuration
See `internal/keys/keys.go` for all values that can be configured via environment variables.
## Bugs, ideas and contribution
If you've encountered a bug or want to request a feature, feel free to open an issue on GitHub.