The universal package manager wrapper.
Uni is a CLI tool that provides a universal interface for managing packages across different package managers. It automatically detects the package manager being used in a project and uses it to execute commands.
-
Download the latest binary for your operating system from the releases page.
# For Linux curl -L -o uni https://github.com/michaelessiet/uni/releases/latest/download/uni-linux-amd64 # For macOS curl -L -o uni https://github.com/michaelessiet/uni/releases/latest/download/uni-darwin-amd64
-
Make the binary executable.
chmod +x uni
-
Move the binary to a directory in your PATH.
For macOS or Linux:
sudo mv uni /usr/local/bin/uni
You can check if
/usr/local/binis in your PATH by running:echo $PATH
If it's not, you can add it to your shell's configuration file (e.g.,
~/.zshrc,~/.bashrc).export PATH="/usr/local/bin:$PATH"
-
Clone the repo.
git clone https://github.com/michaelessiet/uni.git
-
Build the project.
./build.sh
-
Move the binary to a directory in your PATH.
# For Linux sudo mv dist/uni-linux-amd64 /usr/local/bin/uni # For macOS sudo mv dist/uni-darwin-amd64 /usr/local/bin/uni
/
├── cmd/
│ └── uni/
│ └── main.go
├── internal/
│ └── pkg/
│ ├── config.go
│ ├── detect.go
│ ├── exec.go
│ ├── help.go
│ ├── init.go
│ ├── search.go
│ ├── types.go
│ └── utils.go
├── dist/ # This directory will be created when you run the build script
├── build.sh
├── go.mod
├── go.sum
└── readme.md
This project uses Semantic Versioning. To create a new version, create a new git tag and push it to the remote repository.
git tag -a v1.0.0 -m "Release version 1.0.0"
git push origin v1.0.0To publish a new version of the binaries, create a new release on the releases page.
- Make sure you have created and pushed a new git tag.
- Run the
build.shscript to create the binaries. - Create a new release on GitHub.
- Upload the binaries from the
distdirectory to the release.