A fast, cross-platform Terminal User Interface (TUI) package manager. Manage packages across multiple backends with a unified, responsive interface.
- β‘ Fast startup - Direct file parsing and efficient CLI wrapping
- π Telescope-style search - Live fuzzy search through packages
- π¦ Multi-backend support - pacman/AUR, dpkg/apt, Homebrew, Flatpak, Snap, npm
- π Security-first - GPG signing, automated vulnerability scanning
- π Clean interface - Table view with virtual scrolling, visual indicators for updates and frozen packages
- β‘ Privilege escalation - PolicyKit integration with sudo fallback
- π¨ Command palette - Quick access to all features (Ctrl+k/Ctrl+k)
| Platform | Backend |
|---|---|
| Arch Linux | pacman/AUR |
| Debian/Ubuntu | dpkg/apt |
| macOS | Homebrew (formulae + casks) |
| Linux | Flatpak |
| Linux | Snap |
| All platforms | npm (global) |
Via AUR:
yay -S pkgmate-bin
# or
paru -S pkgmate-binManual:
curl -LO https://github.com/fuad-daoud/pkgmate/releases/latest/download/pkgmate-linux-amd64.tar.gz
tar -xzf pkgmate-linux-amd64.tar.gz
sudo install -m 755 pkgmate /usr/local/bin/Via APT repository:
# Add repository
curl -fsSL https://fuad-daoud.github.io/pkgmate/public-key.asc | sudo gpg --dearmor -o /usr/share/keyrings/pkgmate.gpg
echo "deb [signed-by=/usr/share/keyrings/pkgmate.gpg] https://fuad-daoud.github.io/pkgmate/ stable main" | sudo tee /etc/apt/sources.list.d/pkgmate.list
# Install
sudo apt update
sudo apt install pkgmateManual .deb:
curl -LO https://github.com/fuad-daoud/pkgmate/releases/latest/download/pkgmate_linux_amd64.deb
sudo dpkg -i pkgmate_*_linux_amd64.debVia Homebrew:
brew tap fuad-daoud/pkgmate
brew install pkgmateManual:
curl -LO https://github.com/fuad-daoud/pkgmate/releases/latest/download/pkgmate-darwin-universal.tar.gz
tar -xzf pkgmate-darwin-universal.tar.gz
sudo install -m 755 pkgmate /usr/local/bin/Requirements: Go 1.25+, build tools (base-devel on Arch, build-essential on Debian)
git clone https://github.com/fuad-daoud/pkgmate.git
cd pkgmate
# Build (detects platform automatically)
go build -o pkgmate ./main
sudo install -m 755 pkgmate /usr/local/bin/# Launch pkgmate
pkgmate
# Show version
pkgmate --versionKeyboard shortcuts:
/orCtrl+F- Search packagesTab/Shift+Tab- Switch between tabsββorj/k- Navigate packagesCtrl+PorCtrl+k- Command paletteCtrl+C- Quit
All releases are GPG signed:
# Download release and signature
curl -LO https://github.com/fuad-daoud/pkgmate/releases/latest/download/pkgmate-linux-amd64.tar.gz
curl -LO https://github.com/fuad-daoud/pkgmate/releases/latest/download/pkgmate-linux-amd64.tar.gz.sig
# Import public key
curl https://raw.githubusercontent.com/fuad-daoud/pkgmate/main/public-key.asc | gpg --import
# Verify signature
gpg --verify pkgmate-linux-amd64.tar.gz.sig pkgmate-linux-amd64.tar.gzmacOS binaries are signed with Apple Developer ID and notarized:
curl -LO https://github.com/fuad-daoud/pkgmate/releases/latest/download/pkgmate-darwin-universal.tar.gz
tar -xzf pkgmate-darwin-universal.tar.gz
# Verify code signature
codesign --verify --verbose pkgmate
# Check notarization and Gatekeeper approval
spctl -a -vv -t install pkgmate
# View signing details
codesign -dvvv pkgmateExpected output:
pkgmate: valid on disk
pkgmate: satisfies its Designated Requirement
pkgmate: accepted
source=Notarized Developer ID
The demo GIF is created using VHS:
# Install VHS
go install github.com/charmbracelet/vhs@latest
# Record demo
make demo
# Or record the full demo
make demo-full# Run with hot reload in containers
make arch # Test in Arch Linux container
make debian # Test in Debian container
make brew # Test in Homebrew container
# Build all variants
make buildAll releases undergo automated security scanning with CodeQL, gosec, and govulncheck. View scan results in Security Monitoring.
Report security issues via GitHub Security Advisories.
MIT License - see LICENSE for details.
